E-Ink Brightness Thermometer
Model ZSS-ZK-THL manufactured by Moes
Zigbee ID: TS0222 | _TYZB01_kvwjujy9 | _TYZB01_ftdkanlj
E-Ink Brightness Thermometer
Available from:
Confirmed working with
If the device is following Zigbee standards it is possible it will work with other gateway solutions, it is just not confirmed as working yet!

Pairing Instructions
Hold the orange button until three dots appear at the top left of the screen.

This device will not work correctly unless previously paired with a Tuya compatible gateway (unconfirmed). It may also work with Sonoff dongles (such as the ZB Dongle-P), but not sure with Sonoff minis.

A workaround for the inconsistencies presented below is using a Tuya gateway via the Tuya integration, instead of including the sensor and gateway to the HomeAssistant Zigbee mesh. Details were discussed in this GitHub issue.

Temperature and humidity are reported when values change, or repeated at a fixed 60 minute interval.


In some scenarios, the device mysteriously stops to update HA with its values after a few minutes from pairing. In most scenarios though, the device seems to reset every 150 seconds and this causes all sensors to be reported momentarily, via ZigBee, as 0 degrees. Temperature and humidity do show show as zero on the display, and quickly get back to the correct values via ZigBee. However, luminance stays at zero in the screen, reports as 1 lux via ZigBee, and needs a “physical reset” (shadowing or covering its sensor for a few seconds) to report values correctly again. Continuous resets, at least once, caused a small “!” to appear on the screen while virtually nothing was updated, suggesting some internal processing error.

The impact of the temperature/humidity issues can be reduced by creating one template sensor for each of those measurements, in the Home Assistant’s configuration.yaml. (supposing the real measured value is not 0 degrees)

  - sensor:
      - name: "Moes Thermometer Temperature Filtered" 
        state: >-
          {## Enter the entity_id of the thermometer below ##}
          {% set moes_measurement = float(states("sensor.moes_thermometer_temperature"))  %}   
          {% if moes_measurement != 0  %}
            {## Use the measured value ##}
            {{ moes_measurement }}
          {% else %}
            {## Don't change the state ##}
              states("sensor.moes_thermometer_temperature_filtered") {## Should match with the name entered above ##}
          {% endif %}
        unit_of_measurement: "°C" 

For these template sensors to work properly, it’s required for its entity (in the example: sensor.moes_thermometer_temperature_filtered) to be included in the recorder. Optionally, the unit of measurement can be changed to match with what’s displayed on the e-ink screen. The same method can be used for the humidity.


Same problems with Z2M.