I’m using a Homematic IP HmIP-FALMOT-C12 actuator to control my heating system. The integration of the HmIP-WTH-2 thermostats into Home Assistant went smoothly. Nevertheless, I’d like to integrate at least the levels of the valves connected to the HmIP-FALMOT-C12 as well.
Until now I was able to read the value through a JSON client → so the value is reachable. But I failed to get the value through the RESTful sensor of Home Assistant.
Would it be possible to integrate this device into the Homematic IP integration of Home Assistant? Or better: is there an option to add sensors for Homematic devices by address and value key (this would give a lot of flexibility)?
Are you using the AP with homematic ip cloud integration?
Then there is a service in HA to dump the AP configuration: homematicip_cloud.dump_hap_config
Create a ticket here and append your config dump to add the falmot to the upstream lib.
Afterwards i can easiely add it to the Homematic ip cloud Integration
BR
You can use this script to gather the information needed to implement the device. Create an issue at the pyhomematic repo and attach the output of the script as a gist.
However, I think support for that particular device has been asked for before, and if I recall correctly, it’s a rather difficult device to implement. Certainly problematic without direct access to the device. So if you’re somewhat comfortable with Python, you could give it a try by looking at thermostats.py and try to modify the existing code to make use of your device.
Thanks for your feedback. I’m kind of “comfortable” with Python (at least I know the basics). If you could let me know where I can find the thermostats.py on my RaspberryPi and how I can debug it I’ll definitely give it a try sometimes after Christmas
I’ll figure our later how to contribute to the git project (never done this before)
It depends on how you have installed Home Assistant. If it’s hassio it’s rather complicated. If it’s a manual installation, you’ll find the pyhomematic package wherever Home Assistant installs the dependencies. In case of my Hassbian installation it’s at /srv/homeassistant/lib/python3.7/site-packages/pyhomematic. But this can be different for you.
However, if you really want to dig into this, I’d rather suggest to set up a separate development environment (within a VM). That way you won’t mess up your productive installation.
I get the valve levels from my falmot-c12 to home assistant with CCU system variables and a series of CCU programs to write the value to the variable on every change. This is cumbersome, but a reliable strategy for unsupported device attributes.
This is what the program definition looks like: Channel status: fussbodenheizung:wohnzimmer when Valve opening *within value range* less or equal 100.00 % trigger when updated Script: ... immediately run
And this is the script:
var target = dom.GetObject("wohnzimmer_ventil");
var source = dom.GetObject("HmIP-RF.001B9A4ABCDEF:3.LEVEL").Value() * 100;
target.State(source);
You need to create the system variable used in the first line as a number from 0 to 100, and of course use the right device and channel in the second line.
OK, then I’ve had to update the code of the Home Assistant component for Homematic as well as I defined a new sensor type. This is where I stopped as I currently don’t find the time to dig deeper.
@lothar
I’ll give your solution a try. Hopefully this will work!
I use Homematic IP Cloud integration in HA (AP is HMIP-HAP).
Is there a possibility to get the valve positions into HA?
If I look into the integration the FALMOT will be not included up to now, since there is a statement where “nothing” needed to control it. But I need the information out of the FALMOT, to control a PWM Pump.
Is there a possibility to change or adapt the integration in HA for Homematic IP (HMIP-HAP, not CCU)?
Thanks a lot!
The Problem is olved by the developer.
How can i modify the internal component?
I read something about copying the module to /custom_components/ or /custom_components/remote/ folder but this does not work.
A second way i have read is about connecting via ssh to Port 2222, but this also does not work.
is there a turorial to do so?