Integrate Emmeti into HA

I bumped into this GitHub - CreasolTech/domoticz-emmeti-mirai: EMMETI Mirai heat pump plugin for Domoticz home automation system. Hopefully ti might be of some help (@PdC ) to integrate emmeti febos into HA.

Thx. Since I already have A Febos Crono I cannot add another client to the modbus (there can be only one on a RS485 modbus. If it were MODBUS/TCP it would be a different story.). But for those without a crono this would suffice. I just wish that Mirai/Emmetti would open up the Febos Crono so I could talk to the local API and no longer be dependent on the cloud service they provide…

My setup has 3 febos crono devices. @PdC wouldn’t be possible to have HA node to act as a 4th febos crono on the bus and command readings?

Nope. One of your Crono is master (or in modern speech: client), and there can only be one on the bus. You can sniff the bus and read what is going on. The client talks to all the other devices (servers) to either read or set a number of registers/solenoids/etc. There is a decent explanation here. This uses the old terms: Master = Client, Slave = Server. Master/Slave denominations are no longer considered appropriate hence the client/server. Having a second client on a bus can really screw things up.

Perhaps having HA mimic a 4th Crono could work. As I have only one, I am not aware of what the client Crono would try to write to the other Crono’s, but this might be a way forward.

Reverse engineering the web app (I’m going down the cloud path atm) I can see Crono #2 and #3 are referred as slaves. They’re at -1 and 1st floors. Crono #1 is at ground floor and is the master. Master Crono has full functionality, slaves can only show ambient status and trigger heating on or off based on floor-specific temperature/humidity thresholds. All the rest of the commands is grayed out. I need to look into how to interface my RPI5 with the modbus, but before this I want to integrate data from WebApp into HA. Thanks for the link, I’m the business. I develop OS for inverters of a leader company. When I said “command readings” I improperly meant to update sensors status in HA. I now realize it sounds like another master node on the bus.

Ok, cool. I currently use the webapps api calls to update all R values in HA and display them on the dashboard. Some curl is all you need. But I like to be independent from the cloud.

See my earlier post on how to ‘listen’ to the modbus here. My problem is that e.g.the current room temperature and humidity of the Crono are not send over the modbus. The HP has no register for it afaik.

Question: do your 2nd and 3rd Crono display all status info? Like whether the HeatPump is running, temp of SWW etc? If that would be the case, HA integration could be as ‘simple’ as mimicking a slave Crono.

Hi,
can you explain to me step by step how to integrate webapps into home assistant?

1 Like

No slaves have very limited information access and control

I would, but as of now I’m writing the script to take information from the Cloud. I found all the IDs used in Crono’s screens so that I will be able to riproduce same screens into HA. I still need to find out how to integrate my script so that information is mapped into HA as devices and entities. Biggest part of the work is taking information and understanding structure and meaning and that’s pretty much done. the rest is glueing stuff together so I didn’t care too much yet and I can’t help. I’ll keep you posted.

Hello,
do you have any news? Thanks

It’s made of a HACS custom component that in turn pulls another repo of mine:

This one is a python library to communicate with the febos backend and return results as data classes.

The HACS custom components maps the data classes into sensors and binary sensors and registers them with HA. There is no support for commands yet, it’s only sensing.

Febos backend is really bad, “a woodworker would do better with 30 euros” to cite an Italian movie. So I had to work around a lot of things, I had my eyes bleeding looking at their API. I confined all the garbage I had to write due to this into one horrors’ file febos.py. HA doesn’t look too much better especially because it creates entity IDs from names, that is nasty. In computer science if you use one thing for two different purposes you have broken a fundamental principle.

Works with my heat pump, I do not guarantee it works with every setup and languages.


1 Like

Hi,
I’m not an expert on HA, can you tell me how I install them? Do you have a guide by any chance?
Thanks

hi,
I managed to install it but now it doesn’t work anymore with the latest update of HM version: 2025.5.1

Ciao Valerio. Ho installato il pacchetto tramite hacs, come fare per installare le Api? Grazie

Thanks for all the work. I’m about to buy a heatpump from Emmeti for the warming and cooling of the house. Seeing that theirs apps are really old and poorly mainteined, and how difficult it seems to be to integrate by yourself in home assistant, I’m asking myself if I should by something else. Integration with HA aside, are you (even others) happy with you Emmeti heatpump and whatnot?

APIs are installed together with the HACS package. I do not guarantee the thing works on any deployment. It works on mine. I would need to debug on someone else’s deployment to find out more bugs. I provide the software as-is, but if you can provide fixes via GitHub, I’m happy to have you joining the effort.

I have two Febos, one running as Master and the other as Slave.

Actually I found a different solution in retrieving (reading) data directly from Febos, because the direct connection to the cloud is very limited and it’s also possible to get black-listed.

My solution was to directly download the SQLite database of each Febos. The DB is exposed on the local HTTP web server of both devices.

I didn’t find a way to SSH login to the Linux OS running on the Febos, otherwise it would be a joke to create a custom webapp. Another thing I found is that the Febos connects to the Emmeti cloud over VPN, and for this reason it’s not possible to sniff the backend calls between the devices and the cloud and can’t replicate the behaviour locally.

Anyway, after downloading the DBs, my custom Python script acts as a MQTT broker generating values for each sensor (Power, Energy, Temperatures, Humidity, etc.), while Home Assistant has the same sensors configured as MQTT entities.

This solution lets me read the DB directly from Grafana or simply read the sensors directly from Home Assistant.

I’m trying to figure out how to solve what I tink is one of the biggest issues with Febos: you can’t change the humidity threshold of the slave devices, but only tha Master’s value.

Reading the API of the webapp, I found how to replicate the Web App behvaiour for the Master humidity threshold, but it’s impossible to set the Slave one.

I would like to stop the dehumidifier of both floors without stopping the Heatpump, which is a working solution in the end, but I think it’s not a “safe solution”. Maybe I should simply switch from “summer” to “winter”, but this will stop the heatpump from refreshing the water.

Another possible solution would be mounting a smart switch in place of the general electrical panel, so it will be possible to turn on/off the dehumidifier without turning on/off the heatpump.

What do you think? Any suggestion?

Great effort and well done. Can you write a walkthough on how to download SQL DBs and do you mind sharing the python script. I would really appreciate a “howto” very much.
Thanks in advance.

in a long video (an hour or so) on vimeo I saw back ago, the whole emmeti system was explained by some engineer. I think I remeber that you could not change the humidity threshold values ion slaves intentionally. I will search for the video and post the link if I manage to find it.