lucavb / homebridge-esphome-ts

This plugin integrates your esphome devices into HomeKit!
GNU General Public License v3.0
47 stars 16 forks source link

ESP8266+SHT31 temp+humidity sensor - temp is reading high... #493

Closed mattsn0w closed 1 year ago

mattsn0w commented 1 year ago

Hello and thank you for spending some time on this plugin for home bridge! I have a wemos D1 mini with an SHT31 temperature+humidity sensor that is working with a recent ESPHome build. The ESPHome config is here.

I am able to load homebridge-esphome-ts as a child bridge and have the QR code scanned into homekit, the temp and humidity appear in homekit, but the temperature sensor is reading at 160F, however the value returned in the web UI is 70.5F. Here is the homebridge status output:

[2/23/2023, 9:47:28 PM] Registering platform 'homebridge-esphome-ts.esphome'
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] Loaded homebridge-esphome-ts v1.5.1 child bridge successfully
[2/23/2023, 9:47:28 PM] Loaded 0 cached accessories from cachedAccessories.0EA3119820E3.
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] starting esphome
[2/23/2023, 9:47:28 PM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-esphome-ts) is running on port 43673.
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] Temperature discovered and setup.
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] Humidity discovered and setup.
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] Temperature discovered and setup.
[2/23/2023, 9:47:28 PM] [homebridge-esphome-ts] Humidity discovered and setup.
[2/23/2023, 9:49:43 PM] [Homebridge UI] Changes to config.json saved.
[2/23/2023, 9:49:49 PM] [homebridge-esphome-ts] Restarting child bridge...
[2/23/2023, 9:49:49 PM] Got SIGTERM, shutting down child bridge process...
[2/23/2023, 9:49:54 PM] [homebridge-esphome-ts] Child bridge process ended
[2/23/2023, 9:49:54 PM] [homebridge-esphome-ts] Process Ended. Code: 143, Signal: null
[2/23/2023, 9:50:01 PM] [homebridge-esphome-ts] Restarting Process...
[2/23/2023, 9:50:02 PM] [homebridge-esphome-ts] Launched child bridge with PID 10540
[2/23/2023, 9:50:03 PM] Registering platform 'homebridge-esphome-ts.esphome'
[2/23/2023, 9:50:03 PM] [homebridge-esphome-ts] Loaded homebridge-esphome-ts v1.5.1 child bridge successfully
[2/23/2023, 9:50:03 PM] Loaded 2 cached accessories from cachedAccessories.0EA3119820E3.
[2/23/2023, 9:50:03 PM] [homebridge-esphome-ts] starting esphome
[2/23/2023, 9:50:03 PM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-esphome-ts) is running on port 43673.
[2/23/2023, 9:50:03 PM] [homebridge-esphome-ts] Temperature discovered and setup.
[2/23/2023, 9:50:03 PM] [homebridge-esphome-ts] Humidity discovered and setup.
[2/23/2023, 9:56:54 PM] [Homebridge UI] Changes to config.json saved.
[2/23/2023, 9:57:00 PM] [homebridge-esphome-ts] Restarting child bridge...
[2/23/2023, 9:57:00 PM] Got SIGTERM, shutting down child bridge process...
[2/23/2023, 9:57:05 PM] [homebridge-esphome-ts] Child bridge process ended
[2/23/2023, 9:57:05 PM] [homebridge-esphome-ts] Process Ended. Code: 143, Signal: null
[2/23/2023, 9:57:12 PM] [homebridge-esphome-ts] Restarting Process...
[2/23/2023, 9:57:13 PM] [homebridge-esphome-ts] Launched child bridge with PID 10551
[2/23/2023, 9:57:14 PM] Registering platform 'homebridge-esphome-ts.esphome'
[2/23/2023, 9:57:14 PM] [homebridge-esphome-ts] Loaded homebridge-esphome-ts v1.5.1 child bridge successfully
[2/23/2023, 9:57:14 PM] Loaded 2 cached accessories from cachedAccessories.0EA3119820E3.
[2/23/2023, 9:57:14 PM] [homebridge-esphome-ts] starting esphome
[2/23/2023, 9:57:14 PM] [homebridge-esphome-ts] cached accessory Temperature was added []
[2/23/2023, 9:57:14 PM] [homebridge-esphome-ts] cached accessory Humidity was added []
[2/23/2023, 9:57:14 PM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-esphome-ts) is running on port 43673.
[2/23/2023, 9:57:19 PM] [homebridge-esphome-ts] Writing the raw data from your ESP Device to /tmp
[2/23/2023, 9:57:19 PM] [homebridge-esphome-ts] Temperature discovered and setup.
[2/23/2023, 9:57:19 PM] [homebridge-esphome-ts] Humidity discovered and setup.
[2/23/2023, 9:57:19 PM] [homebridge-esphome-ts] {
  temperature: SensorComponent {
    listEntity: {
      objectId: 'temperature',
      key: 899752953,
      name: 'Temperature',
      uniqueId: 'sensor-th-0-kitchen-countersensortemperature',
      icon: '',
      unitOfMeasurement: '°F',
      accuracyDecimals: 1,
      forceUpdate: false,
      deviceClass: 'temperature'
    },
    commandInterface: { sendEspMessage: [Function: sendEspMessage] },
    state: BehaviorSubject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null,
      _value: [Object]
    },
    terminatePreviousStateSubscription: Subject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null
    },
    teardown: Subject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null
    },
    commandInPipeline: BehaviorSubject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null,
      _value: false
    },
    'state$': AnonymousSubject {
      closed: false,
      observers: [],
      isStopped: false,
      hasError: false,
      thrownError: null,
      destination: [BehaviorSubject],
      source: [BehaviorSubject],
      operator: [Function (anonymous)]
    }
  },
  humidity: SensorComponent {
    listEntity: {
      objectId: 'humidity',
      key: 3577765598,
      name: 'Humidity',
      uniqueId: 'sensor-th-0-kitchen-countersensorhumidity',
      icon: '',
      unitOfMeasurement: '%',
      accuracyDecimals: 1,
      forceUpdate: false,
      deviceClass: 'humidity'
    },
    commandInterface: { sendEspMessage: [Function: sendEspMessage] },
    state: BehaviorSubject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null,
      _value: [Object]
    },
    terminatePreviousStateSubscription: Subject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null
    },
    teardown: Subject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null
    },
    commandInPipeline: BehaviorSubject {
      closed: false,
      observers: [Array],
      isStopped: false,
      hasError: false,
      thrownError: null,
      _value: false
    },
    'state$': AnonymousSubject {
      closed: false,
      observers: [],
      isStopped: false,
      hasError: false,
      thrownError: null,
      destination: [BehaviorSubject],
      source: [BehaviorSubject],
      operator: [Function (anonymous)]
    }
  }
} []

Here is the contents of the /tmp/ file after enabling debug:

root@brick5:/tmp $ cat esphome-log-1677214639238-172.16.40.50.json
{"type":2,"payload":"CAEQBxowc2Vuc29yLXRoLTAta2l0Y2hlbi1jb3VudGVyIChlc3Bob21lIHYyMDIyLjEyLjMpIhtzZW5zb3ItdGgtMC1raXRjaGVuLWNvdW50ZXI=","time":1677214639282}
{"type":4,"payload":"","time":1677214639315}
{"type":10,"payload":"EhtzZW5zb3ItdGgtMC1raXRjaGVuLWNvdW50ZXIaEUU4OjlGOjZEOjkyOkE5OkYwIgkyMDIyLjEyLjMqFUZlYiAgNSAyMDIzLCAxNDo1OTowOTIHZDFfbWluaVBQYglFc3ByZXNzaWY=","time":1677214639337}
{"type":16,"payload":"Cgt0ZW1wZXJhdHVyZRX5I6E1GgtUZW1wZXJhdHVyZSIsc2Vuc29yLXRoLTAta2l0Y2hlbi1jb3VudGVyc2Vuc29ydGVtcGVyYXR1cmUyA8KwRjgBSgt0ZW1wZXJhdHVyZVAB","time":1677214639380}
{"type":16,"payload":"CghodW1pZGl0eRXeXkDVGghIdW1pZGl0eSIpc2Vuc29yLXRoLTAta2l0Y2hlbi1jb3VudGVyc2Vuc29yaHVtaWRpdHkyASU4AUoIaHVtaWRpdHlQAQ==","time":1677214639390}
{"type":25,"payload":"DfkjoTUV5VaNQg==","time":1677214639454}
{"type":25,"payload":"Dd5eQNUVv+u+QQ==","time":1677214639455}
{"type":19,"payload":"","time":1677214639479}
{"type":25,"payload":"DfkjoTUV93GNQg==","time":1677214651850}
{"type":25,"payload":"Dd5eQNUVP1y/QQ==","time":1677214651882}
{"type":25,"payload":"DfkjoTUVqWWNQg==","time":1677214666861}
{"type":25,"payload":"Dd5eQNUVfmi+QQ==","time":1677214666871}
{"type":25,"payload":"DfkjoTUVqWWNQg==","time":1677214681856}
{"type":25,"payload":"Dd5eQNUVn52+QQ==","time":1677214681876}
{"type":25,"payload":"DfkjoTUVST6NQg==","time":1677214696857}
{"type":25,"payload":"Dd5eQNUV/sW9QQ==","time":1677214696863}
{"type":7,"payload":"","time":1677214699403}
{"type":25,"payload":"DfkjoTUVhS+NQg==","time":1677214711866}
{"type":25,"payload":"Dd5eQNUVP5S+QQ==","time":1677214711915}
{"type":25,"payload":"DfkjoTUVhS+NQg==","time":1677214726850}
{"type":25,"payload":"Dd5eQNUVn+i+QQ==","time":1677214726864}
{"type":25,"payload":"DfkjoTUVNyONQg==","time":1677214741849}
{"type":25,"payload":"Dd5eQNUVn+i+QQ==","time":1677214741857}
{"type":25,"payload":"DfkjoTUV6RaNQg==","time":1677214756850}
{"type":25,"payload":"Dd5eQNUVHl++QQ==","time":1677214756863}
{"type":7,"payload":"","time":1677214759437}
{"type":25,"payload":"DfkjoTUVmwqNQg==","time":1677214771850}
{"type":25,"payload":"Dd5eQNUVP8a+QQ==","time":1677214771916}
{"type":25,"payload":"DfkjoTUVie+MQg==","time":1677214786853}
{"type":25,"payload":"Dd5eQNUVX/u+QQ==","time":1677214786867}
{"type":25,"payload":"DfkjoTUVie+MQg==","time":1677214801853}
{"type":25,"payload":"Dd5eQNUVnzO/QQ==","time":1677214801858}
{"type":25,"payload":"DfkjoTUVie+MQg==","time":1677214816856}
{"type":25,"payload":"Dd5eQNUVfxe/QQ==","time":1677214816858}
{"type":7,"payload":"","time":1677214819469}
{"type":25,"payload":"DfkjoTUVO+OMQg==","time":1677214831896}
{"type":25,"payload":"Dd5eQNUVwMy/QQ==","time":1677214831989}
{"type":25,"payload":"DfkjoTUV7daMQg==","time":1677214846859}
{"type":25,"payload":"Dd5eQNUVwOW/QQ==","time":1677214846862}
{"type":25,"payload":"DfkjoTUVja+MQg==","time":1677214861857}
{"type":25,"payload":"Dd5eQNUVoMm/QQ==","time":1677214861867}
{"type":25,"payload":"DfkjoTUVP6OMQg==","time":1677214876854}
{"type":25,"payload":"Dd5eQNUVoPu/QQ==","time":1677214876864}
{"type":7,"payload":"","time":1677214879492}
{"type":25,"payload":"DfkjoTUVLYiMQg==","time":1677214891849}
{"type":25,"payload":"Dd5eQNUVQKe/QQ==","time":1677214891905}
{"type":25,"payload":"DfkjoTUVGm2MQg==","time":1677214906880}
{"type":25,"payload":"Dd5eQNUVIIu/QQ==","time":1677214906885}
{"type":25,"payload":"DfkjoTUVflSMQg==","time":1677214921862}
{"type":25,"payload":"Dd5eQNUVQAvAQQ==","time":1677214921864}
{"type":25,"payload":"DfkjoTUVflSMQg==","time":1677214936854}
{"type":25,"payload":"Dd5eQNUV4J2/QQ==","time":1677214936858}
{"type":7,"payload":"","time":1677214939519}
{"type":25,"payload":"DfkjoTUVflSMQg==","time":1677214951874}
{"type":25,"payload":"Dd5eQNUVQAvAQQ==","time":1677214951922}
{"type":25,"payload":"DfkjoTUVMEiMQg==","time":1677214966861}
{"type":25,"payload":"Dd5eQNUVANO/QQ==","time":1677214966864}
{"type":25,"payload":"DfkjoTUVbDmMQg==","time":1677214981853}
{"type":25,"payload":"Dd5eQNUV4RTBQQ==","time":1677214981863}
{"type":25,"payload":"DfkjoTUVqCqMQg==","time":1677214996859}
{"type":25,"payload":"Dd5eQNUV4S3BQQ==","time":1677214996875}
{"type":7,"payload":"","time":1677214999554}
{"type":25,"payload":"DfkjoTUVbDmMQg==","time":1677215011859}
{"type":25,"payload":"Dd5eQNUVQrTBQQ==","time":1677215011917}
{"type":25,"payload":"DfkjoTUVMEiMQg==","time":1677215026864}
{"type":25,"payload":"Dd5eQNUVAnbCQQ==","time":1677215026868}
{"type":25,"payload":"DfkjoTUVWh6MQg==","time":1677215041872}
{"type":25,"payload":"Dd5eQNUVA/PCQQ==","time":1677215041875}
{"type":25,"payload":"DfkjoTUVqCqMQg==","time":1677215056866}
{"type":25,"payload":"Dd5eQNUVA/PCQQ==","time":1677215056881}
{"type":7,"payload":"","time":1677215059583}
{"type":25,"payload":"DfkjoTUVqCqMQg==","time":1677215071870}
{"type":25,"payload":"Dd5eQNUVQyvDQQ==","time":1677215071922}
{"type":25,"payload":"DfkjoTUVSAOMQg==","time":1677215086847}
{"type":25,"payload":"Dd5eQNUVI1rDQQ==","time":1677215086858}
{"type":25,"payload":"DfkjoTUVWh6MQg==","time":1677215101858}
{"type":25,"payload":"Dd5eQNUVQ0TDQQ==","time":1677215101865}
{"type":25,"payload":"DfkjoTUVWh6MQg==","time":1677215116853}
{"type":25,"payload":"Dd5eQNUVQ3bDQQ==","time":1677215116858}
{"type":7,"payload":"","time":1677215119613}
{"type":25,"payload":"DfkjoTUVbDmMQg==","time":1677215131970}
{"type":25,"payload":"Dd5eQNUVY0fDQQ==","time":1677215132020}
{"type":25,"payload":"DfkjoTUVqCqMQg==","time":1677215146854}
{"type":25,"payload":"Dd5eQNUVQyvDQQ==","time":1677215146864}
{"type":25,"payload":"DfkjoTUVbDmMQg==","time":1677215161859}
{"type":25,"payload":"Dd5eQNUVQ/nCQQ==","time":1677215161880}
{"type":25,"payload":"DfkjoTUVWh6MQg==","time":1677215176848}
{"type":25,"payload":"Dd5eQNUVQ3bDQQ==","time":1677215176854}
{"type":7,"payload":"","time":1677215179645}
{"type":25,"payload":"DfkjoTUVqCqMQg==","time":1677215191873}
{"type":25,"payload":"Dd5eQNUVY0fDQQ==","time":1677215191924}
{"type":25,"payload":"DfkjoTUVMEiMQg==","time":1677215206845}
{"type":25,"payload":"Dd5eQNUVg2PDQQ==","time":1677215206857}
{"type":25,"payload":"DfkjoTUVMEiMQg==","time":1677215221882}
{"type":25,"payload":"Dd5eQNUVpJjDQQ==","time":1677215221887}
{"type":25,"payload":"DfkjoTUVMEiMQg==","time":1677215236847}
{"type":25,"payload":"Dd5eQNUVo3/DQQ==","time":1677215236854}
{"type":7,"payload":"","time":1677215239675}
{"type":25,"payload":"DfkjoTUVflSMQg==","time":1677215251858}
{"type":25,"payload":"Dd5eQNUVozTDQQ==","time":1677215251932}
{"type":25,"payload":"DfkjoTUVzGCMQg==","time":1677215266852}
{"type":25,"payload":"Dd5eQNUVYxXDQQ==","time":1677215266858}
{"type":25,"payload":"DfkjoTUVGm2MQg==","time":1677215281849}
{"type":25,"payload":"Dd5eQNUVBNTDQQ==","time":1677215281857}
{"type":25,"payload":"DfkjoTUV3nuMQg==","time":1677215296862}
{"type":25,"payload":"Dd5eQNUVw1DDQQ==","time":1677215296869}
{"type":7,"payload":"","time":1677215299709}
{"type":25,"payload":"DfkjoTUVLYiMQg==","time":1677215311862}
{"type":25,"payload":"Dd5eQNUV5bHEQQ==","time":1677215311918}
{"type":25,"payload":"DfkjoTUV3nuMQg==","time":1677215326845}
{"type":25,"payload":"Dd5eQNUV5fzEQQ==","time":1677215326857}
{"type":25,"payload":"DfkjoTUVe5SMQg==","time":1677215341858}
{"type":25,"payload":"Dd5eQNUVZVTFQQ==","time":1677215341863}
{"type":25,"payload":"DfkjoTUVP6OMQg==","time":1677215356845}
{"type":25,"payload":"Dd5eQNUVZW3FQQ==","time":1677215356859}
{"type":7,"payload":"","time":1677215359747}
{"type":25,"payload":"DfkjoTUVja+MQg==","time":1677215371849}
{"type":25,"payload":"Dd5eQNUVRn3GQQ==","time":1677215371899}
{"type":25,"payload":"DfkjoTUV27uMQg==","time":1677215386849}
{"type":25,"payload":"Dd5eQNUVRn3GQQ==","time":1677215386863}
{"type":25,"payload":"DfkjoTUV27uMQg==","time":1677215401864}
{"type":25,"payload":"Dd5eQNUVRn3GQQ==","time":1677215401872}
{"type":25,"payload":"DfkjoTUV27uMQg==","time":1677215416844}
{"type":25,"payload":"Dd5eQNUV5zvHQQ==","time":1677215416852}
{"type":7,"payload":"","time":1677215419757}
{"type":25,"payload":"DfkjoTUVKciMQg==","time":1677215431862}
{"type":25,"payload":"Dd5eQNUVpozFQQ==","time":1677215431910}
{"type":25,"payload":"DfkjoTUV27uMQg==","time":1677215446847}
{"type":25,"payload":"Dd5eQNUVSKnHQQ==","time":1677215446850}
{"type":25,"payload":"DfkjoTUVO+OMQg==","time":1677215461852}
{"type":25,"payload":"Dd5eQNUVyADIQQ==","time":1677215461855}
{"type":25,"payload":"DfkjoTUV7daMQg==","time":1677215476842}
{"type":25,"payload":"Dd5eQNUVx6LGQQ==","time":1677215476854}
{"type":7,"payload":"","time":1677215479788}
{"type":25,"payload":"DfkjoTUVKciMQg==","time":1677215491910}
{"type":25,"payload":"Dd5eQNUV6bLIQQ==","time":1677215491959}
{"type":25,"payload":"DfkjoTUVO+OMQg==","time":1677215506851}
{"type":25,"payload":"Dd5eQNUVhh/GQQ==","time":1677215506855}
{"type":25,"payload":"DfkjoTUV1/uMQg==","time":1677215521844}
{"type":25,"payload":"Dd5eQNUV56XGQQ==","time":1677215521858}
{"type":25,"payload":"DfkjoTUV1/uMQg==","time":1677215536849}
{"type":25,"payload":"Dd5eQNUVhlHGQQ==","time":1677215536853}
{"type":7,"payload":"","time":1677215539804}
{"type":25,"payload":"DfkjoTUVmwqNQg==","time":1677215551874}
{"type":25,"payload":"Dd5eQNUVqRDJQQ==","time":1677215551937}
{"type":25,"payload":"DfkjoTUVmwqNQg==","time":1677215566843}
{"type":25,"payload":"Dd5eQNUVifTIQQ==","time":1677215566853}
{"type":25,"payload":"DfkjoTUVmwqNQg==","time":1677215581850}
{"type":25,"payload":"Dd5eQNUVUMTPQQ==","time":1677215581865}
{"type":25,"payload":"DfkjoTUV1/uMQg==","time":1677215596843}
{"type":25,"payload":"Dd5eQNUVkwPTQQ==","time":1677215596856}
{"type":7,"payload":"","time":1677215599840}
{"type":25,"payload":"DfkjoTUVNyONQg==","time":1677215611855}
{"type":25,"payload":"Dd5eQNUV7ATMQQ==","time":1677215611909}
{"type":25,"payload":"DfkjoTUVmwqNQg==","time":1677215626845}
{"type":25,"payload":"Dd5eQNUVCX7JQQ==","time":1677215626849}
{"type":25,"payload":"DfkjoTUV6RaNQg==","time":1677215641862}
{"type":25,"payload":"Dd5eQNUVCrDJQQ==","time":1677215641873}
{"type":25,"payload":"DfkjoTUVNyONQg==","time":1677215656852}
{"type":25,"payload":"Dd5eQNUVKxHLQQ==","time":1677215656855}
{"type":7,"payload":"","time":1677215659876}
root@brick5:/tmp $
mattsn0w commented 1 year ago

Here is what the sensor is reading and reporting through the web UI sensor-th-0-kitchen-counter

mattsn0w commented 1 year ago

I home a couple other sensors on nodemcu ESP8266 boards with the same SHT31 sensor. Those ones are reading about the same, relative to their readings.

lucavb commented 1 year ago

Okay this appears to be an issue between Fahrenheit and Celsius (which homebridge uses internally). Luckily this should be easy enough to fix. Slightly bad news, I am having some issues with my npm account at the moment so I am unable to release a fix for this tonight. Npm says 1 to 3 business days.

lucavb commented 1 year ago

Okay so I just released version 1.5.3. That one should handle Fahrenheit correctly :)

mattsn0w commented 1 year ago

Unfortunately even after updating to 1.5.3 I am still seeing a reading of 173F on the sensor.