Monitoring your geyser temperature

Well to be honest, the TH16 with the eWeLink firmware should give you the temperature reading out of the box. Closest to plug-and-play you can get without going something like a Geyserwise.

I went a different route with my Apollo solar geyser. It came with a really cheap probe and temperature reading which had zero intelligence (it was literally just click the on-button, wait until it shows the temperature and turn it off again).

Not wanting to mess with the geyser and stick in my own probe, I decided to focus on the existing temperature probe until I could figure out how it works.

Eventually narrowed it down to a NTC thermistor. Bought a D1 Pro (which has a barrel socket and runs directly from a normal 12v PSU), built a voltage divider, connected it to the D1’s A0 (analog) input, put ESPHome on it and calibrated it by borrowing another probe from the installer and testing different water (tap, refrigerated and boiled water) temperatures with the other probe and another thermometer.

It might not be super accurate (hell and it is even quite noisy) but it is enough for me to know if I need to worry about cold water tonight. And I just left the original probe in the geyser where the installer fit it.


I did run it through a low pass filter in home assistant (basically a moving average) which gives a slightly better signal:



I’ve done a lot of these in various configs at own house and clients. Here’s my general advice/experience:

  • TH16 nice for temp monitoring and control - I use mostly on ring mains; found on geyser switching they tend to fail; POW R2 very reliable to switch geysers of 3kW and below - measures power consumption but not temp
  • 4 ways for probe positioning:
    a. stick onto flange at thermostat or (my preferred) drill small hole in plastic end cover of geyser, use screwdriver to push through insulation till feel geyser shell, continue along shell for 100mm or so, remove screwdriver and insert probe along channel created - nestling under insulation against shell is as good as inside
    b. Replace existing thermostat with temp probe - not recommended when going to do switching as don’t trust TH16 to ‘fail to safe’ but if only for monitoring like in solar water or with micro probe as per @plonkster for heat pumps then okay
    c. attached to hot water out pipe on top of geyser and cover with insulation
    d. install dedicated probe pocket - can buy from solar water providers - bit more difficult and skills required
  • If have Victron install use one of Victron Pb-acid battery temp probes, take off lug, locate as per above, wire and configure to GX device and display and log on VRM - QED!! This is my solution on my 800l bulk hot water tank - have mid and top probe. If want to see how works - look here VRM Portal - Victron Energy
  • starting to experiment with Shelly now but early days - looks promising though - nice and small…


This is a nice option if you have a VenusGX or CerboGX, although those temp probes cost quite a bit more than the other options and you should keep the max temp to <70Deg.

I have tons of them lying around - included with each Victron and don’t use with Li-Ion batts… Was unaware of the <70degC though…why is that?

Are they interchangeable between the inverter and Venus?

This is what the manual says:

The Cerbo GX has four temperature terminals, and the Venus GX has two. They can be used to measure & monitor all kinds of temperature-inputs. Temperature senders are not included. The required sensor is ASS000001000 - Temperature Sensor QUA/PMP/Venus GX. (Note that this is not the same as the BMV temperature accessory.). Temperature range is -20C to +70C. Actually it can measure up to 100C, but the sensor is not made to withstand temperatures above 70C long term. Note that this is intended as a crude temperature sensor, and not calibrated. A deviation of +/- 2C is to be expected.

Footnote 10. from

1 Like

AAA, that’s what got stuck in my mind yes …

Yes. Internally it’s an LM335. You feed it 5V through a resistor (edit: The GX device already includes that resistor, it’s called a pull-up resistor), and it pulls that 5V down for you to a voltage corresponding to the temperature.


The datasheet indicates that it can go well over 100°C, but that’s the LM335 chip itself. My guess would be that the packaging of the sensor is probably rated lower.

1 Like