OpenWonderLabs / homebridge-switchbot

The Homebridge SwitchBot plugin allows you to access your SwitchBot Device(s) from HomeKit. Homebridge.
https://www.switch-bot.com/
ISC License
229 stars 47 forks source link

Bug: Ceiling Light does not respect changes outside of Homebridge/Homekit #946

Closed Exor closed 3 months ago

Exor commented 4 months ago

Describe the Bug

After using the Switchbot app or remote control to change the ceiling light, during the next refresh, the light changes to the previous setting in homekit.

For example, I turn off the light with the remote, then 10-120 seconds later the light will turn on without any user interaction. I usually have to turn off the light 2 or 3 times with the remote before it will stay off.

To Reproduce

Turn the ceiling light on in the Home app, then adjust the light to a different setting with the Switchbot app or remote.

Expected Behavior

Homebridge checks the current light setting and updates it's config to match, instead of overriding it.

Relevant Log Output

[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus: {"statusCode":100,"body":{"deviceId":"XXXXXXXXXXXX","deviceType":"Ceiling Light","hubDeviceId":"XXXXXXXXXXXX","power":"on","brightness":30,"colorTemperature":2950,"version":"V1.3-0.4"},"message":"success"}
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus statusCode: 100
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200 & deviceStatus StatusCode: 100
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIparseStatus
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light On: true
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Brightness: 30
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light OpenAPI ColorTemperature: 2950
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light ColorTemperature: 339
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic On: true
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Brightness: 30
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic ColorTemperature: 339
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Hue: 0
[2/28/2024, 5:45:05 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Saturation: undefined
[2/28/2024, 5:45:17 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIRefreshStatus
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus: {"statusCode":100,"body":{"deviceId":"XXXXXXXXXXXX","deviceType":"Ceiling Light","hubDeviceId":"XXXXXXXXXXXX","power":"on","brightness":30,"colorTemperature":2950,"version":"V1.3-0.4"},"message":"success"}
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus statusCode: 100
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200 & deviceStatus StatusCode: 100
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIparseStatus
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light On: true
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Brightness: 30
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light OpenAPI ColorTemperature: 2950
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light ColorTemperature: 339
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic On: true
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Brightness: 30
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic ColorTemperature: 339
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Hue: 0
[2/28/2024, 5:45:19 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Saturation: undefined
[2/28/2024, 5:45:32 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIRefreshStatus
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus: {"statusCode":100,"body":{"deviceId":"XXXXXXXXXXXX","deviceType":"Ceiling Light","hubDeviceId":"XXXXXXXXXXXX","power":"on","brightness":30,"colorTemperature":2950,"version":"V1.3-0.4"},"message":"success"}
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus statusCode: 100
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200 & deviceStatus StatusCode: 100
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIparseStatus
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light On: true
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Brightness: 30
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light OpenAPI ColorTemperature: 2950
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light ColorTemperature: 339
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic On: true
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Brightness: 30
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic ColorTemperature: 339
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Hue: 0
[2/28/2024, 5:45:35 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Saturation: undefined
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light No Changes, Set ColorTemperature: 340
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIRefreshStatus
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIpushChanges
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light No openAPIpushChanges.On: true, OnCached: true
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light pushHueSaturationChanges
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light No pushHueSaturationChanges. Hue: 0, HueCached: 0, Saturation: undefined, SaturationCached: undefined
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light pushColorTemperatureChanges
[2/28/2024, 5:46:02 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Sending request to SwitchBot API, body: {"command":"setColorTemperature","parameter":"2941","commandType":"command"},
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus: {"statusCode":100,"body":{"deviceId":"XXXXXXXXXXXX","deviceType":"Ceiling Light","hubDeviceId":"XXXXXXXXXXXX","power":"off","brightness":30,"colorTemperature":2950,"version":"V1.3-0.4"},"message":"success"}
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus statusCode: 100
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200 & deviceStatus StatusCode: 100
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light openAPIparseStatus
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light On: false
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Brightness: 30
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light OpenAPI ColorTemperature: 2950
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light ColorTemperature: 339
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic On: false
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Brightness: 30
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic ColorTemperature: 339
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light updateCharacteristic Hue: 0
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light Saturation: undefined
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus: {"statusCode":100,"body":{"items":[{"deviceID":"XXXXXXXXXXXX","code":100,"status":{"fold":8,"model":"sun","wifiMac":"XXXXXXXXXXXX","power":"on","brightness":30,"colorTemperature":2941},"message":"success"}]},"message":"success"}
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus body: {"items":[{"deviceID":"XXXXXXXXXXXX","code":100,"status":{"fold":8,"model":"sun","wifiMac":"XXXXXXXXXXXX","power":"on","brightness":30,"colorTemperature":2941},"message":"success"}]}
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light deviceStatus statusCode: 100
[2/28/2024, 5:46:04 PM] [SwitchBot] [DEBUG] Ceiling Light: Ceiling Light statusCode: 200 & deviceStatus StatusCode: 100

Config for homebridge-switchbot

{
    "name": "SwitchBot",
    "credentials": {
        "token": "XXX",
        "secret": "XXX",
        "notice": "Keep your Token & Secret a secret!"
    },
    "options": {
        "refreshRate": 30,
        "logging": "debug"
    },
    "_bridge": {
        "username": "XX:XX:XX:XX",
        "port": XXX
    },
    "platform": "SwitchBot"
}

Screenshots

No response

Device and Model

Ceiling Light Firmware V1.3-0.4

Node.js Version

v18.19.0

NPM Version

v10.2.3

Homebridge Version

v1.7.0

Homebridge Switchbot Plugin Version

v3.4.0

Homebridge Config UI X Plugin Version

No response

Operating System

Docker

github-actions[bot] commented 3 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] commented 3 months ago

This issue has been closed as no further activity has occurred.