jfarmer08 / homebridge-wyze-smart-home

Wyze Smart Home plugin for Homebridge.
MIT License
103 stars 17 forks source link

[homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number) #139

Closed smcallah closed 11 months ago

smcallah commented 1 year ago

Describe The Bug:

Receiving 2 of these log messages every minute: [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number)

I believe there are 2 messages because I have 2 Wyze BR30 color bulbs in my devices. As far as I know they are not set for "Infinity" for Color Temp since that is not a value I can set.

To Reproduce: Have Wyze BR30 color bulbs, see the log message.

Expected behavior:

Not logging this error.

Logs:

[13/08/2023, 19:01:11] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
[13/08/2023, 19:01:11] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
[13/08/2023, 19:02:12] [Wyze] Common (Model: CO_AP1 (Mac: CO_AP1_7CDEADBEEF82 (Name: Downstairs Purifier) not supported submit a request to https://github.com/jfarmer08/homebridge-wyze-smart-home/issues to have it added. If no issues are found
[13/08/2023, 19:02:13] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
[13/08/2023, 19:02:13] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
[13/08/2023, 19:03:13] [Wyze] Common (Model: CO_AP1 (Mac: CO_AP1_7CDEADBEEF82 (Name: Downstairs Purifier) not supported submit a request to https://github.com/jfarmer08/homebridge-wyze-smart-home/issues to have it added. If no issues are found
[13/08/2023, 19:03:14] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
[13/08/2023, 19:03:14] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.
**Plugin Config:**

{ "name": "Wyze", "username": "root@internet.com", "password": "password", "keyId": "the keyId", "apiKey": "the apiKey", "refreshInterval": 60000, "entryExitDelay": 30, "showAdvancedOptions": true, "logging": "none", "excludeMacAddress": false, "excludedeviceType": false, "_bridge": { "username": "DE:AD:BE:EF:B0:0B", "port": 58172 }, "platform": "WyzeSmartHome" }

Screenshots:

Environment:

github-actions[bot] commented 1 year ago

Message that will be displayed on users' first issue

gleep52 commented 1 year ago

These are the exact bulbs I am having identical issues with as well.

      {
            "name": "WyzeBridge",
            "username": <redacted>,
            "password": <redacted>,
            "keyId": <redacted>,
            "apiKey": <redacted>,
            "mfaCode": <redacted>,
            "refreshInterval": 60000,
            "entryExitDelay": 30,
            "showAdvancedOptions": true,
            "logging": "debug",
            "excludeMacAddress": false,
            "excludedeviceType": true,
            "filterDeviceTypeList": [
                "OutdoorPlug",
                "Plug",
                "Light",
                "LightStrip",
                "ContactSensor",
                "MotionSensor",
                "Lock",
                "TemperatureHumidity",
                "LeakSensor",
                "Camera",
                "Common",
                "S1Gateway"
            ],
            "_bridge": {
                "username": "0E:F1:45:E3:86:D6",
                "port": 44485
            },
            "platform": "WyzeSmartHome"
        }

I attempted to turn on debug, and then exclude all types except the mesh light option which is the BR30 if I'm understanding things correctly... but I still see the debug log pulling still snapshots for the cameras, and it goes into a continual boot loop if I don't turn on the child bridge option, in which case, it just restarts the child service repeatedly and doesn't stay up for more than a second or so.

[9/11/2023, 11:07:43 AM] Registering platform 'homebridge-wyze-smart-home.WyzeSmartHome'
[9/11/2023, 11:07:43 AM] [WyzeBridge] Loaded homebridge-wyze-smart-home v0.5.36 child bridge successfully
[9/11/2023, 11:07:43 AM] Loaded 4 cached accessories from cachedAccessories.0EF145E386D6.
[9/11/2023, 11:07:43 AM] [WyzeBridge] Refreshing devices...
[9/11/2023, 11:07:43 AM] Homebridge v1.6.1 (HAP v0.11.1) (WyzeBridge) is running on port 44485.
[9/11/2023, 11:07:43 AM] [WyzeBridge] Performing request: app/v2/home_page/get_object_list
[9/11/2023, 11:07:43 AM] [WyzeBridge] Request config: {"method":"POST","url":"app/v2/home_page/get_object_list","data":

<RETACTED THUMBNAIL PULLS>

[9/11/2023, 11:07:44 AM] [WyzeBridge] Loading accessory from cache Broken (MAC: D03F27940517)
[9/11/2023, 11:07:44 AM] [WyzeBridge] Performing request: app/v2/device/get_property_list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Request config: {"method":"POST","url":"app/v2/device/get_property_list","data":{"access_token":"redacted","app_name":"com.hualai.WyzeCam","app_ver":"wyze_developer_api","app_version":"wyze_developer_api","phone_id":"wyze_developer_api","phone_system_type":"1","sc":"wyze_developer_api","sv":"wyze_developer_api","ts":1694448464260,"device_mac":"D03F27940517","device_model":"HL_BR30C"},"baseURL":"https://api.wyzecam.com"}
[9/11/2023, 11:07:44 AM] [WyzeBridge] Loading accessory from cache Kitchen Color 3 (MAC: D03F27940AED)
[9/11/2023, 11:07:44 AM] [WyzeBridge] Performing request: app/v2/device/get_property_list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Request config: {"method":"POST","url":"app/v2/device/get_property_list","data":{"access_token":"redacted","app_name":"com.hualai.WyzeCam","app_ver":"wyze_developer_api","app_version":"wyze_developer_api","phone_id":"wyze_developer_api","phone_system_type":"1","sc":"wyze_developer_api","sv":"wyze_developer_api","ts":1694448464272,"device_mac":"D03F27940AED","device_model":"HL_BR30C"},"baseURL":"https://api.wyzecam.com"}
[9/11/2023, 11:07:44 AM] [WyzeBridge] Loading accessory from cache Kitchen Color 2 (MAC: D03F2793DF57)
[9/11/2023, 11:07:44 AM] [WyzeBridge] Performing request: app/v2/device/get_property_list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Request config: {"method":"POST","url":"app/v2/device/get_property_list","data":{"access_token":"redacted","app_name":"com.hualai.WyzeCam","app_ver":"wyze_developer_api","app_version":"wyze_developer_api","phone_id":"wyze_developer_api","phone_system_type":"1","sc":"wyze_developer_api","sv":"wyze_developer_api","ts":1694448464285,"device_mac":"D03F2793DF57","device_model":"HL_BR30C"},"baseURL":"https://api.wyzecam.com"}
[9/11/2023, 11:07:44 AM] [WyzeBridge] Ignoring Ravine (MAC: 7C78B286B5E0 (Type: Camera) because it is in the Ignore Devices list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Ignoring Pool (MAC: 7C78B286B64B (Type: Camera) because it is in the Ignore Devices list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Ignoring Garage 2 (MAC: 7C78B286AD27 (Type: Camera) because it is in the Ignore Devices list
[9/11/2023, 11:07:44 AM] [WyzeBridge] Ignoring Back Garage (MAC: 7C78B286B604 (Type: Camera) because it is in the Ignore Devices list
[9/11/2023, 11:07:44 AM] [WyzeBridge] API response PerformRequest: {"ts":1694448464613,"code":"1","msg":"","data":{"property_list":[{"pid":"P1501","value":"","ts":0},{"pid":"P1502","value":"","ts":0},{"pid":"P1503","value":"","ts":0},{"pid":"P1504","value":"","ts":0},{"pid":"P1505","value":"0","ts":0},{"pid":"P1506","value":"0","ts":0},{"pid":"P1507","value":"0","ts":0},{"pid":"P1508","value":"2","ts":0},{"pid":"P1509","value":"0","ts":0},{"pid":"P1510","value":"1","ts":0},{"pid":"P1511","value":"6918ab128e15486d","ts":1669954269621},{"pid":"P1512","value":"0","ts":0},{"pid":"P1513","value":"0","ts":0},{"pid":"P1514","value":"0","ts":0},{"pid":"P1516","value":"","ts":0},{"pid":"P1522","value":"","ts":0},{"pid":"P1523","value":"","ts":0},{"pid":"P1524","value":"","ts":0},{"pid":"P1525","value":"","ts":0},{"pid":"P1526","value":"","ts":0},{"pid":"P1527","value":"","ts":0},{"pid":"P1528","value":"0","ts":0},{"pid":"P1529","value":"0","ts":0},{"pid":"P1530","value":"0","ts":0},{"pid":"P1531","value":"0","ts":0},{"pid":"P1532","value":"0","ts":0},{"pid":"P1533","value":"","ts":0},{"pid":"P1534","value":"","ts":0},{"pid":"P16","value":"1","ts":0},{"pid":"P3","value":"1","ts":0},{"pid":"P5","value":"1","ts":0}]}}
[9/11/2023, 11:07:44 AM] [WyzeBridge] Updating brightness record for D03F27940517 (Broken) to : ""
[9/11/2023, 11:07:44 AM] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Brightness': characteristic value expected valid finite number and received "NaN" (number). See https://homebridge.io/w/JtMGR for more info.
[9/11/2023, 11:07:44 AM] [WyzeBridge] Updating color Temp record for D03F27940517 (Broken) to : null
[9/11/2023, 11:07:44 AM] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.

/usr/lib/node_modules/homebridge-wyze-smart-home/node_modules/colorsys/colorsys.js:197
  return colorsys.rgb2Hsv(rgb.r, rgb.g, rgb.b)
                              ^
TypeError: Cannot read properties of null (reading 'r')
    at Object.colorsys.hex2Hsv (/usr/lib/node_modules/homebridge-wyze-smart-home/node_modules/colorsys/colorsys.js:197:31)
    at WyzeMeshLight.updateColor (/usr/lib/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeMeshLight.js:73:31)
    at WyzeMeshLight.updateCharacteristics (/usr/lib/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeMeshLight.js:54:18)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at WyzeMeshLight.update (/usr/lib/node_modules/homebridge-wyze-smart-home/src/accessories/WyzeAccessory.js:326:7)
[9/11/2023, 11:07:44 AM] [WyzeBridge] Child bridge process ended
[9/11/2023, 11:07:44 AM] [WyzeBridge] Process Ended. Code: 1, Signal: null
[9/11/2023, 11:07:51 AM] [WyzeBridge] Restarting Process...
[9/11/2023, 11:07:53 AM] [WyzeBridge] Launched child bridge with PID 4850

Even though you can see the cameras listed and showing "ignoring because it is in the ignore devices list - it is still pulling a thumbnail for each one? Why would that be needed if they are ignored?

Anyway to get BR30 bulb support officially working again please?

jfarmer08 commented 1 year ago

Is there anything wrong with the bulbs in the app? Are they online? Could you try to exclude it by MAC address?

gleep52 commented 1 year ago

The Wyze app always sucks and is so terribly slow... but they do work, just takes about 5-10 seconds per change or click. Cameras are always responsive. IF I exclude the category meshlights - then the bridge loads successfully - but I'm not sure where the cameras are - I've always excluded them in the past. These bulbs I guess are considered mesh lights though, which is my entire purpose of using this plugin.

jfarmer08 commented 1 year ago

Are you still seeing this issue? If so can you run debug logging and return that back to me.

smcallah commented 1 year ago

I am still seeing the issue after upgrading to v0.5.37-alpha.1

This seems to be the relevant log for one of the BR30 color bulbs:

[25/09/2023, 04:10:33] [Wyze] API response PerformRequest: {"ts":1695629433298,"code":"1","msg":"","data":{"property_list":[{"pid":"P1501","value":"13","ts":1695179164490},{"pid":"P1502","value":"","ts":0},{"pid":"P1503","value":"","ts":0},{"pid":"P1504","value":"-59","ts":1695568137445},{"pid":"P1505","value":"0","ts":0},{"pid":"P1506","value":"0","ts":1695179164602},{"pid":"P1507","value":"0F38FD","ts":1695179164588},{"pid":"P1508","value":"1","ts":1695179164353},{"pid":"P1509","value":"1","ts":1695179164333},{"pid":"P1510","value":"1","ts":0},{"pid":"P1511","value":"6918ab128e15486d","ts":1692152694536},{"pid":"P1512","value":"0","ts":0},{"pid":"P1513","value":"0","ts":0},{"pid":"P1514","value":"0","ts":0},{"pid":"P1516","value":"","ts":0},{"pid":"P1522","value":"","ts":0},{"pid":"P1523","value":"","ts":0},{"pid":"P1524","value":"","ts":0},{"pid":"P1525","value":"","ts":0},{"pid":"P1526","value":"","ts":0},{"pid":"P1527","value":"","ts":0},{"pid":"P1528","value":"0","ts":1695179164517},{"pid":"P1529","value":"1","ts":1695179164382},{"pid":"P1530","value":"1","ts":1670211316039},{"pid":"P1531","value":"1","ts":1670211316039},{"pid":"P1532","value":"1","ts":1670211316039},{"pid":"P1533","value":"","ts":0},{"pid":"P1534","value":"","ts":0},{"pid":"P16","value":"1","ts":0},{"pid":"P3","value":"0","ts":1695610865367},{"pid":"P5","value":"1","ts":1695357098752}]}} [25/09/2023, 04:10:33] [Wyze] Updating brightness record for redacted (Front Porch Bulb 1) to 13: "13" [25/09/2023, 04:10:33] [Wyze] Updating color Temp record for redacted (Front Porch Bulb 1) to : null [25/09/2023, 04:10:33] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info. [25/09/2023, 04:10:33] [Wyze] Updating color record for redacted (Front Porch Bulb 1) to 0F38FD: {"h":230,"s":94,"v":99}

I don't believe the BR30 color bulbs can have color temp set, so Wyze API is just sending P1502 as an empty value? I don't see a color temp setting in the app, just color and brightness.

jfarmer08 commented 1 year ago

Would you be able to share the bulb with me? That would helo alot.

wyzeapi @ gmail dot com

smcallah commented 1 year ago

Sure, I have shared it.

smcallah commented 1 year ago

BTW, seeing this for the bulb that was shared now:

[27/09/2023, 00:47:56] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic was supplied illegal value: number 556 exceeded maximum of 500. See https://homebridge.io/w/JtMGR for more info.

jfarmer08 commented 1 year ago

Yes I am seeing the same thing.

smcallah commented 1 year ago

Saw that the error is gone and you have the bulb set to a mode without color. So it appears if you have the bulb set as a color other than natural light colors that its color temp setting is invalid?

jfarmer08 commented 1 year ago

So this bulb, does it have color and white?

jfarmer08 commented 1 year ago

From the app it looks like it. imageimage

smcallah commented 1 year ago

I never use the white light, but it does appear to be both color and white as Wyze states in their marketing that it has white temperature control, which it certainly does in the app.

jfarmer08 commented 12 months ago

Update available

smcallah commented 12 months ago

Just installed the update, but still getting the message immediately after for the one light I didn't share with you:

[06/10/2023, 18:10:13] [Homebridge UI] Running Command: npm install --save homebridge-wyze-smart-home@0.5.37-alpha.3
[06/10/2023, 18:11:00] [Wyze] Common (Model: CO_AP1 (Mac: CO_AP1_7C78B2CA2882 (Name: Downstairs Purifier) not supported submit a request to https://github.com/jfarmer08/homebridge-wyze-smart-home/issues to have it added. If no issues are found
[06/10/2023, 18:11:00] [homebridge-wyze-smart-home] This plugin generated a warning from the characteristic 'Color Temperature': characteristic value expected valid finite number and received "Infinity" (number). See https://homebridge.io/w/JtMGR for more info.

I wonder if it's because I never used the white light and set the color temp? I don't get any messages for the light that I shared with you.

jfarmer08 commented 11 months ago

https://github.com/jfarmer08/homebridge-wyze-smart-home/releases/tag/v0.5.37-alpha.3

smcallah commented 11 months ago

Just in case anyone needs this, the log message didn't stop for me until I deleted the cached accessories after disabling the plugin. Also, when I made a change in relation to the same bulbs, to see if the log message would stop, and before deleting the cache, the plugin was in a crash loop on 0.5.37-alpha.3 and alpha.4.

No problems after cached accessories deleted though.