Friend Santa Claus, please take care of yourself, I'm changing my Christmas request so that you and yours are safe and well! Don't worry about my request.
Thanks.
I've managed to use MSR UI on iOS devices to some degree*, so that although UI elements (e.g. rule sets) are not visible in portrait mode, you've seen them in landscape. Now with recents builds (24302) this does not work anymore, elements (rule sets, entities) are not anymore visible in landscape mode.
Does anyone have similar experiences? Using iOS 18 and Safari/Chrome browser.
( *Drag & drop of rule conditions have never worked on a mobile)
Hi All
Hopefully this place looks like a helpful forum as I’m quite new to all this!
I’ve had a few devices all working separately /through their proprietary apps but we’re just finishing off a large house extension and this has added to the list.
I’d ideally like to be able to view/switch a number of different devices on one screen/head end but have no idea where to start.
The devices we have/will have shortly are as follows;
Zigbee Smart Sockets
Zigbee smart switches (for lights)
Heatmiser Neo Underfloor Heating (this runs from a Samsung ASHP but that part is automatic)
Samsung VRF air conditioning (currently using Smart Things App)
Hive (2xLTHW heating circuits in the existing house and Hot Water)
Ring (doorbell!)
Hik Vision PoE CCTV
We have lots of appliances (Neff N70) which we can control remotely but not too fussed about controlling those at the
Moment)
Any help/recommendations would be appreciated!
Thanks
Adrian
After a major hassle got z-way running on my ubuntu 16 VM with a USB pasthough UZB1 stick including license and connected to Vera...
I see:
I also see:
0d6e8c78-c8cd-4307-9474-23e0d6a55094-image.png
But how do I update that?
e09ffa19-a31d-4a03-8983-01228bc5478f-image.png
I have a legacy home automation set-up running on Windows XP. the computer and software have now died.
I have written a very nice Excel VBA program to replace the software and it can run on any modern Windows system.
My only remaining problem is to output the correct signal to a USB port to trigger the wireless switches.
Has anybody done a similar exercise. Please help.
The locksmith is trying to persuade me to purchase the BE-TECH K35 touchscreen lock with both Wi-Fi and Bluetooth, claiming it's better than the Yale Assure Lock 2. What are your thoughts on this? Which one would you recommend?
Here is the link to the Chinese brand BE-TECH: BE-TECH Smart Deadbolt K3S.
The other smart lock I am considering is the Schlage Encode Plus.
Thank you!
Hi @toggledbits,
I have lots of logs with this:
<Engine:ERR> Assignment to alarm ignored -- expression-driven global cannot be set by assignmentAny hints to where look at to avoid this? Thanks.
Hi @toggledbits
I'd like to update my controllers with these new features, but I'm struggling to find any guidance in the docs - and in general to understand the context.
Could you please elaborate more? Thanks.
Hi All,
Kind of new to Home Automation. Started off Using Amazon Echo units and added a Samsung SmartThings hub. I have mostly been using plug in modules for turning lights on and off. I live in a very rural area where the internet goes out a lot. I eventually want to change to to a non internet Hub so things will work without needing an internet connection. But I will post with those questions at a later date.
So, the task at hand is this: I have flood lights at each corner of my house. They are currently controlled by switches at the front and back doors. I would like to add Security Cameras to each corner also. I can easily find small Wifi switches to put into the electrical box where the flood lights are located, then I can terminate the leads together behind the Decora switch to have constant power. Then I can use the constant power up at the lights electrical box to power the security cameras. I would also like to have a wireless switch to take the place of the Decora switch to be able to turn the lights off and on.
I cannot seem to find a product like this. It seems I can find the small wired in switch boxes that will also come with external smart wall switches, but the wall switches are an external box that does not fit in or cover the existing Wall switch electrical box. I can also find Wireless Decora switches that come with a remote wired in small switch box , but they all seem to be RF and do not integrate with a Smart Hub.
I am hoping someone here knows of a product that matches what I am looking for. Any help would be appreciated.
Also any recommendations for Wireless Security cameras are welcome.
Thanks for any help.
Hello,
I have a fresh openluup install on a raspberry.
Just installed "Vera Bridge" plugin, but I can't make it to work.
The plugin can not load the device infos from the vera.
This is what I can see in the OpenLuup log :
openLuup.client:: WGET error status: -1, request: http://192.168.1.2/port_3480/data_request?id=user_data2&output_format=json&ns=1
I have tried it from a console on the same raspberry this way :
wget http://192.168.1.2:3480/data_request?id=user_data2&output_format=json&ns=1
It worked, so I think it's not credential or network issue.
What can be the solution for this ?
more openluup log :
408 lines, 1 error, max gap 61s @ 2022-08-12 20:51:01.568
2022-08-12 19:21:24.150 :: openLuup LOG ROTATION :: (runtime 0.0 days)
2022-08-12 19:21:24.154 openLuup.init:: init phase completed
2022-08-12 19:21:24.155 openLuup.io.server:: starting HTTP:3480 server on port: 3480 tcp{server}: 0x1c48ee8
2022-08-12 19:21:24.157 openLuup.io.server:: starting SMTP server on port: 2525 tcp{server}: 0x1b461d8
2022-08-12 19:21:24.158 openLuup.io.server:: starting POP3 server on port: 11011 tcp{server}: 0x1b48780
2022-08-12 19:21:24.158 openLuup.historian:: starting data historian
2022-08-12 19:21:24.159 openLuup.historian:: using memory cache size (per-variable): 1024
2022-08-12 19:21:24.168 openLuup.scheduler:: starting
2022-08-12 19:21:24.169 openLuup.scheduler:: [2] openLuup device startup
2022-08-12 19:21:24.170 luup_log:2: v22.7.31
2022-08-12 19:21:24.171 luup_log:2: sync in 35.8 s
2022-08-12 19:21:24.190 luup.variable_watch:: callback=housemode_watcher, watching=2.openLuup.HouseMode
2022-08-12 19:21:24.191 luup.register_handler:: global_function_name=openLuup_email, request=openLuup@openLuup.local
2022-08-12 19:21:24.191 luup.register_handler:: global_function_name=openLuup_images, request=images@openLuup.local
2022-08-12 19:21:24.192 luup.register_handler:: global_function_name=openLuup_events, request=events@openLuup.local
2022-08-12 19:21:24.192 luup.register_handler:: global_function_name=openLuup_mailbox, request=mail@openLuup.local
2022-08-12 19:21:24.193 luup.chdev.append:: [AltAppStore] Alternate App Store
2022-08-12 19:21:24.193 luup.chdev.sync:: [2] openLuup, syncing children
2022-08-12 19:21:24.194 luup_log:2: starting MQTT $SYS/broker statistics
2022-08-12 19:21:24.196 luup_log:2: 3Mb, 2.1%cpu, 0.0days
2022-08-12 19:21:24.211 openLuup.scheduler:: [2] openLuup device startup completed: status=true, msg=sync in 35.8 s, name=L_openLuup
2022-08-12 19:21:24.212 openLuup.scheduler:: [3] Alternate UI device startup
2022-08-12 19:21:24.212 luup_log:3: ALTUI: initstatus(3) starting version: v2.54
2022-08-12 19:21:24.214 openLuup.scheduler:: [3] Alternate UI device startup completed: status=, msg=, name=
2022-08-12 19:21:24.214 openLuup.scheduler:: [7] VeraBridge device startup
2022-08-12 19:21:24.215 luup_log:7: VeraBridge
2022-08-12 19:21:24.215 luup_log:7: 2021.01.03
2022-08-12 19:21:24.216 luup_log:7: 192.168.1.2
2022-08-12 19:21:24.216 luup_log:7: device clone numbering starts at 10000
2022-08-12 19:21:24.217 luup_log:7: VeraBridge maps remote Zwave controller
2022-08-12 19:21:24.218 luup_log:7: v21.1.3
2022-08-12 19:21:24.242 openLuup.client:: WGET error status: -1, request: http://192.168.1.2/port_3480/data_request?id=user_data2&output_format=json&ns=1
2022-08-12 19:21:24.242 luup.set_failure:: status = 2
2022-08-12 19:21:24.243 luup.variable_set:: 7.urn:micasaverde-com:serviceId:HaDevice1.CommFailure was: 2 now: 2 #hooks:0
2022-08-12 19:21:24.244 luup.variable_set:: 7.urn:micasaverde-com:serviceId:HaDevice1.CommFailureTime was: 1660323316 now: 1660324884 #hooks:0
2022-08-12 19:21:24.246 luup_log:7: registering with AltUI [3] as Data Storage Provider
2022-08-12 19:21:24.247 luup.register_handler:: global_function_name=HTTP_VeraBridgeMirror_192.168.1.2, request=HTTP_VeraBridgeMirror_192.168.1.2
2022-08-12 19:21:24.249 luup.call_action:: 3.urn:upnp-org:serviceId:altui1.RegisterDataProvider
2022-08-12 19:21:24.260 openLuup.scheduler:: [7] VeraBridge device startup completed: status=, msg=No Vera, name=VeraBridge
2022-08-12 19:21:24.261 openLuup.scheduler:: [4] Alternate App Store device startup
2022-08-12 19:21:24.261 luup_log:4: AltAppStore : starting...
2022-08-12 19:21:24.262 luup.variable_set:: 4.urn:upnp-org:serviceId:altui1.DisplayLine1 was: AltAppStore now: AltAppStore #hooks:0
2022-08-12 19:21:24.263 luup.variable_set:: 4.urn:upnp-org:serviceId:altui1.DisplayLine2 was: now: #hooks:0
2022-08-12 19:21:24.264 luup_log:4: AltAppStore : v20.3.30
2022-08-12 19:21:24.264 luup.set_failure:: status = 0
2022-08-12 19:21:24.265 luup.variable_set:: 4.urn:micasaverde-com:serviceId:HaDevice1.CommFailure was: 0 now: 0 #hooks:0
2022-08-12 19:21:24.266 luup.variable_set:: 4.urn:micasaverde-com:serviceId:HaDevice1.CommFailureTime was: 0 now: 0 #hooks:0
2022-08-12 19:21:24.267 openLuup.scheduler:: [4] Alternate App Store device startup completed: status=true, msg=OK, name=AltAppStore
2022-08-12 19:21:24.268 openLuup.scheduler:: [5] Harmony Hub Control device startup
2022-08-12 19:21:24.280 luup.variable_set:: 5.urn:rboer-com:serviceId:Harmony1.LinkStatus was: Ok now: Starting... #hooks:0
2022-08-12 19:21:24.281 luup.variable_set:: 5.urn:rboer-com:serviceId:Harmony1.IconSet was: 0 now: 3 #hooks:0
2022-08-12 19:21:24.282 luup.attr_set:: 5.altid = HAM5_CNTRL
2022-08-12 19:21:24.326 luup.set_failure:: status = 0
2022-08-12 19:21:24.326 luup.variable_set:: 5.urn:micasaverde-com:serviceId:HaDevice1.CommFailure was: 0 now: 0 #hooks:0
2022-08-12 19:21:24.327 luup.variable_set:: 5.urn:micasaverde-com:serviceId:HaDevice1.CommFailureTime was: 0 now: 0 #hooks:0
2022-08-12 19:21:24.328 openLuup.scheduler:: [5] Harmony Hub Control device startup completed: status=true, msg=OK, name=Harmony Control
2022-08-12 19:21:24.332 luup_log:3: ALTUI: UPNPregisterDataProvider(3,Vera@192.168.1.2,http://127.0.0.1:3480/data_request?id=lr_HTTP_VeraBridgeMirror_192.168.1.2,[{
"default":"device.serviceId.name",
"key":"mirror",
"label":"Mirror",
"type":"text"
}])
2022-08-12 19:21:24.337 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.DataStorageProviders was: {"emoncms":{"url":"","callback":"sendValueToStorage_emoncms","parameters":[{"default":1,"type":"number","key":"node... now: {"Vera@192.168.1.2":{"url":"http://127.0.0.1:3480/data_request?id=lr_HTTP_VeraBridgeMirror_192.168.1.2","callback":... #hooks:0
2022-08-12 19:21:24.360 openLuup.io.server:: HTTP:3480 connection from 192.168.1.24 tcp{client}: 0x1d21868
2022-08-12 19:21:24.363 openLuup.server:: GET /data_request?id=lu_status2&output_format=json&DataVersion=323312852&Timeout=60&MinimumDelay=1500&=1660323303557 HTTP/1.1 tcp{client}: 0x1d21868
2022-08-12 19:21:24.646 openLuup.server:: request completed (34267 bytes, 3 chunks, 280 ms) tcp{client}: 0x1d21868
2022-08-12 19:21:24.648 openLuup.io.server:: HTTP:3480 connection from 192.168.1.24 tcp{client}: 0x1d6a9b0
2022-08-12 19:21:24.661 openLuup.server:: GET /data_request?id=user_data&output_format=json&DataVersion=323312340&=1660323303558 HTTP/1.1 tcp{client}: 0x1d21868
2022-08-12 19:21:25.252 openLuup.server:: request completed (70135 bytes, 5 chunks, 588 ms) tcp{client}: 0x1d21868
2022-08-12 19:21:25.253 luup_log:3: ALTUI: startupDeferred, called on behalf of device:3
2022-08-12 19:21:25.338 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.Version was: v2.54 now: v2.54 #hooks:0
2022-08-12 19:21:25.934 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.DataStorageProviders was: {"Vera@192.168.1.2":{"url":"http://127.0.0.1:3480/data_request?id=lr_HTTP_VeraBridgeMirror_192.168.1.2","callback":... now: {"thingspeak":{"url":"","callback":"sendValueToStorage_thingspeak","parameters":[{"type":"number","key":"channelid"... #hooks:0
2022-08-12 19:21:25.964 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.DataStorageProviders was: {"thingspeak":{"url":"","callback":"sendValueToStorage_thingspeak","parameters":[{"type":"number","key":"channelid"... now: {"emoncms":{"url":"","callback":"sendValueToStorage_emoncms","parameters":[{"default":1,"type":"number","key":"node... #hooks:0
2022-08-12 19:21:25.996 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.DataStorageProviders was: {"emoncms":{"url":"","callback":"sendValueToStorage_emoncms","parameters":[{"default":1,"type":"number","key":"node... now: {"emoncms":{"url":"","callback":"sendValueToStorage_emoncms","parameters":[{"default":1,"type":"number","key":"node... #hooks:0
2022-08-12 19:21:25.999 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.VariablesToSend was: now: #hooks:0
2022-08-12 19:21:26.009 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.RemoteVariablesToWatch was: now: #hooks:0
2022-08-12 19:21:26.010 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.VariablesToWatch was: now: #hooks:0
2022-08-12 19:21:26.012 luup.variable_set:: 3.urn:upnp-org:serviceId:altui1.Timers was: [] now: [] #hooks:0
2022-08-12 19:21:26.013 luup_log:3: ALTUI: Wkflow - enableWorkflows(3,0,0)
Thank You.
d.
I have the following ACL defined:
groups: admin: users: - admin applications: true api_acls: # This ACL allows users in the "admin" group to access the API - url: "/api" group: admin allow: true log: true # This ACL allows anyone/thing to access the /api/v1/alive API endpoint - url: "/api/v1/alive" allow: trueAnd I have authenticated to MSR as "admin" user. However, I'm getting "access denied" when trying to access http://*******:8111/api/v1/log
So what I'm missing, is my ACL incorrectly defined?
Using build 24302 on Docker.
Sorry if this has been covered before, just curious why triggers in openluup are not consistent..
I looked at a scene i’d created a while back via ALTUI using the Console view and noticed it didn’t show any Triggers, which was strange as it was my main front door event 🙂 . So I added the door tripped trigger again, but I’ve just noticed I now how two tiggers using this view.
25bfe00a-d63e-4dc1-a501-23e779c64379-image.png
In ALTUI it shows this.
I have an oven that I need to manage the temperature of, keeping it in the neighborhood of 600° C (1100° F). I have not been able to find a Zigbee-enabled solution to measure temps that high. Does anyone know if such a thing exists? If not, any ideas for how to roll a custom solution that I could integrate into a Sonoff ihost controller? I have no trouble finding high temperature probes, but none of them interface with my automation stack.
Thanks to @toggledbits for adding a custom CSS. I've started doing a darker Reactor style.
Here's the file: https://gist.github.com/dbochicchio/825098ac13b7f8cac22012eae37ff7ce
A couple of things are still too bright and I'll eventually catch-up. Just place it under your /config directory, naming the file as customstyles.css. Hard refresh your browser.
AK. Was doing an openLuup install and the installer errored with:
openLuup_install 2019.02.15 @akbooer getting openLuup version tar file from GitHub branch master... un-zipping download files... getting dkjson.lua... lua5.1: openLuup_install.lua:45: GitHub download failed with code 500 stack traceback: [C]: in function 'assert' openLuup_install.lua:45: in main chunk [C]: ?The installer code was executing this URL:
http://dkolf.de/src/dkjson-lua.fsl/raw/dkjson.lua?name=16cbc26080996d9da827df42cb0844a25518eeb3Running it manually gives:
dkolf.de The script could not be run error-free. Please check your error log file for the exact error message. You can find this in the KIS under "Product Management > *YOUR PRODUCT* > *CONFYGUAR* > Logfiles". Further information can be found in our FAQ. The script could not be executed correctly. Please refer to your error log for details about this error. You find it in your KIS under item "Product Admin > *YOUR PRODUCT* > *CONFIGURE* > Logfiles". Further information can also be found in our FAQ.I'm thinking the dkjson code URL has been changed. On dkolf.de there is a download link:
http://dkolf.de/dkjson-lua/dkjson-2.8.luaand dkjson code also seems to be in GitHub (I presume this is the same code?):
https://github.com/LuaDist/dkjson/blob/master/dkjson.luaI'm don't know what dkolf.de looked like previously but I do see the dkjson code has been updated as of 2024-06-17. Hope this helps.
Oh - and by the way the dkjson.lua file seems to have been downloaded OK by the installer - error or no error, so go figure.
Dear Forum,
I am just starting a smart home system. I've wanted to do this for 10 years at most and really would like to get a start. What I have are a couple of SONOFF wifi relays, some 433 (Hz/mHz) switches ( not wifi ) a couple of wifi lightbulbs, and I'd like to expand wifi thermostat, leak/water detectors, garage door openers and what ever else I can think of.
In the SONOFF items I have it's a particular app, the wifi bulbs are another app, and if I do a thermostat there might be another app. My wife is not a Luddite but she damn sure doesn't want to have to trouble shoot if/why a particular app breaks down.
So in what I do understand about smart home things is that I need/want a HUB. I spent 15 years doing some programming so I do have some computer ability, though I'd prefer to stay away from HAVING to line command operate the hub.
I would like a list of HUB's that people have found to be the best. Even better are links to let's say Amazon for that hub.
Regards from Noob Smart Home,
Barry
Hi!
In Home Assistant I sometimes uses the TTS, either to my Sonos or Google speakers. With reactor in Vera I also use TTS.
But in MSR I can't select the TTS-service. It's simply not there. Am I missing something, or is this the case, so far?
Thanks!
/Fanan
It’s been a while since I looked at openLuup as it had been running nicely and quietly in the background doing some basic tasks. With my VeraPlus looking like it’s finally succumbing to old age, I want to shift a number of the global module I have over to openLuup.
To do this, I have added the files (example would be xxpushover.lua to the cmh-ludl folder and the following to the startup
require “xxpushover”
The xxpushover.lua file itself starts with the following..
module("xxpushover", package.seeall)
And I always have a line in these files to allow me to check it’s been read in the start up related logs, which in this case it is..
The challenge I’m having is that when I try to call any of the functions within the module, it returns the following error..
"[string "ALTUI - LuaRunHandler"]:1: attempt to index global 'xxpushover' (a nil value)”
I’m no doubt missing something obvious, can anyone help me find out what it is ? Many thanks
Hi
I have just connected a bunch of EzloPi controllers to MSR to import some ESP based devices etc.
They all seemed to have worked and imported in to MSR apart from I have one missing device. It is a Digital Gas Sensor device.
This is how that device looks in the Ezlo API.
Devices Info:
_id: "10696001" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "level_sensor" subcategory: "" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Digital" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696001" deviceId: "10696001" hasGetter: true hasSetter: false name: "smoke_density" show: true valueType: "substance_amount" scale: "parts_per_million" value: 2.7472610473632812 valueFormatted: "2.75" status: "idle"There is also an Analog Gas sensor that one did import in to MSR OK.
68d63dab-b871-4f44-912b-cf6e0b9eb4c6-image.png
Devices Info:
_id: "10696000" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "security_sensor" subcategory: "gas" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Analog" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696000" deviceId: "10696000" hasGetter: true hasSetter: false name: "gas_alarm" show: true valueType: "token" enum: 0: "no_gas" 1: "combustible_gas_detected" 2: "toxic_gas_detected" 3: "unknown" valueFormatted: "no_gas" value: "no_gas" status: "idle"And this is how this MQ2 Gas Sensor looks like on their dashboard:
Digital
cb77dfa3-4af5-4d06-9635-89207a716a89-image.png
Analog
4fb4da1b-e946-4b89-876c-bcd9f5699b6c-image.png
They have an EzloPi website here you can create your own sensor projects using ESP boards, which is very interesting stuff!
And I just wrote on the Ezlo forum here, how to connect an EzloPi controller to MSR.
THANKS.
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here.
Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.A couple of things for you @toggledbits, since you mentioned that this release has new features and some tweaks are expected.
Local expressions cannot be deleted. Pushing the X button has no effect for me.
When cloning an entity action, the result is strange (first is cloned one, second is the original action):
a92ea094-9e2c-4aaa-bf47-2d07a6ffdbd0-image.png
When changing the action on the cloned element, the params are added to the original one. See screenshot:
92ac3011-83c8-466b-bd23-47d483ad7a52-image.png
Dark theme has a couple of strange contrasts. One is visible in the previous screenshots (white text on yellow background). Another one is in groups (blue text on blue background):
9b3c4988-53ef-44e6-9672-30e744cacb75-image.png
Overall, I found blue, yellow, red and green (in buttons and forms) to be too bright.
On the bright side:
I love the new script action: thank you! The dark theme is a great start to avoid getting blinded at night I promise I'll try very soon the new features around actions. Thanks!Friend Santa Claus, please take care of yourself, I'm changing my Christmas request so that you and yours are safe and well! Don't worry about my request.
Thanks.
Instead of an icon in the widget, you could use the MSR Tools group to access these log files.
Thanks
As always, you are very quick and attentive; thank you.
The point I mentioned about Windget having an icon to open plain text would be to show the log file in a browser. To see this file today, I have to use PuTTY, log in to my VM, search for the directory, and then open the file with Nano.
I wanted a faster way to view the file in a browser without having to install Apache or a Python SimpleHTTPServer.
Thanks.
Hi!
Is it possible to generate two additional log files, the first being the replica of what is displayed on screen by the Rule History widgets and the other with Recently Changed Entities?
And could I configure the generation of one file per day, and delete the older ones? For example, store the last 5 days?
And being more ambitious, does Windget have an icon to open these TXT files in the navigated?
Well, we're approaching Christmas, so here's my request to Santa Claus @toggledbits
@toggledbits I understood, and I really understand that since the shutdown command doesn't return anything, this scenario is invalid and will remain in a constant loop.
Breaking the action as @tunnus commented doesn't work either, the effect is the same.
Ok, I'll try something then, like triggering a script that gives a return to the Reactor so that it understands that it has completed the task to continue.
Is there any chance that the shell command triggered by the reactor might not wait for a return to proceed?
Thank you.
Hi, @toggledbits!
I have a question about the execution behavior. See the code below, and I'll explain the situation.
This is a routine that, at a certain point, determines that the desktop on which the VM hosting the Reactor is located receives an instruction to perform a shutdown (Shell Command).
When this happens, the desktop is turned off, and then Hubitat detects by a "ping" that the VM has been down, waits 15 seconds, turns off the power to this desktop, and then 15 seconds later turns on the desktop with the Reactor VM again.
After restarting the desktop, the VM is loaded, and the Reactor is triggered. Still, the following problem occurs: I expected that when the rule was continued to be executed again, the next step would be executed, that of the 900-second delay after shutdown, but the Shell command is executed again, and then it goes into a loop, the rule does not advance.
To break the loop, I first have to make the VM not load, change the desktop password, and then start the VM. In this case, Reactor generates an error when trying to execute the Shell Command because of the invalid password and then finishes the routine following the 900 delay step.
Is my interpretation that when it returns, the routine should continue to the next step that has not yet been executed incorrectly? Or does Reactor, through the shutdown command, interpret that it hasn't finished this step and keep trying, which is the correct reaction?
Thanks for clarifying.
@toggledbits I was thinking of the list of running tasks as "Set Rules", a simple way of having this query.
Hi @toggledbits
Is the wish list still open? Is this information that appears in widgets stored in some attribute/element that we can access to use in rules? Or even demonstrate for example in a dashboard in Hubitat?
Thanks!
Just for the record, I have not been able to generate log evidence of the perception I have that there really is a failure in my rules, after the most recent updates (current version HE 2.3.7.141). I see that the delay has increased, or even rules have stopped responding, and I have to force the device to update the status. So, I disabled probe_device a long time ago, and I've enabled it again to see if it helps my perception. I'm still looking at the logs to see if I can detect anything. Thanks.
Super thanks for the master class!!!!
Well, I've just solved my problem, whether it's the right way or not I can't say, but it was brute force, I used the "which node" command, I located all the directories regardless of version and deleted them (rm node -r), this while being root. Then I did a fresh install solved.
I think we all have a similar problem. My step-by-step was as follows.
sudo apt remove nodejs
sudo apt remove npm
sudo apt autoremove
sudo apt purge nodejs
sudo apt purge npm
sudo apt autoremove
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=20
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y
Now comes the very rare story, if I'm not as toot I get this information.
node -v
v20.10.0
npm -v
10.2.3
PERFECT!!
But after the su --, I become root and the version that comes is 12? and then I really don't understand. I did the tasks like this, as root and without root, in the same way.
If any expert can help me understand this madness.
Thanks.
Hi @toggledbits
Sorry for using this post, but by giving this instruction, you helped me a lot to find the error.
Is there a way to configure logging.yaml to generate specific files for event types? For example, a file to store only logs that are ERR, another file to have Rule:INFO, or Rule:NOTICE?
I don't want to do without the general file, but if I could create some especially to only show ERR, it could make it easier to maintain the system on a recurring basis.
Any recommendations?
Thanks.
Thank you very much for your explanation. I've tried several ways to configure the phone number or user, without success, but as you say, I think this tool should really be abandoned.
I understand that it's good, because we often don't pay attention to messages, and a phone call is much more useful.
But this change to making calls without an API KEY is really bad, and your decision is totally reasonable.
Thanks.
Hi @toggledbits
First, thank you for your guidance, and see below for the log I've obtained.
[latest-23302]2023-11-15T14:27:47.501Z <NotifyCallMeBot:5:NotifyCallMeBot.js:108> [NotifyCallMeBot]NotifyCallMeBot requesting http://api.callmebot.com/start.php?text=novo%20teste%20para%20numero%20do%20telefone&phone=%2B507xxxxxx33&lang=en-US-Standard-C
[latest-23302]2023-11-15T14:27:48.125Z <NotifyCallMeBot:5:NotifyCallMeBot.js:117> [NotifyCallMeBot]NotifyCallMeBot success 200 OK
If I compare the calls made in MSR with the ones I make directly, there are small differences. The point is that the MSR one isn't working and the direct one is.
MSR NOTIFY CALLMEBOT
http://api.callmebot.com/start.php?text=NEW%20TEST%20NOTIFY&phone=%2B507xxxxxx33&lang=en-US-Standard-C
DIRECT SITE
http://api.callmebot.com/start.php?source=web&user=+507xxxxxx33&text=NEW%20TEST%20NOTIFY&lang=en-US-Standard-C
What I'm checking is that if I configure the phone in this way:
phone: +507xxxxxx33
the call appears like this - no + in front the number
&phone=507xxxxxx33&
if I configure it like this
phone: "+507xxxxxx33"
the call looks like this - between hasps - I have the %2B
&phone=%2B507xxxxxx33&
When I use the direct browser call
http://api.callmebot.com/start.php?text=NEW%20TEST%20NOTIFY%205&source=web&phone=%2B507xxxxxx33&lang=en-US-Standard-C&rpt=2
Back
Than I change phone to user and add +, work:
http://api.callmebot.com/start.php?text=NEW%20TEST%20NOTIFY%205&source=web&user=+507xxxxxx33&lang=en-US-Standard-C&rpt=2
What I don't understand is that in all the tests, the log always comes back successful.
[latest-23302]2023-11-15T14:57:42.938Z <NotifyCallMeBot:5:NotifyCallMeBot.js:117> [NotifyCallMeBot]NotifyCallMeBot success 200 OK
At the end of the day, if I try to use my @wilxxxxxin username, the call is linked to my old phone, even though I've already changed it on Telegram. In this case, I've already sent a mail to CallMeBot support with no reply for over a week.
Using the phone, which is authorized, the direct call works in the browser or using HTTP in MSR, if I use the Notify feature it doesn't work.
And what bothers me the most is that I understand that anyone who places a call in a browser with my phone number will be made, because there is no API KEY to limit use.
Well, if you have any more ideas to help me, I'd appreciate it.
I still can't understand what's going on, in theory I'm following everything that the manual says, but for some reason when I change the phone number, @username no longer works, test calling http directly or even the CallMeBot test site doesn't work.
However, if I use the phone number, test it by calling the CallMeBot test site, or use this routine in MSR, it works perfectly.
Direct nagigator:
http://api.callmebot.com/start.php?source=web&user=+507XXXXXXXX&text=teste pela api&lang=en-US-Standard-B
The MSR configuration is the one you mentioned, which I have below, but instead of user I have phone
# CallMeBot
CallMeBot:
profiles:
default:
# description - A friendly description of this profile (for menus)
description: Default Profile
#
# api_url - Access URL for CallMeBot API being used
api_url: http://api.callmebot.com/start.php
#
# phone - (if needed) Phone field for some APIs. If yours does not require
# it, leave it commented out or blank.
phone: "+507XXXXXXXX"
And in this situation it doesn't work.
As I mentioned by user, there's something blocking it from working, no matter if it's through the CallMeBot website, direct http or MSR. In the case of using a phone number, it works via the CallMeBot website, it works via http calling directly in the browser or via the routine I put in the MSR. However, using MSR Notification with the above configuration doesn't work.
Could @toggledbits check if the call is in this structure?
http://api.callmebot.com/start.php?source=web&user=<+phone>&text=<text>&lang=en-US-Standard-B
Another rare occurrence is that no logs are being generated in reactor.log.
Thanks.
@toggledbits hi!
I used CallMeBot normally until I changed my phone number, and then I looked up where to generate the new API KEY, and I couldn't find it. So I chose to use the phone number only, and it didn't work. If I execute the command via HTTP on the MSR, it works perfectly. Strange as I said, there is no error message in the logs.
Now you mention voice in Telegram, I didn't know about that. Do you have any recommended material or examples of how to use it?
Thank you.
Hi @toggledbits
Apparently, there have been some changes to the CallMeBot interface, as the service recently stopped working for me. I've tried several configurations, and none of the ones below are working.
# CallMeBot
CallMeBot:
profiles:
default:
# description - A friendly description of this profile (for menus)
description: Default Profile New
#
# api_url - Access URL for CallMeBot API being used
api_url: http://api.callmebot.com/start.php
#
# api_key - (if needed) API key (use for Facebook API, WhatsApp API, etc.).
# If the API you are using does not require it, leave it
# commented out or blank.
api_key: "177xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTGk"
#
# source - (if needed) Source field for some APIs. If yours does not require
# it, leave it commented out or blank.
#source: "source-value"
#
# phone - (if needed) Phone field for some APIs. If yours does not require
# it, leave it commented out or blank.
phone: "+5xxxxxxxx33"
#
# user - (if needed) User field for some APIs. If yours does not require
# it, leave it commented out or blank.
#user: "@xxxxxxxxxxxxx"
#
# lang - (optional) Language/voice; default "en-US-Standard-C".
# See CallMeBot docs for possible values.
lang: "en-US-Standard-C"
#
# rpt - (optional) Number of times to repeat message; default: 1.
rpt: 2
I have already tested using the phone or the user.
Looking at the action log, I see that it starts, runs and finishes without any problems.
[latest-23302]2023-11-05T14:35:54.106Z <Engine:INFO> Enqueueing "teste<SET>" (rule-lolk0nlj:S)
[latest-23302]2023-11-05T14:35:54.108Z <Engine:NOTICE> Starting reaction teste<SET> (rule-lolk0nlj:S)
[latest-23302]2023-11-05T14:35:54.111Z <Engine:INFO> teste<SET> all actions completed.
When testing directly on the site, I see that it no longer uses API, and I haven't even found where to generate the API KEY.
http://api.callmebot.com/start.php?source=web&user=+5xxxxxxxx33&text=Teste callmebot pelo numero novo&lang=en-US-Standard-C
Please, can you advise me on what I should do to solve the problem?
Thanks.
Super!! The comment "range operator" opened a window for me I didn't know about this facility.
join((each i in 6..0 :
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[i],8,2),
if HistPrecipitation.daily.precipitation_sum[i] <= 2
then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[i])), " ")
THANK YOU A LOT!!!
Thanks master
One more help if possible, instead of doing this absurd of code, how could I make a loop, with the count from 6 to 0, that is, regressing?
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[6],8,2),
if HistPrecipitation.daily.precipitation_sum[6] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[6]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[5],8,2),
if HistPrecipitation.daily.precipitation_sum[5] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[5]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[4],8,2),
if HistPrecipitation.daily.precipitation_sum[4] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[4]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[3],8,2),
if HistPrecipitation.daily.precipitation_sum[3] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[3]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[2],8,2),
if HistPrecipitation.daily.precipitation_sum[2] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[2]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[1],8,2),
if HistPrecipitation.daily.precipitation_sum[1] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[1]) +
format( "Dia {0} {1} {2:4.1f}mm ",
substr(HistPrecipitation.daily.time[0],8,2),
if HistPrecipitation.daily.precipitation_sum[0] <= 2 then "💦" else "🌧️" endif,
HistPrecipitation.daily.precipitation_sum[0])
Reading the manual, I understood that it could be something with each, but I couldn't create the expression.
Please, your help.
Thanks.