homebridge-switchbot: Bug: SwitchBot Meter not parsing Temperature

Describe The Bug

SwitchBot Meter not parsing Temperature but is able to parse Humidity

To Reproduce

Add Meter config and enable

Expected behavior

Be able to parse both Temperature and Humidity values. Be able to display values.

Relevant log output

Switchbot BridgeSwitchBot[DEBUG] SwitchBot Meter BatteryLevel: 100, StatusLowBattery: 0
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter Humidity: 65%
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter Temperature: [object Object]°c
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter updateCharacteristic CurrentRelativeHumidity: 65
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter updateCharacteristic CurrentTemperature: [object Object]
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter updateCharacteristic BatteryLevel: 100
2/11/2022, 9:05:37 amSwitchbot BridgeSwitchBot[DEBUG] Meter: SwitchBot Meter updateCharacteristic StatusLowBattery: 0
2/11/2022, 9:05:37 amSwitchbot BridgeERROR[Switchbot Bridge 7F57@Switch Meter 2F@@Current Temperature] characteristic value expected valid finite number and received "[object Object]" (object)

Config for homebridge-switchbot

{
    "platform": "SwitchBot",
    "name": "SwitchBot",
    "credentials": {
        "notice": "Keep your token a secret!",
        "openToken": "<blah>",
        "token": "<blah>",
        "secret": "<blah>"
    },
    "options": {
        "devices": [
            {
                "configDeviceName": "SwitchBot Meter",
                "configDeviceType": "Meter",
                "connectionType": "BLE",
                "scanDuration": 300,
                "bot": {
                    "deviceType": "fan",
                    "allowPush": true
                },
                "deviceId": "<blah>",
                "lock": {
                    "hide_contactsensor": false
                },
                "external": false,
                "meter": {
                    "hide_temperature": false
                }
            }
        ],
        "logging": "standard"
    }
}

Screenshots

No response

Device & Model

SwitchBot Meter (Firmware v2.6)

Node.js Version

16.17.0

NPM Version

8.15.0

Homebridge Version

1.5

Homebridge Switchbot Plugin Version

2.2.2

Homebridge Config UI X Plugin Version

No response

Operating System

Raspbian GNU/Linux 11 (bullseye)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21

Commits related to this issue

Most upvoted comments

Hi everyone I have the same problem. It seems that the temperature field is an object that contains both Celsius and Fahrenheit values as you can see from this log extract:

[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum model: T, modelName: WoSensorTH, temperature: 21.6, humidity: 55, battery: 100
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum connected: true
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum BLEparseStatus
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Temp&Hum BatteryLevel: 100, StatusLowBattery: 0
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum Humidity: 55%
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum Temperature: [object Object]°c
[11/11/2022, 18:42:39] [SwitchBot] [DEBUG] Meter: Temp&Hum updateCharacteristic CurrentRelativeHumidity: 55
[11/11/2022, 18:42:39] [@switchbot/homebridge-switchbot] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "[object Object]" (object). See https://homebridge.io/w/JtMGR for more info.