Close

Connecting the Heating

A project log for AutomaTales

Tales on my home automation project

SUFSUF 03/26/2016 at 04:331 Comment

As I mentioned earlier I've several Conrad (ELV) FHT80B thermostats, with radio controlled valves, and I've a CUL v3.2 device. Now I'm try to connect these devices to my OpenHAB.

Before I started to work on this project I updated the firmware in the CUL to the one suggested for OpenHAB from here:

http://culfw.de/culfw.html

The references for the connection can be find here:

https://github.com/openhab/openhab/wiki/FS20-Binding
https://github.com/openhab/openhab/wiki/CUL-Binding

Setting up the binding:

1. Copy the required addons into the /opt/openhab/addons folder:

org.openhab.io.transport.cul-1.8.1.jar
org.openhab.binding.fht-1.8.1.jar

If you have other devices than the heating from the FS20 family you may need the

org.openhab.binding.fs20-1.8.1.jar

also.

2. Edit the configuration file /opt/openhab/configurations/openhab.cfg. Add the following to the end:

fht:device=serial:/dev/ttyACM0
fht:baudrate=38400
fht:parity=0
fht:husecode=XXXX

The housecode is your choice. It is a four digit hexadecimal code. And it is absolutely necessary. If you don't provide it here, your system will not start without even a sign of the problem. You can just see the error message when you switch on the debug logging.

This code will be the code of your CUL device and has no connection with the codes of the FHT80b devices. In addition if you want to get readings from your devices, you have to be sure, that the "CEnt" setting in each of FHT80B devices is set to "nA".

3. You have to create some items in your items file for your FHT80B device. Something like this:

Number fhtRoom1Desired "Desired-Temp. [%.1f °C]" { fht="housecode=552D;datapoint=DESIRED_TEMP" }
Number fhtRoom1Measured "Measured Temp. [%.1f °C]" { fht="housecode=552D;datapoint=MEASURED_TEMP" }
Number fhtRoom1Valve "Valve [%.1f %%]" { fht="housecode=552D;address=00;datapoint=VALVE" }
Switch fhtRoom1Battery "Battery [%s]" { fht="housecode=552D;datapoint=BATTERY" }
Contact fhtRoom1Window "Window [MAP(en.map):%s]" { fht="housecode=52FB;address=7B;datapoint=WINDOW" }
The housecode in the example is the code of the FHT80B device itself. You can read it from the device, the code1 is the first part, the code2 is the second part, and you must convert your readings to hexadecimal.

4. Now you have to insert the read values into your sitemap:

Frame label="Heating"
{
	Setpoint item=fhtRoom1Desired minValue=6 maxValue=30 step=0.5 
	Text item=fhtRoom1Measured
	Text item=fhtRoom1Valve 
	Text item=fhtRoom1Battery
	Text item=fhtRoom1Window
}
The result is something like this:


Sorry for the Hungarian text, as this is a real data from my house, I'll translate the whole frontend to Hungarian to my family.

One thing to add: Be patient. Getting the data is a time consuming task. Some of the data will just arrive when changed. So it can take several minutes, or even hours, to get your data.


Discussions

Martin.Bamberger+GitHub wrote 10/20/2020 at 11:54 point

Hallo,


 

Können Sie mir Ihre Konfiguration als Beispiel geben?

Sorry für meine Fragen aber ich komme nicht weiter…

 

Wo kann ich die Debug-Protokollierung aktivieren?

 

fht: device = serial: / dev / ttyACM0

fht: Baudrate = 38400

fht: Parität = 0

fht: husecode = XXXX

Ist dieser code Frei Wälbar oder muss ich jeden code aus jedem FHT80b gerät nacheinander eingeben? Ich verstehe das überhaupt nicht.

 

fht: husecode = ? 6577 (Büro)

fht: husecode = ? 2161 (Wohnzimmer)

fht: husecode = XXX3

 

Haben Sie eine Seite mit der ich den Code1 und den Code2 umrechnen kann?

Mein code wäre an einem Gerät
Büro: 065 077

Wohnzimmer: 021 062

Nummer fhtRoom1Desired "Desired-Temp. [% .1f ° C]" {fht = "Hauscode = 552D; Datenpunkt = DESIRED_TEMP"}

Nummer fhtRoom1Measured "Gemessene Temperatur [% .1f ° C]" {fht = "Hauscode = 552D; Datenpunkt = MEASURED_TEMP"}

Nummer fhtRoom1Valve "Ventil [% .1f %%]" {fht = "Hauscode = 552D; Adresse = 00; Datenpunkt = VENTIL"}

Schalter fhtRoom1Battery "Batterie [% s]" {fht = "Hauscode = 552D; Datenpunkt = BATTERIE"}

Kontakt fhtRoom1Window "Fenster [MAP (en.map):% s]" {fht = "Hauscode = 52FB; Adresse = 7B; Datenpunkt = FENSTER"}

Woher bekomme ich den Code vom Fensterkontakt?

 

Besten Dank 😊

 

Und liebe Grüße aus DE Martin

  Are you sure? yes | no