Sending custom temperature/humidity to 433MHz weather station clocks!

I’ve been doing this for a few years now. I have a lot of various clocks that receive temperature/humidity data from their little 433MHz sensors.

What I do is send custom temperatures and humidities to these clocks using OpenMQTTGateway’s Pilight module. The clock’s sensors’ specific 433MHz protocol doesn’t need to be supported by Pilight for you to do this.

Why do I do this? Because now I can display temperatures/humidities from:

  • Bluetooth sensors or DS18B20 sensors or 433MHz sensors using a different protocol
  • Sensors thousands of miles away
  • Local temperatures/humidities from the closest official weather station!


In this picture, the readings from left to right:

  1. The clock’s own temperature/humidity
  2. Downstairs temperature/humidity, measured with a 433MHz sensor using a different protocol
  3. Outdoor temperature/humidity, from Weather.com
  4. Outdoor temperature/humidity at my friend’s house in another village, 2000 miles away

How do I do this? I use the raw feature of Pilight (documented for OMG here).

To be able to use all 3 channels on the Newentor clock, I transmit using the Newentor 433MHz protocol (not supported by Pilight but supported by rtl_433). I don’t use any real Newentor sensors to avoid clashing with my other 433MHz sensors. I use a Nexus protocol 433MHz sensor for downstairs, which avoids permanent clashing with the Newentor protocol since the two protocols broadcast at different intervals.

I reverse-engineered the Newentor and Nexus protocols and wrote a Python script that runs on a Raspberry Pi (though it could probably be ported easily to an ESP/Arduino) that takes measurements from Home Assistant (or a MQTT broker directly, or the Weather.com API) and converts it to a raw pulse train string to send to OMG’s MQTTtoPilight command.

Let me know if you want details to do it on your own. It’s really great because it avoids having to build eInk displays like people do to display temperatures. And you can use the “battery low” indicator to display binary sensors too (e.g. I use mine to show whether it’s raining or not). And the battery on these clocks lasts months, if not years, and they use common AA or AAA batteries, unlike eInk displays that have to use Wi-Fi and lithium batteries that last days or weeks or have to be plugged in.

3 Likes