Eve Thermo overwrite 'current temperature' sensor?

Hello everyone,

just managed to integrate a Eve Thermo 4 into HA via thread. Everything seems to be working just fine.

One thing I’d love to fix with this integration is the reading of the integrated temperature sensor, which is in my case super off. I have another temperature sensor on the other side of the room which does a much more accurate reading of the room temp than the integrated sensor of the Eve Thermo (since it’s not right next to the radiator). That’s why I’d love to somehow use the other temp sensor’s reading to overwrite the reading of the internal one.

If anyone has any idea to accomplishe that I’d appreciate your input.

Thanks in advance!

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.1.5",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "armv7l",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.15.76-v7l",
    "supervisor": "2022.12.1",
    "host_os": "Home Assistant OS 9.4",
    "docker_version": "20.10.19",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.29.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "dyson_local": {
      "version": "0.16.4-4",
      "requirements": [
        "libdyson==0.8.11"
      ]
    },
    "adaptive_lighting": {
      "version": "1.4.1",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "homekit_controller",
    "name": "HomeKit Controller",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/homekit_controller",
    "requirements": [
      "aiohomekit==2.4.4"
    ],
    "zeroconf": [
      "_hap._tcp.local.",
      "_hap._udp.local."
    ],
    "bluetooth": [
      {
        "manufacturer_id": 76,
        "manufacturer_data_start": [
          6
        ]
      }
    ],
    "dependencies": [
      "bluetooth",
      "zeroconf"
    ],
    "codeowners": [
      "@Jc2k",
      "@bdraco"
    ],
    "iot_class": "local_push",
    "loggers": [
      "aiohomekit",
      "commentjson"
    ],
    "is_built_in": true
  },
  "data": {
    "config-entry": {
      "title": "Eve Thermo 8955",
      "version": 1,
      "data": {
        "AccessoryPairingID": "E5:CE:9D:06:F7:30",
        "AccessoryLTPK": "ab74ff2f11d825eccef9798f786d0b8cd1fdfaa81c9a37b1c052ffdba6152e87",
        "iOSPairingId": "e768374d-d932-4181-941a-f8c3eb45b0e6",
        "iOSDeviceLTSK": "**REDACTED**",
        "iOSDeviceLTPK": "af45b7de43becd14e71b45e5200970aaeb72cc9e2bc8a6bb07bc14a214e90e1b",
        "AccessoryIP": "**REDACTED**",
        "AccessoryPort": 5683,
        "Connection": "CoAP"
      }
    },
    "entity-map": [
      {
        "aid": 1,
        "services": [
          {
            "iid": 1,
            "type": "0000003E-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "00000014-0000-1000-8000-0026BB765291",
                "iid": 2,
                "perms": [
                  "pw"
                ],
                "format": "bool",
                "description": "Identify"
              },
              {
                "type": "00000020-0000-1000-8000-0026BB765291",
                "iid": 3,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "Eve Systems",
                "description": "Manufacturer",
                "maxLen": 64
              },
              {
                "type": "00000021-0000-1000-8000-0026BB765291",
                "iid": 4,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "Eve Thermo 20EBP1701",
                "description": "Model",
                "maxLen": 64
              },
              {
                "type": "00000023-0000-1000-8000-0026BB765291",
                "iid": 5,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "Eve Thermo 8955",
                "description": "Name",
                "maxLen": 64
              },
              {
                "type": "00000030-0000-1000-8000-0026BB765291",
                "iid": 6,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "**REDACTED**",
                "description": "Serial Number",
                "maxLen": 64
              },
              {
                "type": "00000052-0000-1000-8000-0026BB765291",
                "iid": 7,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "2.1.1",
                "description": "Firmware Revision",
                "maxLen": 64
              },
              {
                "type": "00000053-0000-1000-8000-0026BB765291",
                "iid": 8,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "1.1",
                "description": "Hardware Revision",
                "maxLen": 64
              },
              {
                "type": "34AB8811-AC7F-4340-BAC3-FD6A85F9943B",
                "iid": 9,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "string",
                "value": "\"5.2\";30b0d575",
                "maxLen": 64
              },
              {
                "type": "00000220-0000-1000-8000-0026BB765291",
                "iid": 10,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": "207757738c841b7d"
              },
              {
                "type": "000000A6-0000-1000-8000-0026BB765291",
                "iid": 11,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 0,
                "description": "Accessory Flags"
              }
            ]
          },
          {
            "iid": 12,
            "type": "000000A2-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 13,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "00000037-0000-1000-8000-0026BB765291",
                "iid": 14,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "1.2.0",
                "description": "Version",
                "maxLen": 64
              }
            ]
          },
          {
            "iid": 15,
            "type": "00000055-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "0000004C-0000-1000-8000-0026BB765291",
                "iid": 16,
                "perms": [],
                "format": "data",
                "description": "Pair Setup"
              },
              {
                "type": "0000004E-0000-1000-8000-0026BB765291",
                "iid": 17,
                "perms": [],
                "format": "data",
                "description": "Pair Verify"
              },
              {
                "type": "0000004F-0000-1000-8000-0026BB765291",
                "iid": 18,
                "perms": [],
                "format": "int",
                "description": "Pairing Features"
              },
              {
                "type": "00000050-0000-1000-8000-0026BB765291",
                "iid": 19,
                "perms": [
                  "pr",
                  "pw"
                ],
                "format": "data",
                "value": null,
                "description": "Pairing Pairings"
              }
            ]
          },
          {
            "iid": 20,
            "type": "00000701-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "00000702-0000-1000-8000-0026BB765291",
                "iid": 21,
                "perms": [
                  "pr"
                ],
                "format": "int",
                "value": 2,
                "description": "Thread Node Capabilities",
                "minValue": 0,
                "maxValue": 31
              },
              {
                "type": "00000703-0000-1000-8000-0026BB765291",
                "iid": 22,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 8,
                "description": "Thread Status",
                "minValue": 0,
                "maxValue": 127
              },
              {
                "type": "00000704-0000-1000-8000-0026BB765291",
                "iid": 23,
                "perms": [
                  "pr",
                  "pw"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "00000706-0000-1000-8000-0026BB765291",
                "iid": 24,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "OPENTHREAD/20170716-02552-geb173c52; NRF52840; Oct 28 2020 17:22:12",
                "maxLen": 64
              },
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 25,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "0000022B-0000-1000-8000-0026BB765291",
                "iid": 26,
                "perms": [
                  "pr"
                ],
                "format": "bool",
                "value": true
              }
            ]
          },
          {
            "iid": 27,
            "type": "E863F007-079E-48FF-8F27-9C2605A29F52",
            "characteristics": [
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 28,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "E863F131-079E-48FF-8F27-9C2605A29F52",
                "iid": 29,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "data",
                "value": "d9186d8e3f0a99c2d399a334619304800804000c6c29f69857c700024f000302150b040c434d34364c3141323234373106025f0b0704000d0000050100d8043046594d9c01000b0200005f04000000001d0100d2005d04000000003e003b0853544547543230383c01003701003f010026010027011e"
              },
              {
                "type": "E863F11D-079E-48FF-8F27-9C2605A29F52",
                "iid": 30,
                "perms": [
                  "pw",
                  "hd"
                ],
                "format": "data"
              },
              {
                "type": "E863F158-079E-48FF-8F27-9C2605A29F52",
                "iid": 31,
                "perms": [
                  "pr",
                  "pw",
                  "hd"
                ],
                "format": "data",
                "value": "80010000081ec6cbb55765bea601025c050201420850fdee2efb1a0d0000000000fffe005c05fd655c54b7f800000a2643a48476b789fd582015fe270000e30a7f273404bdfefdee2efb1a0d000027eadef1a9c9a495fe800000000000001cc6cbb55765bea68302d6778408ee2efb1a0d7e4f5c85020019860f4d79486f6d65323032333038353138"
              },
              {
                "type": "E863F116-079E-48FF-8F27-9C2605A29F52",
                "iid": 32,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "data",
                "value": "77ab3800bd9a380064cc79290601021102100112011d0123025f0b000c000d00007a4b1e000100"
              },
              {
                "type": "E863F117-079E-48FF-8F27-9C2605A29F52",
                "iid": 33,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "E863F11C-079E-48FF-8F27-9C2605A29F52",
                "iid": 34,
                "perms": [
                  "pw",
                  "hd"
                ],
                "format": "data"
              },
              {
                "type": "E863F121-079E-48FF-8F27-9C2605A29F52",
                "iid": 35,
                "perms": [
                  "pw",
                  "hd"
                ],
                "format": "data"
              },
              {
                "type": "E863F11E-079E-48FF-8F27-9C2605A29F52",
                "iid": 36,
                "perms": [
                  "pr",
                  "pw",
                  "hd"
                ],
                "format": "data",
                "value": "1f00010e4f00150b0b00660ab4f69071f0df"
              }
            ]
          },
          {
            "iid": 37,
            "type": "00000239-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 38,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "0000023A-0000-1000-8000-0026BB765291",
                "iid": 39,
                "perms": [
                  "pr"
                ],
                "format": "int",
                "value": 5000,
                "minValue": 10,
                "maxValue": 67108863
              },
              {
                "type": "0000023C-0000-1000-8000-0026BB765291",
                "iid": 40,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "0000024A-0000-1000-8000-0026BB765291",
                "iid": 41,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 231
              }
            ]
          },
          {
            "iid": 42,
            "type": "0000004A-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "00000023-0000-1000-8000-0026BB765291",
                "iid": 43,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "Eve Thermo",
                "description": "Name",
                "maxLen": 64
              },
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 44,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "0000000F-0000-1000-8000-0026BB765291",
                "iid": 45,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 1,
                "description": "Current Heating Cooling State",
                "minValue": 0,
                "maxValue": 1
              },
              {
                "type": "00000033-0000-1000-8000-0026BB765291",
                "iid": 46,
                "perms": [
                  "pr",
                  "pw",
                  "ev"
                ],
                "format": "int",
                "value": 1,
                "description": "Target Heating Cooling State",
                "minValue": 0,
                "maxValue": 1
              },
              {
                "type": "00000011-0000-1000-8000-0026BB765291",
                "iid": 47,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "float",
                "value": 24.5,
                "description": "Current Temperature",
                "unit": "celsius",
                "minValue": 0.0,
                "maxValue": 40.0,
                "minStep": 0.5
              },
              {
                "type": "00000035-0000-1000-8000-0026BB765291",
                "iid": 48,
                "perms": [
                  "pr",
                  "pw",
                  "ev"
                ],
                "format": "float",
                "value": 30.0,
                "description": "Target Temperature",
                "unit": "celsius",
                "minValue": 10.0,
                "maxValue": 30.0,
                "minStep": 0.5
              },
              {
                "type": "00000036-0000-1000-8000-0026BB765291",
                "iid": 49,
                "perms": [
                  "pr",
                  "pw",
                  "ev"
                ],
                "format": "int",
                "value": 0,
                "description": "Temperature Display Units",
                "minValue": 0,
                "maxValue": 1
              },
              {
                "type": "E863F12C-079E-48FF-8F27-9C2605A29F52",
                "iid": 50,
                "perms": [
                  "pw",
                  "hd"
                ],
                "format": "data"
              },
              {
                "type": "E863F12E-079E-48FF-8F27-9C2605A29F52",
                "iid": 51,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "int",
                "value": 24,
                "unit": "percentage",
                "minValue": 0,
                "maxValue": 100
              },
              {
                "type": "E863F12F-079E-48FF-8F27-9C2605A29F52",
                "iid": 52,
                "perms": [
                  "pr",
                  "hd"
                ],
                "format": "data",
                "value": "12e21300144017080af6010000fc1215130117fa2a84ffffffffffff2a84ffffffffffff2a84ffffffffffff2a84ffffffffffff2a84ffffffffffff3690ffffffffffff3690fffffffffffff43e3c202af3641900001a3690ffffffffffff"
              },
              {
                "type": "00000077-0000-1000-8000-0026BB765291",
                "iid": 53,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 0,
                "description": "Status Fault",
                "minValue": 0,
                "maxValue": 1
              }
            ]
          },
          {
            "iid": 54,
            "type": "00000096-0000-1000-8000-0026BB765291",
            "characteristics": [
              {
                "type": "000000A5-0000-1000-8000-0026BB765291",
                "iid": 55,
                "perms": [
                  "pr"
                ],
                "format": "data",
                "value": null
              },
              {
                "type": "00000068-0000-1000-8000-0026BB765291",
                "iid": 56,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 95,
                "description": "Battery Level",
                "unit": "percentage",
                "minValue": 0,
                "maxValue": 100,
                "minStep": 1
              },
              {
                "type": "00000079-0000-1000-8000-0026BB765291",
                "iid": 57,
                "perms": [
                  "pr",
                  "ev"
                ],
                "format": "int",
                "value": 0,
                "description": "Status Low Battery",
                "minValue": 0,
                "maxValue": 1
              },
              {
                "type": "00000023-0000-1000-8000-0026BB765291",
                "iid": 58,
                "perms": [
                  "pr"
                ],
                "format": "string",
                "value": "Battery",
                "description": "Name",
                "maxLen": 64
              }
            ]
          }
        ]
      }
    ],
    "config-num": 2,
    "device": {
      "name": "Eve Thermo 8955",
      "model": "Eve Thermo 20EBP1701",
      "manfacturer": "Eve Systems",
      "sw_version": "2.1.1",
      "hw_version": "1.1",
      "entities": [
        {
          "original_name": "Eve Thermo 8955",
          "original_device_class": null,
          "entity_category": null,
          "original_icon": null,
          "icon": null,
          "unit_of_measurement": null,
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "climate.eve_thermo_8955",
            "state": "heat",
            "attributes": {
              "hvac_modes": [
                "off",
                "heat"
              ],
              "min_temp": 10.0,
              "max_temp": 30.0,
              "current_temperature": 24.5,
              "temperature": 30.0,
              "hvac_action": "heating",
              "friendly_name": "Eve Thermo 8955",
              "supported_features": 1
            },
            "last_changed": "2023-01-19T21:31:00.347024+00:00",
            "last_updated": "2023-01-19T21:33:01.140852+00:00"
          }
        },
        {
          "original_name": "Eve Thermo 8955 Battery",
          "original_device_class": "battery",
          "entity_category": "diagnostic",
          "original_icon": "mdi:battery-unknown",
          "icon": null,
          "unit_of_measurement": "%",
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "sensor.eve_thermo_8955_battery",
            "state": "95",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "%",
              "device_class": "battery",
              "icon": "mdi:battery",
              "friendly_name": "Eve Thermo 8955 Battery"
            },
            "last_changed": "2023-01-19T21:31:00.342491+00:00",
            "last_updated": "2023-01-19T21:31:00.342491+00:00"
          }
        },
        {
          "original_name": "Eve Thermo 8955 Current Temperature",
          "original_device_class": "temperature",
          "entity_category": null,
          "original_icon": null,
          "icon": null,
          "unit_of_measurement": "\u00b0C",
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "sensor.eve_thermo_8955_current_temperature",
            "state": "31.0",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Eve Thermo 8955 Current Temperature"
            },
            "last_changed": "2023-01-19T21:31:00.345171+00:00",
            "last_updated": "2023-01-19T21:31:00.345171+00:00"
          }
        },
        {
          "original_name": "Eve Thermo 8955 Identify",
          "original_device_class": null,
          "entity_category": "diagnostic",
          "original_icon": null,
          "icon": null,
          "unit_of_measurement": null,
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "button.eve_thermo_8955_identify",
            "state": "2023-01-19T21:36:38.985418+00:00",
            "attributes": {
              "friendly_name": "Eve Thermo 8955 Identify"
            },
            "last_changed": "2023-01-19T21:36:38.985837+00:00",
            "last_updated": "2023-01-19T21:36:38.985837+00:00"
          }
        },
        {
          "original_name": "Eve Thermo 8955 Thread Capabilities",
          "original_device_class": "enum",
          "entity_category": "diagnostic",
          "original_icon": null,
          "icon": null,
          "unit_of_measurement": null,
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "sensor.eve_thermo_8955_thread_capabilities",
            "state": "sleepy",
            "attributes": {
              "options": [
                "border_router_capable",
                "full",
                "minimal",
                "none",
                "router_eligible",
                "sleepy"
              ],
              "device_class": "enum",
              "friendly_name": "Eve Thermo 8955 Thread Capabilities"
            },
            "last_changed": "2023-01-19T21:31:00.343668+00:00",
            "last_updated": "2023-01-19T21:31:00.343668+00:00"
          }
        },
        {
          "original_name": "Eve Thermo 8955 Thread Status",
          "original_device_class": "enum",
          "entity_category": "diagnostic",
          "original_icon": null,
          "icon": null,
          "unit_of_measurement": null,
          "device_class": null,
          "disabled": false,
          "disabled_by": null,
          "state": {
            "entity_id": "sensor.eve_thermo_8955_thread_status",
            "state": "child",
            "attributes": {
              "options": [
                "border_router",
                "child",
                "detached",
                "disabled",
                "joining",
                "leader",
                "router"
              ],
              "device_class": "enum",
              "friendly_name": "Eve Thermo 8955 Thread Status"
            },
            "last_changed": "2023-01-19T21:31:00.344466+00:00",
            "last_updated": "2023-01-19T21:31:00.344466+00:00"
          }
        }
      ]
    }
  }
}

Maybe this helps…

Hi!
You’ve got problems with offset so i suspect that the thermostat itself works as it should(having in mind above mentioned limitations)?
I ask, because i tried to integrate one but the “current temperature” read from the internal sensor does not update/initialize- just stays on 0 degrees. I can change the “target temperature”- it gets confirmed on the device display after setting in ha(it works also the other way- target temperature change using the device buttons gets read by the ha immediately), but as the read temperature is 0 the valve is 100% open all the time.
I’ve “installed” the device using Eve app, then removed it, it was immediately found by homekit integration and i’ve paired it using 8-digit device code. I use sonoff dongle flashed to multiprotocol using this method https://smarthomescene.com/guides/how-to-enable-thread-and-matter-support-on-sonoff-zbdongle-e/ as a border router.

Have You seen such a problem?

Greetings!