The Fibaro does look like a nice solution. On ST I’ve been using a stuck-on Iris contact sensor at on the back of the tank to get an idea of the water temperature (much the same as @bobbles described early on in his thread) ; I’m mainly interested in avoiding the heater failed stuck on/stuck off scenarios. The Iris has no external contact capability. I use a couple rules with ‘never exceed’ limits to generate alerts that hopefully would provide a warning regardless of the room ambient.
Probably a topic for another thread, but I also (in my ST setup) have an Aeon Smart Strip with individually controllable outlets connected to the filter and circulator pumps, main and moon lights, and an always-on outlet connecting the heater. I use it for automating the lights and I find this really makes tank maintenance convenient (being able to tell Alexa to control a circulator pump rather than crawling around on the floor with my hands wet with salt water to mess with the plugs). All outlets support power monitoring and I have a bunch of rules watching them to detect the power draw to decrease the chance of a spurious cloud even setting them to the wrong state; this has never happened in the couple of years I’ve been doing this. I also have them turn themselves back on after an audio warning and delay unless I am in ‘maintenance mode’ to avoid me fat-fingering the mobile app and turning something off by mistake.
It occurs to me that I should have enough data to be able to either calculate a ‘room ambient’ offset to get a better approximation of the tank water temperature; alternatively since the heater power is monitored in real time it should be relatively easy to monitor the duty cycle (at least when room temperature should indicate the need for water heating) in order to tell if the heater had failed in a permanently on or off state.
I’d love to move this setup to Hubitat but so far there is no support for individually controlling the outlets on the Aeon powerstrip.