Skip to content
View in the app

A better way to browse. Learn more.

Universal Devices Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

photogeek54

Members
  • Joined

  • Last visited

  1. Thanks for your help Jimbo, Here's what I'm now seeing. I cleared the contents of every heat and cool setpoint in the comfort settings. I restart homekit and then ecobee. The heat and cool setpoints are still clear. I click "save" under the comfort settings and all the heat and cool setpoints suddenly fill in but they don't match those stored in the ecobee setpoints. I have the comfort settings as shown below home is correct. Away has the sleep setpoints, sleep has the away setpoints,wakeup has setpoints that are not in any of mine, I don't use smart2 but it filled in with some values, hotDay filled in with values I don't use. If I go to the ecobee node and choose the away comfort setting the ecobee shows away 67 which is correct.. if I select sleep it shows 68 which is correct, I select home and I get 73 which is correct. So far so good! I select wakeup and the ecobee shows holding 73 not 71 and the node shows sleep 79, both incorrect. I choose retiring and the ecobee still shows 73 holding not 71, the node shows sleep 71 still seems to have problems. I hope all this detail helps
  2. Lots of eiay-ai sucess! Yesterday ai helped me create a solaredge cloud/API based plugin that works around many of the new limitations of the new v2 API. We also created a plugin for my Hyundai Ionic 5 which show its charging status, climate status and windows/doors status and it accepts commands. Today we completed a plugin for the solaredge which connects locally via ethernet using the modbusTCP protocol and avoids all the new API limits and can be polled every few seconds rather than every 15 minutes. I never got the modbusTCP plugin in the store to work so I had eisy-ai build its own. The issues with the context window overflow are now gone! A suggestion: ai needs to be able to read and modify notification templates. With the new plugins I am faced with finding and replacing lots of ugly old node and variable definitions with new ones. seems like the perfect job for AI.
  3. How do you connect your solaredge monitoring to Universal devices? I ask because solaredge just deprecated their v1 API and put limits on their free monitoring. I don’t have ring cameras but do have several Dahua cameras connected to my eisy.
  4. If your code uses modbusTCP to access a solaredge inverter then absolutely , I'd love to see it. I've put examples of the problem I'm seeing in the modbusTCP forum. Thanks
  5. @Jimbo.Automates I've loaded the latest homekit and ecobee 4.2. I've read the latest readme but still can't explain the behavior I'm seeing. I blanked out the heat and cool setpoints in the configuration for home, away and sleep. I set the display name for smart1-6 to my custom names and the heat and cool setpoints to what they are set to in the ecobee schedule page I then restart homekit and then restart ecobee. I looked in the debug log to see if it read my configurations correctly. The log shows comfort home heat set to 73 in one place which is correct 2026-11-08 17:35:50.214 Thread-32 (handler_typed_data) udi_interface.custom DEBUG custom:load: CUSTOM: load {'climate_programs': [{'thermostat_id': '532526877380', 'name': 'Main', 'device_id': '5d:1a:eb:a5:3c:3e', 'climates': [{'climateRef': 'home', 'name': 'Home', 'heat': '73.0', 'cool': '78.0'}, {'climateRef': 'away', 'name': 'Away', 'heat': '68.0', 'cool': '75.0'}, {'climateRef': 'sleep', 'name': 'Sleep', 'heat': '67.0', 'cool': '82.0'}, {'climateRef': 'smart1', 'name': 'Wakeup', 'heat': '71', 'cool': '78'}, {'climateRef': 'smart2', 'name': 'Smart2', 'heat': '68.0', 'cool': '75.0'}, {'climateRef': 'smart3', 'name': 'HotDay', 'heat': '60', 'cool': '73'}, {'climateRef': 'smart4', 'name': 'Retiring', 'heat': '71.0', 'cool': '78.0'}, {'climateRef': 'smart5', 'name': 'EnergySave', 'heat': '60', 'cool': '82'}, {'climateRef': 'smart6', 'name': 'PreCool', 'heat': '45.0', 'cool': '66.0'}, {'climateRef': 'smart7', 'name': 'Smart7'}]}], 'hk_id_overrides': [], 'hk_sensor_overrides': []} 2026-11-08 17:35:50.214 MQTT udi_interface.interface INFO interface:_message: Successfully set rs_mbr :: GV1 to 1 UOM 25 but later it shows home heat set to 78 which is incorrect. now the ecobee configuration page that had blank setpoints is now filled in and shows heat set to 78 and the node itself in eisyui says heat set to 78 but the ecobee itself is set to away with setpoint 67 from me changing the comfort program manually about 30minutes ago. 2026-11-08 17:35:50.941 Thread-34 (handler_typed_data) udi_interface.custom DEBUG custom:load: CUSTOM: -- typed data {'climate_programs': [{'thermostat_id': '532526877380', 'name': 'Main', 'device_id': '5d:1a:eb:a5:3c:3e', 'climates': [{'climateRef': 'home', 'name': 'Home', 'heat': '78.0', 'cool': '81.0'}, {'climateRef': 'away', 'name': 'Away', 'heat': '68.0', 'cool': '75.0'}, {'climateRef': 'sleep', 'name': 'Sleep', 'heat': '67.0', 'cool': '82.0'}, {'climateRef': 'smart1', 'name': 'Wakeup', 'heat': '71', 'cool': '78'}, {'climateRef': 'smart2', 'name': 'Smart2', 'heat': '68.0', 'cool': '75.0'}, {'climateRef': 'smart3', 'name': 'HotDay', 'heat': '60', 'cool': '73'}, {'climateRef': 'smart4', 'name': 'Retiring', 'heat': '71.0', 'cool': '78.0'}, {'climateRef': 'smart5', 'name': 'EnergySave', 'heat': '60', 'cool': '82'}, {'climateRef': 'smart6', 'name': 'PreCool', 'heat': '45.0', 'cool': '66.0'}, {'climateRef': 'smart7', 'name': 'Smart7'}]}], 'hk_id_overrides': [], 'hk_sensor_overrides': []} now I use eisyui to set the comfort to sleep and the node and thermostat correctly change to 68 but the sleep heat label in the config says 67 like the away comfort setting now I use eisyui to set the comfort to wakeup and the node correctly changes to 71 but the ecobee is still showing 68 now I use eisyui to set the comfort to home and the node correctly changes to 73 and the ecobee correctly shows 73 now I use eisyui to set the comfort to retiring and the node correctly changes to 71 but the ecobee is still showing 73 and the climate type went to wakeup briefly on the node but then went back to home . I checked and I don't see any programs that could set the climate type to home. I appreciate all the work you are doing on these plugins! but I still can't seem to make it work correctly. If I'm misunderstanding how to use it correctly, please let me know. I've included the debug package too. Thanks, Ken Ecobee_11-8-2026_62658_PM.zip
  6. Ignoring the eisy-ui issue My biggest problem remains how to set the comfort programs and have them stay in PG3. They keep resetting to smart1,2,3,4 etc. This seems to be a PG3 Ecobee issue
  7. udi-poly-homekit-hub is running with mqtt_enable true, and its MQTT status is connected (hub GV1 = 2, bridge GV0 = 1). says homekit hub - connected mqtt transport - connected bridge status - running hub error code - no error node server online - connected Both sides use the same broker. Ecobee hk_mqtt_host / hk_mqtt_port (normally port 1884) must be the broker the hub is using. ecobee hk_mqtt_host - localhost ecobee hk_mqtt_port - 1884 those parameters not set in homekit hk_mqtt_hub_slug matches the hub mqtt_hub_slug (usually both default). A mismatch puts hello on a topic the hub never subscribes to. ecobee sets hk_mqtt_hub_slug to default not set in homekit hk_mqtt_client_slug is udi-poly-ecobee unless they intentionally set a unique slug. The hub answers on that same slug. in ecobee hk_mgtt_client_slug is udi-poly-ecobee Restart the HomeKit Hub node server first, then Ecobee, if both look configured and the count is still climbing. after I checked all above I looked at log again and the ack not received is no longer showing! Go figure. My biggest problem remains how to set the comfort programs and have them stay. They keep resetting to smart1,2,3,4 etc. Even though I can't view them currently after migrating the plugin to eisy-ui, I'm assuming they would get transferred there if I could set them in pg3 and them migrate?
  8. The solaredge v2 API comes along with a new tiered price structure for monitoring. The free tier only allows 2000 credits per month which would only allow polling the inverter about once per hour. the next tier would allow polling every 15 minutes for $100/mo. This is worthless for my applications. I used eisy-ai to generate a v2 plugin but in addition to the limited polling with the free or even the $100/mo tier it is missing many of the previous fields My use of the mySolaredge app is also due to cease next May so I need to find a better way to poll the inverter. I am working on a plugin for local connection to the inverter via the built in wired ethernet port on my SE7600-H inverter.
  9. I deleted the eisy-ui plugin and installed the pg3 version. There I can see the place to upload a .zip file that was missing in eisy-ui plugins. unfortunately I get an error when I start the pg3 plugin. 2026-11-07 17:25:51.014 MainThread iox_p_logger INFO plugin:validate_json: fastjsonschema does not currently support file references ... ignoring validation request.2026-11-07 17:25:51.014 MainThread iox_p_logger INFO plugin:validate_json: fastjsonschema does not currently support file references ... ignoring validation request. 2026-11-07 17:25:51.014 Interface udi_interface.interface INFO interface:_startMqtt: Using SSL cert: 0021b9026068_30.cert key: 0021b9026068_30.key ca: /usr/local/etc/ssl/certs/ud.ca.cert 2026-11-07 17:25:51.014 Interface udi_interface.interface INFO interface:_startMqtt: Using SSL cert: 0021b9026068_30.cert key: 0021b9026068_30.key ca: /usr/local/etc/ssl/certs/ud.ca.cert 2026-11-07 17:25:51.014 MainThread udi_interface ERROR udi_interface:write: Traceback (most recent call last): 2026-11-07 17:25:51.014 MainThread udi_interface ERROR udi_interface:write: Traceback (most recent call last): 2026-11-07 17:25:51.015 MainThread udi_interface ERROR udi_interface:write: File "/var/polyglot/pg3/ns/0021b9026068_30/modbus.py", line 40, in <module> 2026-11-07 17:25:51.015 MainThread udi_interface ERROR udi_interface:write: File "/var/polyglot/pg3/ns/0021b9026068_30/modbus.py", line 40, in <module> 2026-11-07 17:25:51.015 MainThread udi_interface ERROR udi_interface:write: plugin = Plugin(PLUGIN_FILE_NAME) 2026-11-07 17:25:51.015 MainThread udi_interface ERROR udi_interface:write: plugin = Plugin(PLUGIN_FILE_NAME) here's my modbus.iox_plugin.json. any ideas? { "device": { "name": "SolarEdge SE7600H", "host": "10.10.1.49", "port": 1502, "unit_id": 1, "address_base": 0, "poll_interval_s": 10, "word_order": "big" }, "inverter": [ {"name": "sunspec_did", "address": 40069, "count": 1, "type": "uint16"}, {"name": "ac_current_a", "address": 40071, "count": 1, "type": "uint16", "scale_register": 40075}, {"name": "ac_voltage_an_v", "address": 40079, "count": 1, "type": "uint16", "scale_register": 40082}, {"name": "ac_power_w", "address": 40083, "count": 1, "type": "int16", "scale_register": 40084}, {"name": "ac_frequency_hz", "address": 40085, "count": 1, "type": "uint16", "scale_register": 40086}, {"name": "ac_apparent_va", "address": 40087, "count": 1, "type": "int16", "scale_register": 40088}, {"name": "ac_energy_wh", "address": 40093, "count": 2, "type": "uint32", "scale_register": 40095}, {"name": "dc_current_a", "address": 40096, "count": 1, "type": "uint16", "scale_register": 40097}, {"name": "dc_voltage_v", "address": 40098, "count": 1, "type": "uint16", "scale_register": 40099}, {"name": "dc_power_w", "address": 40100, "count": 1, "type": "int16", "scale_register": 40101}, {"name": "heatsink_temp_c", "address": 40103, "count": 1, "type": "int16", "scale_register": 40106}, {"name": "status", "address": 40107, "count": 1, "type": "uint16"}, {"name": "status_vendor", "address": 40108, "count": 1, "type": "uint16"} ], "meter1": [ {"name": "meter_did", "address": 40188, "count": 1, "type": "uint16"}, {"name": "meter_current_a", "address": 40190, "count": 1, "type": "int16", "scale_register": 40194}, {"name": "meter_voltage_an_v", "address": 40196, "count": 1, "type": "int16", "scale_register": 40203}, {"name": "meter_frequency_hz", "address": 40204, "count": 1, "type": "int16", "scale_register": 40205}, {"name": "meter_power_w", "address": 40206, "count": 1, "type": "int16", "scale_register": 40210}, {"name": "meter_power_a_w", "address": 40207, "count": 1, "type": "int16", "scale_register": 40210}, {"name": "meter_power_b_w", "address": 40208, "count": 1, "type": "int16", "scale_register": 40210}, {"name": "meter_apparent_va", "address": 40211, "count": 1, "type": "int16", "scale_register": 40215}, {"name": "meter_pf", "address": 40221, "count": 1, "type": "int16", "scale_register": 40225}, {"name": "grid_exported_wh", "address": 40226, "count": 2, "type": "uint32", "scale_register": 40242}, {"name": "grid_imported_wh", "address": 40234, "count": 2, "type": "uint32", "scale_register": 40242}, {"name": "meter_events", "address": 40293, "count": 2, "type": "uint32"} ] }
  10. eisy-ai helped me generate a .json file for my soledge inverter but the documentation is no help explaining how to upload that file. do i add a custom configuration parameter? do I use the "files" tab?
  11. also i'm seeing this in the log: mqtt_client:_hello_retry_loop: HomeKit hub MQTT: hello ack not received yet; retrying hello (16). could this have anything to do with my lost climate program labels?
  12. Here's some more feedback on eisy-ai: when setting a variable to a state variable value in eisy-ui the state variables are not sorted alphabetically so they are hard to find Many times when eiasy-ai describes a program in the chat it calls it somethiung like "program 360" rather than its friendly name, also may do this with variable names some times Ai still puts text in white on white boxes In one case ai asked me "I need to know whether the host has the Python modules for an offline test, and what the plugin's small docs files say". don't have a clue what that means Ai doesnt seem to like eisy programs that don't do meaningful work in the then or else parts. Since I can use the state of a program in other if statements I sometimes leave them blank I asked ai to review some of my eisy programs for issues. It is cool that AI reads the comments also and tries to check if my program logic matches the intent described in the comments I haven't figured out how to multiple lines in a chat window before sending the whole thing to ai Yesterday solaredge shut down the v1 API my plugin uses so I'm using ai to convert it to the v2 API, no results yet.
  13. Much to my surprise, Solaredge shut down the V1 API today. I am investigating options to access the v2 API. So far it looks like free use of the new API will only allow much less frequent calls (maybe 1/hour) without paying $100+/mo for an upgraded rate plan. Stay tuned
  14. Two times now I’ve had all of my matter thread devices ( 5 ikea devices and a Aqara lock) suddenly be disconnected and require resets and re-pairing to get them back on the network. I realize EISY and the Z matter are not a thread border router but act as a bridge to the matter network. I can’t come up with any explanation for this issue, so I’m just inquiring if anyone can think of any reason the EISY could cause this kind of an error.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.