A house has a handful of line voltage electric baseboard heaters (240V, 3600W).


Control the schedule and current temperature without connecting beyond a local area network.

Hard Requirements

  • Supports Wi-Fi connectivity to local area network.
  • Does not require Internet connectivity at any time.
  • Thermostats can be uniquely referenced by name (or IP address).
  • Encrypted transport protocol and password protected.
  • Change the temperature from a terminal using REST over HTTP:
    $ curl -d "thermostat=kitchen&set=20C&token=T" -X POST

Soft Requirements

Optional requirements include:

  • Offers a simple web server (or Bluetooth for initial setup).
  • Thermostats can be named.


If a hub exists that offers an open REST over HTTP API, then that would work. Preferably, the thermostats will operate standalone (without a hub).


Mozilla's Things Gateway looks promising as a way to connect to a hub. Benjamin Francis wrote,

My one suggestion would be to look for a Zigbee thermostat and then use the Things Gateway to bridge it to an IP network and expose a REST + WebSocket API. We already have a Zigbee adapter and would like to add support for a thermostat web thing type. I'd be interested to hear what you find because I'm looking for something similar for my own home. I was considering Honeywell.


Here are a variety of contenders and reasons they don't work, as I've discovered or been told from sales representatives:

There are a number of 24V thermostats that won't work, which include:


What thermostats would permit controlling temperature via the command-line over Wi-Fi without Internet connectivity?

Alternatively, are there any absolutely silent 240V to 24V relays that would be perfectly safe to use with one of the typical 24V devices?

  • Generally, I would not expect consumer devices to provide an open API - there is insufficient demand, and vendors seem to rely on high margin customers right now. Build your own is potentially 'easy'. May 3, 2018 at 14:01
  • Not sure if this exactly meets the need, but I have built a load manager that accepts eight 10-to-24 Volt sensor inputs (say from thermostats) and controls eight 24 Volt relays. Inputs and outputs are logically controlled by an internal computer (RaspberryPi) running C++, so it has RJ-45 Ethernet, WiFi, and Bluetooth capability (I'm just using the wired Ethernet so far). (1/2)
    – gorlux
    Oct 12, 2018 at 18:05
  • Primary application is controlling furnaces, heat pumps, possibly smart appliances (anything with separated control and power). The code prioritizes inputs (call-for-service) and can then limit the number of outputs that are served. Right now the priority is only based on available power (e.g. from a solar array or battery/inverter), but it would be possible to add time-of-day or other criteria. (2/2)
    – gorlux
    Oct 12, 2018 at 18:05
  • I own the Mysa smart thermostats, and they have support for Apple HomeKit, which I believe is done only using internal WiFi connection. I do not have HomeKit, so I cannot currently verify it.
    – Cinderhaze
    Feb 17, 2020 at 16:06

1 Answer 1


It might be hard to find an off-the-shelf product that immediately satisfies your requirements. How confident are you with DIY? There are plenty of open source hardware platforms that are relatively easy to re-flash with custom firmware, you might find that approach most suitable for your needs. See https://github.com/arendst/Sonoff-Tasmota as an example for the ESP8266 SoC based hardware.

I worked on a similar DIY open source project ages ago, it does many of the things what you want. It is not maintained anymore, but you can still use PCB layout/code: https://harizanov.com/wiki/wiki-home/three-channel-wifi-relaythermostat-board/

Regarding your requirements:

Supports Wi-Fi connectivity to a local area network. - That's easily achievable with ESP8266. You might even skip that whatsoever using You might consider using ESP-NOW https://www.espressif.com/en/products/software/esp-now/overview

Does not require Internet connectivity at any time. - That's fine and easily achievable with ESP8266.

Thermostats automatically detect one another - What is your use case? Why do the thermostats need to see each other? You only need to be able to identify them by name, so the hub code can address them. That one might be a bit tricky and will require some extra coding, maybe use mDNS?

Encrypted transport protocol and password protected. - Since you are not exposed to the Internet, why bother? Anyway - it is doable at the added cost of complexity

Change the temperature from a terminal using REST over HTTP - Easily achievable using the example code I linked above


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.