Issues connecting to Ezlo Controller
-
I've read the thread and the docs, thought I'd setup everything correctly, but MSR doesn't connect to my Ezlo controller.
The docs don't say what to do if you have already previously enabled anonymous access via their Online API Tool.
“offlineAnonymousAccess” and “offlineInsecureAccess” are set to true on my controller already.
In my Reactor.yaml file I decided to try it first with the username and password entries commented out and also the "set_anonymous_access: true" commented out.
I see these errors in the log file:
2021-07-16T08:53:56.225Z <app:NOTICE> Starting Structure... 2021-07-16T08:53:56.235Z <Structure:INFO> Structure#1 starting controller interface vera (VeraController) 2021-07-16T08:53:56.245Z <Structure:INFO> Structure#1 starting controller interface vera-edge (VeraController) 2021-07-16T08:53:56.248Z <Structure:INFO> Structure#1 starting controller interface ezlo (EzloController) 2021-07-16T08:53:56.250Z <Structure:INFO> Structure#1 starting controller interface weather (OWMWeatherController) 2021-07-16T08:53:56.252Z <Structure:INFO> Structure#1 starting controller interface reactor_system (SystemController) 2021-07-16T08:53:56.379Z <default:null> Module VeraController v21195 2021-07-16T08:53:56.402Z <default:null> Module OWMWeatherController v21140 2021-07-16T08:53:56.407Z <default:null> Module SystemController v21102 2021-07-16T08:53:56.419Z <VeraController:NOTICE> VeraController#vera starting 2021-07-16T08:53:56.582Z <VeraController:INFO> VeraController#vera loaded mapping ver 21177 rev 1 format 1 notice 2021-07-16T08:53:56.623Z <VeraController:NOTICE> VeraController#vera-edge starting 2021-07-16T08:53:56.629Z <Controller:CRIT> Controller: failed to load ezlo implementation file:///home/username/reactor/server/lib/EzloController.js: Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js 2021-07-16T08:53:56.632Z <Controller:CRIT> Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15) at Function.Module._load (internal/modules/cjs/loader.js:730:27) at Module.require (internal/modules/cjs/loader.js:957:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/home/username/reactor/server/lib/EzloController.js:478:84) at Module._compile (internal/modules/cjs/loader.js:1068:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10) at Module.load (internal/modules/cjs/loader.js:933:32) at Function.Module._load (internal/modules/cjs/loader.js:774:14) at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29) 2021-07-16T08:53:56.692Z <Controller:NOTICE> Controller SystemController#reactor_system is now online. 2021-07-16T08:53:56.828Z <Structure:ERR> [Structure:start] failed to start controller ezlo: Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js 2021-07-16T08:53:56.829Z <Structure:CRIT> Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15) at Function.Module._load (internal/modules/cjs/loader.js:730:27) at Module.require (internal/modules/cjs/loader.js:957:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/home/username/reactor/server/lib/EzloController.js:478:84) at Module._compile (internal/modules/cjs/loader.js:1068:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10) at Module.load (internal/modules/cjs/loader.js:933:32) at Function.Module._load (internal/modules/cjs/loader.js:774:14) at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29) 2021-07-16T08:53:56.831Z <Controller:CRIT> Controller: failed to start controller reactor_system (file:///home/username/reactor/server/lib/SystemController.js): TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) 2021-07-16T08:53:56.832Z <Controller:CRIT> TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) at Entity.setAttribute (/home/username/reactor/server/lib/Entity.js:308:19) at SystemController.run (/home/username/reactor/server/lib/SystemController.js:224:643) at /home/username/reactor/server/lib/SystemController.js:172:35 at new Promise (<anonymous>) at SystemController.start (/home/username/reactor/server/lib/SystemController.js:170:76) at /home/username/reactor/server/lib/Controller.js:273:89 2021-07-16T08:53:56.833Z <Structure:ERR> [Structure:start] failed to start controller reactor_system: TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) 2021-07-16T08:53:56.833Z <Structure:CRIT> TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) at Entity.setAttribute (/home/username/reactor/server/lib/Entity.js:308:19) at SystemController.run (/home/username/reactor/server/lib/SystemController.js:224:643) at /home/username/reactor/server/lib/SystemController.js:172:35 at new Promise (<anonymous>) at SystemController.start (/home/username/reactor/server/lib/SystemController.js:170:76) at /home/username/reactor/server/lib/Controller.js:273:89 2021-07-16T08:53:56.835Z <app:INFO> Structure running; pausing for controllers' initial ready
-
In the Reactor.yaml file I then removed the "#" next to username and password but not for "set_anonymous_access: true" and restarted MSR.
The Ezlo controller is still not seen in Entities area.
2021-07-16T09:09:11.206Z <app:NOTICE> Starting Structure... 2021-07-16T09:09:11.216Z <Structure:INFO> Structure#1 starting controller interface vera (VeraController) 2021-07-16T09:09:11.226Z <Structure:INFO> Structure#1 starting controller interface vera-edge (VeraController) 2021-07-16T09:09:11.229Z <Structure:INFO> Structure#1 starting controller interface ezlo (EzloController) 2021-07-16T09:09:11.231Z <Structure:INFO> Structure#1 starting controller interface weather (OWMWeatherController) 2021-07-16T09:09:11.233Z <Structure:INFO> Structure#1 starting controller interface reactor_system (SystemController) 2021-07-16T09:09:11.364Z <default:null> Module VeraController v21195 2021-07-16T09:09:11.386Z <default:null> Module OWMWeatherController v21140 2021-07-16T09:09:11.391Z <default:null> Module SystemController v21102 2021-07-16T09:09:11.403Z <VeraController:NOTICE> VeraController#vera starting 2021-07-16T09:09:11.574Z <VeraController:INFO> VeraController#vera loaded mapping ver 21177 rev 1 format 1 notice 2021-07-16T09:09:11.606Z <VeraController:NOTICE> VeraController#vera-edge starting 2021-07-16T09:09:11.613Z <Controller:CRIT> Controller: failed to load ezlo implementation file:///home/username/reactor/server/lib/EzloController.js: Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js 2021-07-16T09:09:11.615Z <Controller:CRIT> Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15) at Function.Module._load (internal/modules/cjs/loader.js:730:27) at Module.require (internal/modules/cjs/loader.js:957:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/home/username/reactor/server/lib/EzloController.js:478:84) at Module._compile (internal/modules/cjs/loader.js:1068:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10) at Module.load (internal/modules/cjs/loader.js:933:32) at Function.Module._load (internal/modules/cjs/loader.js:774:14) at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29) 2021-07-16T09:09:11.675Z <Controller:NOTICE> Controller SystemController#reactor_system is now online. 2021-07-16T09:09:11.804Z <Structure:ERR> [Structure:start] failed to start controller ezlo: Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js 2021-07-16T09:09:11.804Z <Structure:CRIT> Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js Error: Cannot find module 'uuid' Require stack: - /home/username/reactor/server/lib/EzloController.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15) at Function.Module._load (internal/modules/cjs/loader.js:730:27) at Module.require (internal/modules/cjs/loader.js:957:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/home/username/reactor/server/lib/EzloController.js:478:84) at Module._compile (internal/modules/cjs/loader.js:1068:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10) at Module.load (internal/modules/cjs/loader.js:933:32) at Function.Module._load (internal/modules/cjs/loader.js:774:14) at ModuleWrap.<anonymous> (internal/modules/esm/translators.js:199:29) 2021-07-16T09:09:11.806Z <Controller:CRIT> Controller: failed to start controller reactor_system (file:///home/username/reactor/server/lib/SystemController.js): TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) 2021-07-16T09:09:11.807Z <Controller:CRIT> TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) at Entity.setAttribute (/home/username/reactor/server/lib/Entity.js:308:19) at SystemController.run (/home/username/reactor/server/lib/SystemController.js:224:643) at /home/username/reactor/server/lib/SystemController.js:172:35 at new Promise (<anonymous>) at SystemController.start (/home/username/reactor/server/lib/SystemController.js:170:76) at /home/username/reactor/server/lib/Controller.js:273:89 2021-07-16T09:09:11.808Z <Structure:ERR> [Structure:start] failed to start controller reactor_system: TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) 2021-07-16T09:09:11.809Z <Structure:CRIT> TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) at Entity.setAttribute (/home/username/reactor/server/lib/Entity.js:308:19) at SystemController.run (/home/username/reactor/server/lib/SystemController.js:224:643) at /home/username/reactor/server/lib/SystemController.js:172:35 at new Promise (<anonymous>) at SystemController.start (/home/username/reactor/server/lib/SystemController.js:170:76) at /home/username/reactor/server/lib/Controller.js:273:89 2021-07-16T09:09:11.811Z <app:INFO> Structure running; pausing for controllers' initial ready
-
Finally I removed the "#" for the "set_anonymous_access: true" and restarted MSR.
The Ezlo controller is still not seen in Entities area.
Also in the docs it says:
source: "wss://192.168.1.15:17000" # change the IP address
However all my other Vera controllers have single quotes around their URL.
source: 'wss://192.168.1.15:17000' # change the IP address
I tried changing the double quotes to single quotes in my Reactor.yaml file but it made no difference.
Just thought I would point out the quotes thing.
-
Should I also see Reactor System in the Entities area?
failed to start controller reactor_system: TypeError: Can't set NaN on attribute suninfo.astronomical_dawn
Looking in my log file now I've just seen this:
<Controller:NOTICE> Controller SystemController#reactor_system is now online.
And these error:
<Controller:CRIT> Controller: failed to start controller reactor_system (file:///home/username/reactor/server/lib/SystemController.js): TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) 2021-07-16T13:17:31.337Z <Controller:CRIT> TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun) TypeError: Can't set NaN on attribute suninfo.astronomical_dawn (reactor_system>sun)
And several errors like these:
2021-07-16T13:17:35.032Z <default:ERR> [Entity:setPrimaryAttribute] Attempt to set primary to power_switch.state invalid, not in { "x_vera_device": { "device_number": 434, "device_type": "urn:schemas-upnp-org:device:RGBController:1", "parent_device": 0, "failed": --null--, "configured": --null--, "mapped_class": "rgbcontroller_plugin", "mapped_by": "*;device_type=urn:schemas-upnp-org:device:RGBController:1" }, "x_vera_svc_upnp_org_RGBController1": { }, "x_vera_svc_upnp_org_SwitchPower1": { }, "x_vera_svc_micasaverde_com_HaDevice1": { }, "x_vera_rgbcontroller_plugin": { "device_type": "FGRGBWM-441", "configured": true, "color": "#0000000000", "message": "" } } 2021-07-16T13:17:35.034Z <VeraController:ERR> VeraController#vera exception/error while updating VeraController#vera 2021-07-16T13:17:35.034Z <VeraController:CRIT> Error: Entity#vera>device_434:setPrimaryAttribute() can't set power_switch.state, not defined for entity Error: Entity#vera>device_434:setPrimaryAttribute() can't set power_switch.state, not defined for entity
-
Are you using a docker container or the archive download? If archive, I just realized I forgot to mention: do
npm update --no-save
in yourreactor
directory after unpacking. -
I am not using docker no.
I downloaded the file from the bug tracker site and ran the commands in SSH to update MSR on my Debian Linux box.
-
OK I see the Ezlo-Plus controller now in entities.
I have the username and password commented out still in my reactor.yaml file.
-
If you already have anonymous access enabled, that's fine. The instructions describe the process to get to that point, and those work whether you already have it enabled or not (i.e. cloud login and token access always work, so it's the safest path to start with). You're a step ahead of the game so you can skip that. Username and password not needed. You can also remove/comment out the
set_anonymous_access
line. -
Did your reactor_system come back? If not, check your location configuration.
-
@toggledbits said in Issues connecting to Ezlo Controller:
Did your reactor_system come back?
No its still missing from Entities.
I have never changed my location information in the reactor.yaml file since I very first started using MSR.
-
I've just created my first two Global Reactions with the Ezlo controller to change the colours on an RGB bulb, its working OK.
Its also imported all the "virtual devices" from the Ezlo Plus hubs (Rene's Vera to Ezlo bridge plugin) that was kind of expected.
I have several real Z-Wave devices paired to the Ezlo Plus hub now, so I will test out MSR with those.
Thanks
-
Getting RGB bulbs working is a great example of blind luck, since I don't have any of those connected to my eZLO (and none that I do have are supported currently--all require plugins). So that's a bit of good news!
For your reactor_system, please fetch this URL and paste output here:
http://your-msr-host-ip:8111/diag/sun
-
cw-kidreplied to toggledbits on Jul 16, 2021, 2:10 PM last edited by cw-kid Jul 16, 2021, 10:13 AM
@toggledbits said in Issues connecting to Ezlo Controller:
Getting RGB bulbs working is a great example of blind luck, since I don't have any of those connected to my eZLO (and none that I do have are supported currently--all require plugins). So that's a bit of good news!
I see you saw (liked) my post on the Vera forum. I edited it however and said it can be laggy when pressing the buttons in the Home Remote app to change to the different colours of the bulb.
If I over do it and press them quickly to change to different colours, the bulb can stop responding for a period of time.
This is most likely the Ezlo HTTP web socket API falling behind with what commands MSR is sending to it.
-
I used R,G,B in my reactions. I haven't tried using HEX colour codes yet.
-
I'm guessing there's just a lot of plumbing in that hookup... you press a button in Home Remote, that makes the request to MSR (over WiFi directly, or is there a cloud component to that app?), then MSR has to make the request to the eZLO hub, then the eZLO hub has to send the request to the device, the device has to respond, and the finish traverse its way all the way backwards. The
reactor.log
file will have enough data for you to figure out (a) when the request to start the reaction was received (search for "Enqueueing" with your reaction name/id following); (b) when the reaction started the request to the hub (search for "sending payload for", requires debug enabled per post instructions); and (c) when the hub action completed (i.e. eZLO hub responded with success/done, search for "action rgbcolor.set_rgb completed", assuming that's the action you are using; change as needed); and (d) when the reaction ended (search for "all actions completed"). Each of those will have a time stamp with milliseconds, so you can compute the pace of each phase and the time overall of MSR's contribution to the timing. -
cw-kidreplied to toggledbits on Jul 16, 2021, 2:32 PM last edited by cw-kid Jul 16, 2021, 10:33 AM
@toggledbits said in Issues connecting to Ezlo Controller:
you press a button in Home Remote, that makes the request to MSR (over WiFi directly, or is there a cloud component to that app?
Its direct on the WLAN from the Home Remote app to the MSR HTTP API.
I have this exact same setup with my Vera hub for my other colour lights paired to the Vera Plus.
I haven't noticed those being laggy when pressing the buttons on the Home Remote app page etc.
But to be fair I don't normally press all the buttons quickly to change colours in that manner. I will try it against a Vera controller as well to see.
-
6/16