valiquette / homebridge-orbit-irrigation

Provides Homebridge support for Orbit B-Hyve devices
MIT License
9 stars 1 forks source link

This plugin generated a warning from the characteristic 'Model' #85

Open arcticgenes opened 1 month ago

arcticgenes commented 1 month ago

Getting the following message in my homebridge logs everytime homebridge restarts.

[19/05/2024, 10:51:18] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info.

valiquette commented 1 month ago

What model device are you using that generates this message?

arcticgenes commented 1 month ago

Your friend has shared a link to a Home Depot product they think you would be interested in seeing. https://www.homedepot.com/p/Orbit-B-hyve-Bluetooth-Add-On-Hose-Watering-Timer-Sprinkler-Timer-21005/305079377

Aaron Lewis

On Sun, May 19, 2024 at 12:17 PM valiquette @.***> wrote:

What model device are you using that generates this message?

— Reply to this email directly, view it on GitHub https://github.com/valiquette/homebridge-orbit-irrigation/issues/85#issuecomment-2119334078, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADTE65WRW4KH6QHLK4G5FOTZDD3GFAVCNFSM6AAAAABH6SIB2CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJZGMZTIMBXHA . You are receiving this because you authored the thread.Message ID: @.***>

everydaylearner commented 1 month ago

I am getting same error as well. It is crashing homebridge. I am using the following device; https://www.homedepot.com/p/Orbit-B-hyve-12-Zone-Indoor-Outdoor-Smart-Sprinkler-Controller-Works-with-Amazon-Alexa-57950/206638406

and have this one as well https://www.homedepot.com/p/Orbit-B-hyve-Bluetooth-Add-On-Hose-Watering-Timer-Sprinkler-Timer-21005/305079377

logs:

[22/05/2024, 08:34:23] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:23] [B-Hyve] Configured zone-1 for raised beds with 5 min runtime [22/05/2024, 08:34:23] [B-Hyve] Adding Battery status for Raised Garden [22/05/2024, 08:34:23] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName. at new Accessory (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:491:11) at new PlatformAccessory (/var/lib/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9) at valve.createValveAccessory (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/devices/valve.js:23:24) at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitplatform.js:187:38 at processTicksAndRejections (node:internal/process/task_queues:95:5) [22/05/2024, 08:34:23] [B-Hyve] Configure Irrigation system for Main timer [22/05/2024, 08:34:23] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:23] [B-Hyve] Configured zone-1 for Front main with 5 min runtime [22/05/2024, 08:34:24] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:24] [B-Hyve] Configured zone-2 for Front top with 5 min runtime [22/05/2024, 08:34:24] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:24] [B-Hyve] Configured zone-3 for Side 54 with 5 min runtime [22/05/2024, 08:34:25] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:25] [B-Hyve] Configured zone-4 for Back yard deck area with 5 min runtime [22/05/2024, 08:34:25] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:25] [B-Hyve] Configured zone-5 for Backyard main with 5 min runtime [22/05/2024, 08:34:26] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 08:34:26] [B-Hyve] Configured zone-6 for Driveway side with 5 min runtime [22/05/2024, 08:34:26] Got SIGTERM, shutting down Homebridge...

Thank you!

valiquette commented 1 month ago

I am not sure about the zone controller it would be good to know the hardware version to see if this one has been tested. As for the model warning, it would seem the response you're getting back from B-Hyve has some missing data. I could handle this and avoid the warning in the future but it would not address the why.

If you can go to https://techsupport.orbitbhyve.com login and make sure things look ok this is a little more functional than the app. note the device type your controller reports as.

Second If you can enable debug logging in homebridge settings and in the plugin config enable log API response under debug logging.

You should see something like for each device this when the plug-in first starts up, the value for the hardware version is used for the model in the plugin.

attach a sanitized response of the debug log for a plugin restart.

"devices": [ { "location_name": null, "address": { "line_1": "somewhere", "city": "anywhere", "state": "xx", "postal_code": "12345", "country": "US" }, "firmware_version": "0030", "name": "Wi-Fi Hub", "type": "bridge", "mac_address": "446755271902", "mesh_id": "61353e044f0c6f063b7f2a76", "id": "61354e034f0c6f063b7f2a74", "hardware_version": "BH1-0001", "is_connected": true },

everydaylearner commented 1 month ago

hardware versions are: WT25G2-0001 HT25-0000

I will post the API responses shortly. It was working fine same hardware types suddenly i started to getting this in the last a few days!

arcticgenes commented 1 month ago

hardware versions in the support page are:

BH1-0001 - bluetooth hub HT25-0000 - sprinkler controller

Here is one of the API responses:

get device response { "last_connected_at": "2024-05-17T15:25:23.981Z", "address": { "line_1": “xxxxxxxx", "city": “xxxx”, "state": “xx”, "postal_code": “xxxx”, "country": "US" }, "firmware_version": "0041", "name": "Patio Drip", "type": "sprinkler_timer", "restricted_frequency": null, "updated_at": "2024-05-18T07:38:29.098Z", "reference": "446755297543-57708", "mac_address": "446755528053", "weather_station_id": "5a3026324f0c3eb98b805d22", "mesh_id": "64b038e85ad8c1387160a5df", "device_gateway_topic": "devices-9", "smart_watering_enabled": true, "hardware_version": "HT25-0000", "is_connected": true, "created_at": "2023-07-23T01:20:50.022Z", "suggested_start_time": null, }

arcticgenes commented 1 month ago

seems like the value of hardware_version would suffice for model

valiquette commented 1 month ago

and you still see this warning This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined

valiquette commented 1 month ago

What version of hombridge and node js are being used?

valiquette commented 1 month ago

if this was working fine recently, did something change? Silly question but I can't reproduce this with the same the same timer.

arcticgenes commented 1 month ago

Homebridge - 1.8.2 node js - 20.13.1

everydaylearner commented 1 month ago

here are the hardware types i have in my setup: fs1-0001 HT25-0000 WT25G2-0001 BH1G2-0000

more logs: 22/05/2024, 10:10:55] [B-Hyve] Online device BH1G2-0000 Wi-Fi Hub Gen2 found at the configured location address: my address [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Powder Room Sink found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Kitchen Sink1 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Kitchen Sink2 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Powder Room Toilet found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Water Heater 1 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Water Heater 2 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Furnace AC found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Washer found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Master Sink 1 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Master Sink 2 found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Hallway Sink found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Freezer found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device fs1-0001 Fridge found at the configured location address: undefined location [22/05/2024, 10:10:55] [B-Hyve] Online device WT25G2-0001 Main timer found at the configured location address: my address [22/05/2024, 10:10:55] [B-Hyve] Online device HT25-0000 Raised Garden found at the configured location address: my address [22/05/2024, 10:10:55] [B-Hyve] Online device HT25-0000 Raised Garden2 found at the configured location address: my address [22/05/2024, 10:10:56] [B-Hyve] Adding Battery status for Basement Water Heater 2 [22/05/2024, 10:10:56] [B-Hyve] Adding Flood Sensor for Basement Water Heater 2 [22/05/2024, 10:10:56] [B-Hyve] Adding Temperature Sensor for Basement Water Heater 2 [22/05/2024, 10:10:56] [B-Hyve] Adding Battery status for Basement Furnace AC [22/05/2024, 10:10:56] [B-Hyve] Adding Flood Sensor for Basement Furnace AC [22/05/2024, 10:10:56] [B-Hyve] Adding Temperature Sensor for Basement Furnace AC [22/05/2024, 10:10:56] [B-Hyve] Configure Irrigation system for Main timer [22/05/2024, 10:10:56] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:56] [B-Hyve] Configured zone-1 for Front main with 5 min runtime [22/05/2024, 10:10:56] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:56] [B-Hyve] Configured zone-2 for Front top with 5 min runtime [22/05/2024, 10:10:57] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:57] [B-Hyve] Configured zone-3 for Side 54 with 5 min runtime [22/05/2024, 10:10:57] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:57] [B-Hyve] Configured zone-4 for Back yard deck area with 5 min runtime [22/05/2024, 10:10:58] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:58] [B-Hyve] Configured zone-5 for Backyard main with 5 min runtime [22/05/2024, 10:10:58] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:58] [B-Hyve] Configured zone-6 for Driveway side with 5 min runtime [22/05/2024, 10:10:58] [B-Hyve] Adding Battery status for Bathroom Master Sink 1 [22/05/2024, 10:10:58] [B-Hyve] Adding Flood Sensor for Bathroom Master Sink 1 [22/05/2024, 10:10:58] [B-Hyve] Adding Temperature Sensor for Bathroom Master Sink 1 [22/05/2024, 10:10:58] [B-Hyve] Orbit Platform finished loading [22/05/2024, 10:10:58] [B-Hyve] Adding Battery status for Powder Room Powder Room Sink [22/05/2024, 10:10:58] [B-Hyve] Adding Flood Sensor for Powder Room Powder Room Sink [22/05/2024, 10:10:58] [B-Hyve] Adding Temperature Sensor for Powder Room Powder Room Sink [22/05/2024, 10:10:58] [B-Hyve] Adding Battery status for Kitchen Kitchen Sink1 [22/05/2024, 10:10:58] [B-Hyve] Adding Flood Sensor for Kitchen Kitchen Sink1 [22/05/2024, 10:10:58] [B-Hyve] Adding Temperature Sensor for Kitchen Kitchen Sink1 [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Basement Water Heater 1 [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Basement Water Heater 1 [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Basement Water Heater 1 [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Kitchen Kitchen Sink2 [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Kitchen Kitchen Sink2 [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Kitchen Kitchen Sink2 [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Powder Room Powder Room Toilet [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Powder Room Powder Room Toilet [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Powder Room Powder Room Toilet [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Bathroom Hallway Sink [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Bathroom Hallway Sink [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Bathroom Hallway Sink [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Laundry Room Washer [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Laundry Room Washer [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Laundry Room Washer [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Kitchen Fridge [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Kitchen Fridge [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Kitchen Fridge [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Basement Freezer [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Basement Freezer [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Basement Freezer [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Bathroom Master Sink 2 [22/05/2024, 10:10:59] [B-Hyve] Adding Flood Sensor for Bathroom Master Sink 2 [22/05/2024, 10:10:59] [B-Hyve] Adding Temperature Sensor for Bathroom Master Sink 2 [22/05/2024, 10:10:59] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info. [22/05/2024, 10:10:59] [B-Hyve] Configured zone-1 for raised beds with 5 min runtime [22/05/2024, 10:10:59] [B-Hyve] Adding Battery status for Raised Garden [22/05/2024, 10:10:59] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName. at new Accessory (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:491:11) at new PlatformAccessory (/var/lib/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9) at valve.createValveAccessory (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/devices/valve.js:23:24) at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitplatform.js:187:38 at processTicksAndRejections (node:internal/process/task_queues:95:5) [22/05/2024, 10:10:59] Got SIGTERM, shutting down Homebridge...

Homebridge version: 1.8.2 Node Js version: v18.19.0

everydaylearner commented 1 month ago

if this was working fine recently, did something change? Silly question but I can't reproduce this with the same the same timer.

i recently added new device - "HT25-0000" but i had old one registered in the past as well without any issue! but i cant recall if it started right after that! i believe that was not the case. I wonder if something changed on the Orbit Side maybe API update etc?

valiquette commented 1 month ago

Log was very helpful, In response to the warning I think I know wha tis going on and I can correct that one. take a look at the get device response in the log look for sprinkler_type: 'spray',, if this is null that is the error I

You can edit the zone info on the web site https://techsupport.orbitbhyve.com/

[5/22/2024, 11:16:35 AM] [B-Hyve-Dev] Configure Irrigation system for Front Porch [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] Adding Battery status for Front Porch [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] create battery service for Front Porch [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] configured battery service for Front Porch [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] adding zone Front Flowers [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] { station: 1, slope_grade: 0, sun_shade: 'full_sun', name: 'Front Flowers', landscape_type: 'cool_season_turf', drought_level: null, num_sprinklers: 2, soil_type: 'clay', catch_cup_volumes: [], catch_cup_run_time: 0, smart_watering_enabled: false, sprinkler_type: 'spray', flow_data: {}, enabled: true } [5/22/2024, 11:16:35 AM] [B-Hyve-Dev] Created valve service for Front Flowers with zone-id 1 with 60 sec runtime (1 min)

arcticgenes commented 1 month ago

how would sprinkler_type being empty cause the issue? Your code is already using hardware_version to set the characteristic of model.

nvm, I see you have another section that is using sprinkler_type. I just checked and while I removed it from the output I gave, mine does have a value of "spray" for sprinkler_type already and I'm getting the error message.

valiquette commented 1 month ago

In the example provide by @everydaylearner the warning is being occurring when the zone is being configured and not the actual controller.

Your case my be a bit different, I could use a similar log view to see what is going on in sequence

valiquette commented 1 month ago

have you tried removing the cached accessory for this one?, I know if could remove it from homekit but it might be worth trying.

arcticgenes commented 1 month ago

re-ran the debug and despite having a sprinkler_type setup in my zone on the webpage, the API isn't getting that key/value in the json and thus it is missing when creating the valve service.

22/05/2024, 12:17:31] [B-Hyve] get device response { "last_connected_at": "2024-05-22T15:47:20.294Z", "address": { "line_1": "xxxxxxxx", "city": "xxxxx", "state": "xx", "postal_code": "xx", "country": "xx" }, "water_sense_mode": "auto", "timezone": { "dst_offset": 3600, "raw_offset": -28800, "timezone_id": "America/Los_Angeles", "timezone_name": "Pacific Daylight Time" }, "weather_forecast_location_id": "5a3026324f0c3eb98b805d21", "firmware_version": "0041", "name": "Succulent Drip", "type": "sprinkler_timer", "battery": { "percent": 52, "charging": false, "low_battery_at": "2023-07-22T14:18:20.000Z" }, "restricted_frequency": null, "updated_at": "2024-05-22T16:32:52.824Z", "reference": "446755297543-27227", "mac_address": "446755162c4b", "weather_station_id": "5a3026324f0c3eb98b805d22", "mesh_id": "64b038e85ad8c1387160a5df", "status": { "run_mode": "auto", "next_start_programs": [ "a" ], "watering_status": { "clear_on_idle": true }, "rain_delay": 0, "last_battery_alarm_at": "2024-03-23T16:17:06.981Z", "flow_sensor": null, "next_start_time": "2024-05-26T04:45:00-07:00", "rain_delay_started_at": "2024-05-22T16:32:52.000Z", "watering-status": null }, "id": "64bbe43b5ad8c138717be13d", "num_stations": 1, "zones": [ { "station": 1, "name": "Succulent Drip", "num_sprinklers": 0, "catch_cup_volumes": [], "catch_cup_run_time": 0, "smart_watering_enabled": false } ], "device_gateway_topic": "devices-9", "smart_watering_enabled": true, "hardware_version": "HT25-0000", "is_connected": true, "created_at": "2023-07-22T14:14:19.079Z", "suggested_start_time": null, "et_id": "5644ff07ad27a7777ff6c8a5" } [22/05/2024, 12:17:31] [B-Hyve] Adding Sprinkler Timer Device [22/05/2024, 12:17:31] [B-Hyve] Found device Succulent Drip with status auto [22/05/2024, 12:17:31] [B-Hyve] Creating and configuring new device [22/05/2024, 12:17:31] [B-Hyve] Update valve accessory 64bbe43b5ad8c138717be13d station-1 Succulent Drip [22/05/2024, 12:17:31] [B-Hyve] { station: 1, name: 'Succulent Drip', num_sprinklers: 0, catch_cup_volumes: [], catch_cup_run_time: 0, smart_watering_enabled: false, enabled: true } [22/05/2024, 12:17:31] [B-Hyve] Created valve service for Succulent Drip with zone-id 1 with 120 sec runtime (2 min) [22/05/2024, 12:17:31] [homebridge-orbit-irrigation] This plugin generated a warning from the characteristic 'Model': characteristic value expected string and received undefined. See https://homebridge.io/w/JtMGR for more info.

Screenshot 2024-05-22 at 12 50 20 PM

valiquette commented 2 weeks ago

Issue should be addressed in the latest update

aaron-lewis-insight commented 2 weeks ago

installed the newest version and now homebridge is crashing

[19/06/2024, 06:40:59] [B-Hyve] Adding Battery status for Succulent Drip [19/06/2024, 06:41:07] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName. at new Accessory (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:491:11) at new PlatformAccessory (/var/lib/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9) at valve.createValveAccessory (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/devices/valve.js:23:24) at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitplatform.js:187:38 at processTicksAndRejections (node:internal/process/task_queues:95:5) [19/06/2024, 06:41:08] Error: WebSocket was closed before the connection was established at WebSocket.close (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/ws/lib/websocket.js:292:7) at ReconnectingWebSocket._disconnect (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:539:22) at ReconnectingWebSocket._handleError (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:180:19) at ReconnectingWebSocket._handleTimeout (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:529:14) at Timeout. (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:524:75) at listOnTimeout (node:internal/timers:573:17) at processTimers (node:internal/timers:514:7) [19/06/2024, 06:41:08] [B-Hyve] Opps ErrorEvent { target: ReconnectingWebSocket { _listeners: { error: [], message: [Array], open: [], close: [] }, _retryCount: 1, _shouldReconnect: true, _connectLock: true, _binaryType: 'blob', _closeCalled: false, _messageQueue: [ '{\n' + ' "name": "Planter 3 Suc Fence",\n' + ' "id": "64b0401509fd9a1e9557876f",\n' + ' "event": "app_connection",\n' + ' "orbit_session_token": "removed by me"\n' + '}' ], onclose: [Function (anonymous)], onerror: [Function (anonymous)], onmessage: [Function (anonymous)], onopen: [Function (anonymous)], _handleOpen: [Function (anonymous)], _handleMessage: [Function (anonymous)], _handleError: [Function (anonymous)], _handleClose: [Function (anonymous)], _url: 'wss://api.orbitbhyve.com/v1/events', _protocols: [], _options: { WebSocket: [Function], maxReconnectionDelay: 10000, minReconnectionDelay: 2804.173849918226, reconnectionDelayGrowFactor: 1.3, minUptime: 5000, connectionTimeout: 4000, maxRetries: Infinity, maxEnqueuedMessages: 1, startClosed: false, debug: false }, send: [Function (anonymous)], _ws: WebSocket { _events: [Object: null prototype] {}, _eventsCount: 0, _maxListeners: undefined, _binaryType: 'nodebuffer', _closeCode: 1006, _closeFrameReceived: false, _closeFrameSent: false, _closeMessage: , _closeTimer: null, _extensions: {}, _paused: false, _protocol: '', _readyState: 2, _receiver: null, _sender: null, _socket: null, _bufferedAmount: 0, _isServer: false, _redirects: 0, _autoPong: true, _url: 'wss://api.orbitbhyve.com/v1/events', _req: [ClientRequest],

  [Symbol(kCapture)]: false
},
_connectTimeout: Timeout {
  _idleTimeout: -1,
  _idlePrev: null,
  _idleNext: null,
  _idleStart: 39512,
  _onTimeout: null,
  _timerArgs: undefined,
  _repeat: null,
  _destroyed: true,
  [Symbol(refed)]: true,
  [Symbol(kHasPrimitive)]: false,
  [Symbol(asyncId)]: 2884,
  [Symbol(triggerId)]: 0
}

}, type: 'error', message: 'TIMEOUT', error: Error: TIMEOUT at ReconnectingWebSocket._handleTimeout (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:529:42) at Timeout. (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:524:75) at listOnTimeout (node:internal/timers:573:17) at processTimers (node:internal/timers:514:7) } [19/06/2024, 06:41:08] TypeError: Cannot read properties of undefined (reading 'send') at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitapi.js:342:19 at processTicksAndRejections (node:internal/process/task_queues:95:5)

valiquette commented 2 weeks ago

Is this crashing every time?

aaron-lewis-insight commented 2 weeks ago

yup, crashes, restarts, and crashes in a constant loop until plugin is disabled.

valiquette commented 2 weeks ago

I am concerned about this line [19/06/2024, 06:41:07] AssertionError [ERR_ASSERTION]: Accessories must be created with a non-empty displayName. at new Accessory (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:491:11) at new PlatformAccessory (/var/lib/homebridge/node_modules/homebridge/src/platformAccessory.ts:72:9) at valve.createValveAccessory (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/devices/valve.js:23:24) at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitplatform.js:187:38

and why the name is empty

valiquette commented 2 weeks ago

Rolling back to the previous version is OK?

valiquette commented 2 weeks ago

I was able to replicate this. The plugin is expecting all zones to be named, in your case it appears that is not the case. It does seem a little odd that a device with one zone can have a device name and a zone name, but. The plugin will now detect this and warn of the condition and use the device name. let me know if this corrects your issue.

aaron-lewis-insight commented 2 weeks ago

Everything seems happy now. Thank you for the quick turnaround.

arcticgenes commented 2 weeks ago

updated to the latest version and noticed that intermittently on reboot this error pops up and crashes homebridge. It seems like it works sometimes but it would be nice if this error didn't crash homebridge at all

[19/06/2024, 16:21:07] Error: WebSocket was closed before the connection was established at WebSocket.close (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/ws/lib/websocket.js:292:7) at ReconnectingWebSocket._disconnect (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:539:22) at ReconnectingWebSocket._handleError (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:180:19) at ReconnectingWebSocket._handleTimeout (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:529:14) at Timeout. (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:524:75) at listOnTimeout (node:internal/timers:573:17) at processTimers (node:internal/timers:514:7) [19/06/2024, 16:21:07] [B-Hyve] Opps ErrorEvent { target: ReconnectingWebSocket { _listeners: { error: [], message: [Array], open: [], close: [] }, _retryCount: 1, _shouldReconnect: true, _connectLock: true, _binaryType: 'blob', _closeCalled: false, _messageQueue: [ '{\n' + ' "name": "Planter 4",\n' + ' "id": "64b34e613080dc4ae0160ef5",\n' + ' "event": "app_connection",\n' + ' "orbit_session_token": "removed by me"\n' + '}' ], onclose: [Function (anonymous)], onerror: [Function (anonymous)], onmessage: [Function (anonymous)], onopen: [Function (anonymous)], _handleOpen: [Function (anonymous)], _handleMessage: [Function (anonymous)], _handleError: [Function (anonymous)], _handleClose: [Function (anonymous)], _url: 'wss://api.orbitbhyve.com/v1/events', _protocols: [], _options: { WebSocket: [Function], maxReconnectionDelay: 10000, minReconnectionDelay: 3768.465040969599, reconnectionDelayGrowFactor: 1.3, minUptime: 5000, connectionTimeout: 4000, maxRetries: Infinity, maxEnqueuedMessages: 1, startClosed: false, debug: false }, send: [Function (anonymous)], _ws: WebSocket { _events: [Object: null prototype] {}, _eventsCount: 0, _maxListeners: undefined, _binaryType: 'nodebuffer', _closeCode: 1006, _closeFrameReceived: false, _closeFrameSent: false, _closeMessage: , _closeTimer: null, _extensions: {}, _paused: false, _protocol: '', _readyState: 2, _receiver: null, _sender: null, _socket: null, _bufferedAmount: 0, _isServer: false, _redirects: 0, _autoPong: true, _url: 'wss://api.orbitbhyve.com/v1/events', _req: [ClientRequest],

  [Symbol(kCapture)]: false
},
_connectTimeout: Timeout {
  _idleTimeout: -1,
  _idlePrev: null,
  _idleNext: null,
  _idleStart: 48500,
  _onTimeout: null,
  _timerArgs: undefined,
  _repeat: null,
  _destroyed: true,
  [Symbol(refed)]: true,
  [Symbol(kHasPrimitive)]: false,
  [Symbol(asyncId)]: 3307,
  [Symbol(triggerId)]: 0
}

}, type: 'error', message: 'TIMEOUT', error: Error: TIMEOUT at ReconnectingWebSocket._handleTimeout (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:529:42) at Timeout. (/var/lib/homebridge/node_modules/homebridge-orbit-irrigation/node_modules/reconnecting-websocket/dist/reconnecting-websocket-cjs.js:524:75) at listOnTimeout (node:internal/timers:573:17) at processTimers (node:internal/timers:514:7) } [19/06/2024, 16:21:07] TypeError: Cannot read properties of undefined (reading 'send') at /var/lib/homebridge/node_modules/homebridge-orbit-irrigation/orbitapi.js:342:19 at processTicksAndRejections (node:internal/process/task_queues:95:5)