Zigbee temperature sensor with wired external probe

Its 2023 and I still cant find a zigbee temperature sensor with wired external probe.
I have made a few diy with aqara sensors and external sht30 probes but I am still looking for something that will work out of the box.

anyone knows why manufacturers doesnt make zigbee temperature sensors with external probes as it looks like in wifi and ble there are many of them out there?

1 Like

I have have this one. Put it on the fridge with the probe inside. Zigbee does not work inside it as it’s a Faraday Cage. Having the unit outside also keeps the battery warm.

https://www.aliexpress.com/item/1005004212085690.html

2 Likes

Nice find. How fast does it update ?

yes I know that one. its pretty expensive and the probe isnt waterproof like the ds18b20.
I was hoping to find another solution…

I saw this, haven’t purchased yet so can’t comment on the actual product nor the seller:

5 Likes

I bought this. I have Sonoff Zigbee dongle and using ZHA. Works fine. About the seller (Domadoo)… twice sent message to ask something. Never got any answer.

2 Likes

maybe this one?
https://aliexpress.com/item/1005007011406699.html

This one is ā€˜also’ a switch. Not really clear how it works (like do you need mains power or on batteries) and what the specs are.

I built a couple with ds18b20s and ESP32-c6 minis, it seems like something thst should be easy to commercialize, yet manufacturers don’t seem to be interested. I guess they just don’t see sufficient demand.

I got this OWON sensor, thanks to @Jay_from_NuZiland’s recommendation (above).

I use it to measure the temperature in a window well where I keep some plants in winter. I chose the one with a 2 meter cable, but there are variants with longer cables.

Putting a sensor inside the window well was no option, as the iron grating that covers the light well won’t let any signal through. The case with the chip and batteries is in a dry place, inside a small repurposed plastic kitchen container under the neighbours’ balcony. In the same box is an Aqara temperature/humidity sensor to measure outside temperature, so I can get an idea when I need to worry about frost entering the window well. I watch it with a statistic card:

image

Even though I switched from 5 minute to 1 hour intervalls for the graph, you can still tell that the Owon temperature sensor (blue line) sends updates more frequently than the Aqara. Don’t know if it’s more accurate or just more ā€œsensitiveā€, or less ā€œdebouncedā€.

Battery seems to last a long time. I use rechargables for about 10 days now, it works flawlessly despite the lower voltage output (1,2V instead of 1,5V for 1 AAA, I think) and they haven’t lost one percent of charge according to the battery sensor in the Owon (aqara sensor doesn’t send usable battery status). Outside temperatures are between 0 and 10°C at the moment.

I have them connected to my mesh via an Aeotec Range Extender Zi. Both sensors were connected quickly and without problems and stay consistently connected and send data. Distance is about 10 m air line, but it’s going through walls / windows and around metal balcony structures, so it’s actually a longer distance. I’m very pleased.

@anarchist912 did you have any issues with the Owon THS-317-ET ?

I’ve got two, one refuses to connect to my Sonoff Zigbee 3 on ZHA, and the other one does connect but it is only displaying one entity, and I don’t know if this is the inside or outside temperature :man_facepalming:

Hey! Good find there.
Can you check if the owon uses a thermocouple or any other type of digital sensor? I’ve seen some using the DS18B20 but I’m especifically looking for an analog thermocouple as a external sensor.

I found this Zigbee with external probe that seems to be water tight and reasonable price. But the zigbee version has been sold out for a while, I have sent a question to the seller when the expect to get it back in stock. I have several places where I could use this with the water tight external probe, I will order several once they get back in stock.

Anyone who bought these before they got sold out and have experience with them?

https://www.aliexpress.com/item/1005008245121938.html?spm=a2g0o.productlist.main.13.2e542871fNk8P6&algo_pvid=aee93bb8-023f-477e-8bd7-606e95812b02&algo_exp_id=aee93bb8-023f-477e-8bd7-606e95812b02-6&pdp_npi=4%40dis!EUR!18.69!11.22!!!18.80!11.28!%402103985c17365094802378781eddcd!12000044358651986!sea!NO!2657754429!X&curPageLogUid=09Qb34vRsO5e&utparam-url=scene%3Asearch|query_from%3A

1 Like

here is the link from jlopez but without the tracking junk:

https://www.aliexpress.com/item/1005008245121938.html

2025-9 still only wifi, no zigbee

and i found this one:

Wifi:
https://de.aliexpress.com/item/1005007544761132.html
ZigBee
https://de.aliexpress.com/item/1005008108312985.html

either low dc or normal grid powered, both versions can run off 5v USB.

its either temp or humidity. watch out, sometimes it looks the same, but is the cheaper wifi version.

its a external probe, and it has a relays inside.

I will ordered one, and will report about it. they claim it will be cheaper day after tomorrow. probably something like black friday

1 Like

Thanks for sharing the links, just checking, did you order the zigbee version if so managed to get it to work with Zigbee2mqtt ?

Yes ordered it, got it, and I use ZHA, and it works.

My pool temp over the past days, it droped out due to having a RCD drop due to kids splashing a LOT of water way outside of the pool :slight_smile:

and i used this quirk:

#source https://community.home-assistant.io/t/zigbee-temperature-sensor-switch-only-detected-as-light/748950/7?u=mannebk

"""tuya TS000F _TZ3218_7fiyo3kv On/Off In-line Switches with thermometer support."""

from zigpy.profiles import zgp, zha
from zigpy.zcl.clusters.general import (
    Basic,
    GreenPowerProxy,
    Groups,
    Identify,
    OnOff,
    Ota,
    Scenes,
    Time,
)
from zigpy.zcl.clusters.lightlink import LightLink

from zigpy.zcl.clusters.measurement import (
    TemperatureMeasurement,
)

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODEL,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya import (
    EnchantedDevice,
    TuyaZBE000Cluster,
    TuyaZBOnOffAttributeCluster,
    TuyaLocalCluster,
    TuyaZBExternalSwitchTypeCluster,
)

from zhaquirks.tuya.mcu import DPToAttributeMapping, TuyaMCUCluster

class TuyaTemperatureMeasurement(TemperatureMeasurement, TuyaLocalCluster):
    """Tuya local TemperatureMeasurement cluster."""

class TemperatureHumidityManufCluster(TuyaMCUCluster):
    """Tuya Manufacturer Cluster with Temperature and Humidity data points."""

    dp_to_attribute: dict[int, DPToAttributeMapping] = {
        102: DPToAttributeMapping(
            TuyaTemperatureMeasurement.ep_attribute,
            "measured_value",
            converter=lambda x: x * 10,  # decidegree to centidegree
        ),
    }

    data_point_handlers = {
        102: "_dp_2_attr_update",
    }


class Tuya_1G_Switch_Temperature(EnchantedDevice):
    """Tuya 1 gang switch with temperature measurement."""

    signature = {
        MODEL: "TS000F",
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    TuyaZBE000Cluster.cluster_id,
                    TuyaZBExternalSwitchTypeCluster.cluster_id,
                    TemperatureHumidityManufCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
            # input_clusters=[]
            # output_clusters=["0x0021"]>
            242: {
                PROFILE_ID: zgp.PROFILE_ID,
                DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }
    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Identify.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaZBOnOffAttributeCluster,
                    TuyaZBE000Cluster,
                    TuyaZBExternalSwitchTypeCluster,
                    TemperatureHumidityManufCluster,
                    TuyaTemperatureMeasurement,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            242: {
                PROFILE_ID: zgp.PROFILE_ID,
                DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }