Alpha 2 Fussbodenheizungssteuerung im Fhem

Begonnen von BKSolo, 10 Oktober 2015, 16:00:52

Vorheriges Thema - Nächstes Thema

BKSolo

Hier meine Erfahrungen und das gewonnene Wissen bei der Einbindung der Alpha 2 Fussbodenheizungssteuerung ins Fhem. Es soll helfen eure Implementierungszeit zu verkürzen, da ich viele Stunden mit der Suche in den Foren, Referenzen, Beispielen und im Internet für das Vorgehen zu finden, verbracht habe.

Meine Fussbodenheizungssteuerung hat vier Heizzohnen, -Ventile und vier Thermostaten. Alles läuft autonom und war einfach in Betrieb zu nehmen. Ich wollte es jedoch in meine Hausautomation mit Fhem einbinden. Da hilft Alpha 2 durch die Smart Home Integration.
Alpha 2 ist am Internet angeschlossen und enthält einen Web-Server mit einem XML Interface. Es können Status-Daten abgefragt werden, aber auch Commands wie Anpassen der Soll-Temperatur etc. gesendet werden.

HTTPMOD und die noch wenig dokumentierte XPath Erweiterung halfen mir die Daten einzulesen. Infos dazu im Beitrag http://forum.fhem.de/index.php?topic=36837.0 .

Es braucht folgende Programmerweiterungen - meines läuft auf einem Raspberry Pi.

sudo apt-get install libxml-parser-perl libxml-xpath-perl libxml-TreeBuilder-perl


Definieren von HTTPMOD im fhem.cfg. Dabei ist das ein Beispiel mit den Ist- und Soll-Temperaturen und wird alle 10 Minuten abgerufen.

define Alpha2 HTTPMOD http://xxx.xxx.xxx.xxx/data/dynamic.xml 600
attr Alpha2 userattr enableXPath-Strict reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex stateFormat
attr Alpha2 comment Fussbodenheizung
attr Alpha2 enableXPath-Strict 1
attr Alpha2 group Fussbodenheizung
attr Alpha2 reading01Name Ist-Temperatur1
attr Alpha2 reading01Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/T_ACTUAL/text()
attr Alpha2 reading02Name Soll-Temperatur1
attr Alpha2 reading02Regex xpath-strict://Devices/Device/HEATAREA [@nr="1"]/T_TARGET/text()
attr Alpha2 reading03Name Ist-Temperatur2
attr Alpha2 reading03Regex xpath-strict://Devices/Device/HEATAREA [@nr="2"]/T_ACTUAL/text()
attr Alpha2 reading04Name Soll-Temperatur2
attr Alpha2 reading04Regex xpath-strict://Devices/Device/HEATAREA [@nr="2"]/T_TARGET/text()
attr Alpha2 reading05Name Ist-Temperatur3
attr Alpha2 reading05Regex xpath-strict://Devices/Device/HEATAREA [@nr="3"]/T_ACTUAL/text()
attr Alpha2 reading06Name Soll-Temperatur3
attr Alpha2 reading06Regex xpath-strict://Devices/Device/HEATAREA [@nr="3"]/T_TARGET/text()
attr Alpha2 reading07Name Ist-Temperatur4
attr Alpha2 reading07Regex xpath-strict://Devices/Device/HEATAREA [@nr="4"]/T_ACTUAL/text()
attr Alpha2 reading08Name Soll-Temperatur4
attr Alpha2 reading08Regex xpath-strict://Devices/Device/HEATAREA [@nr="4"]/T_TARGET/text()
attr Alpha2 room Fussbodenheizung
attr Alpha2 stateFormat {sprintf("Ist-Temperatur1: %.1f, Soll-Temperatur1: %.1f , Ist-Temperatur2: %.1f , Soll-Temperatur2: %.1f , Ist-Temperatur3: %.1f , Soll-Temperatur3: %.1f  , Ist-Temperatur4: %.1f , Soll-Temperatur4: %.1f  ",  ReadingsNum($name,"Ist-Temperatur1",0), ReadingsNum($name,"Soll-Temperatur1",0), ReadingsNum($name,"Ist-Temperatur2",0), ReadingsNum($name,"Soll-Temperatur2",0),ReadingsNum($name,"Ist-Temperatur3",0), ReadingsNum($name,"Soll-Temperatur3",0), ReadingsNum($name,"Ist-Temperatur4",0), ReadingsNum($name,"Soll-Temperatur4",0))}

Zu Beachten: beim readingnnRegex am Ende das /text() anhängen. Das bewirkt dass die Readings dann nur die Zahlen enthalten und nicht das ganze XML. Damit gelingt dann das korrekte Format im Logfile.

Die gelesenen Daten sollen in ein Logfile geschrieben werden.

define FileLog_Alpha2 FileLog /opt/fhem/log/Alpha2-%Y.log Alpha2
attr FileLog_Alpha2 room Fussbodenheizung


Das Logfile soll in einem Plot dargestellt werden. Hier ein Beispiel für eine Ist- und Solltemperatur.

define SVG_Alpha2_Kueche_Esszimmer SVG FileLog_Alpha2:SVG_Alpha2_Kueche_Esszimmer:CURRENT
attr SVG_Alpha2_Kueche_Esszimmer group Fussbodenheizung_Plot
attr SVG_Alpha2_Kueche_Esszimmer label "FBH Küche/Esszimmer min.: $data{min1} °C, max: $data{max1} °C, Letzte: $data{currval1} °C"
attr SVG_Alpha2_Kueche_Esszimmer room Fussbodenheizung


Und dazu die gplot Datei.

# Created by FHEM/98_SVG.pm, 2015-10-10 13:24:16
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid ytics
set ylabel "Ist Temperatur"
set y2label "Soll Temperatur"
set yrange [18:25]
set y2range [18:25]

#FileLog_Alpha2 4:Ist-Temperatur1:23:
#FileLog_Alpha2 4:Soll-Temperatur1:23:

plot "<IN>" using 1:2 axes x1y1 title 'Ist-Temp1' ls l0fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Soll-Temp1' ls l1dot lw 3 with lines


Das deckt das Statuslesen und Darstellen im Fhem ab. Später wage ich mich auch an das senden von XML-Commands.

Gerne höre ich auch von euch eure Erfahrungen dazu und hoffe es hat in der Community noch andere die ein Alpha 2 verwenden.

Bruno


Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot

wolff

Hi Bruno,

HTTPMOD XPath-Erweiterung ist eine Nette Hilfe. Erspart einem das auscodieren der Funktionalität in einem eigenen Modul. Ich habe bei mir auch die "EZR-Home" aka Alpha2 von ELV (ist übrigens ein OEM Produkt der Firma Möhlenhoff) und soeben erfolgreich in FHEM einhängen können. Danke dafür!

JayKuDo

Hallo Bruno,

die Fussboden Heizun habe ich auch noch in den nächsten Tagen zu machen. Daher eine Frage meinerseits, kann ich die MAX! EQ3 Technik (Raumthermostate) über FHEM verwenden um der Alpha2 die IST/Sollt Temperatur mitzuteilen?
Da ich auch noch Wandradiatoren mit einbinden soll, würde sich die EQ3 (nach meinem jetigem Informationsstand) anbieten.

p.s.: Gute Erklärung!

BKSolo

Hallo, ich kenne diese Thermostaten nicht. Ich habe meine vom Lieferanten empfohlenen Thermostaten direkt mit dem Alpha 2 über Funk mit den Heizkreisen verbunden.
Zu Beachten ist: Nur die Heizkreise mit LCD-Display Thermostaten lassen es zu über den Browser die Soll-Temperaturen (und weitere Parameter) zu ändern. Bei den Analog-Thermostaten geht das nicht. Es ist mir nicht bekannt wie Alpha 2 funktioniert wenn keine Thermostaten direkt zu den Heizkreisen zugewiesen sind. Evtl. den Lieferanten mal zu fragen.

Grundsätzlich: Wenn es möglich ist die EQ3 Thermostaten in Fhem einzubinden dann gibt es ja bereits die Ist-Temperatur und die eingestellte Soll-Temperatur.
Als nächstes müsste dann diese Soll-Temperatur (und andere Parameter wie Ferienabwesenheit etc.) dem Alpha 2 Web-Server über das XML Interface mitgeteilt werden. Was ich auch noch nicht angefangen habe.

Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot

wolff

Die Alpha2 benötigt die (Funk-)Raumthermostate für die Regelung, da sonst für die jeweiligen Heizkreise ja keine ist-Temperatur ermittelt werden kann. Ohne angelernte Thermostate wird auf der Webseite der Alpha2 kein Wert angezeigt und auch keine Einstellmöglichkeiten angeboten. Auch per XML wird nichts gemeldet.
Wenn JayKuDo mittels anderer Thermometer die Räume überwachen will, so sollte es auch ein ganz normaler Schaltaktor tun, der die Stellventiele der einzelnen Heizkreise für einen Moment öffnet. Die Regelung müsste dann entsprechend in Software realisiert werden (Heizkurve per Algorithmus nachbilden) ...

JayKuDo

Wollen ist hier nicht das Thema, sondern Ausloten welche Kombinationen zur verfügung stehen.
Ausgehend von meiner IST-Situation:

8 Anschlüße für Aktoren (3 Heizkreise/Segmente sollen zusammengefasst werden) - soll mit der Alpha2 problemlos möglich sein.
Jeder Raum hat dazu noch normale Heizkörper an der Wand. Diese wollte ich in die Steuerung mit einbeziehen.
Und hohes Ziel war, nur einen Regler im Raum für beides.
Ein Freund von mir hat eine für mich überzeugende Lösung aufgebaut mit FHEM & den MAX! Eq3 Aktoren und Thermostaten. Allerdings hatte er keien Fussbodenheizung.
Diese Kombination macht es mir jetzt schwierig.

Ich habe zuvor einen Blog gefunden, da hat der Author dieses über Funksteckdosen gelöst, das kann ich hier aufgrund von Platzmangel nicht durchführen. Dies Haus hat keinen Keller und die Haustechnik ist auf 3 Etagen verteilt. Die Heizkreisverteiler sind in kleinen Wandkästen untergebracht und der Installateur hat diese auch noch darin sehr hoch gesetzt. Eine "einfache" Regelklemmleiste ist schon schwierig unterzubringen. Eine Mehrfachsteckdose mit Funkschaltern passt überhapt nicht.

Daher gefiel mir die Alpha2, diese baut kleiner (Volumen) und bringt eigenlich schon sehr viel mit. Falls dies nicht geht, setze ich das anders um, das die Wandheizkörper anders geregelt werden.

wolff

Statt einzelner Funk-Steckdosenschalter könntest Du in diesem Fall einen Vierfach-Funkaktor nehmen, z.B. aus der Homematic Serie für Hutschinenmontage. Ist der kompakteste, den ich bislang gesehen habe. Müsstest Dir dann nur gut überlegen, was der Default bei Funk-/Steuerungsausfall sein sollte. Wenn die Heizung Außentemperatur geführt ist, sollte es NO-Stellventile tun. Die öffnen dann bei Stromausfall... d.h. wenn die ganze Steuerung versagen sollte wird es wenigstens nicht kalt ;-)

JayKuDo

Ich bin auch schon bei Homematic gelandet, da ich 8 Heizzonen? (Aktoren) schalten muss kommen hier unten 2x HomeMatic 091836 Funk-Schaltaktor 4fach Rein und Ruhe im Karton, die Aktoren sind allerdings NC. Die wurden so geliefert.
Tragisch ist dies nicht, denn die untere Etage hat auf jeden Fall noch die normalen Radiatoren und man kann die Stellmotore auch eben herunternehmen.

revil.o

Moin zusammen,

@BKSolo: Vielen herzlichen Dank für Deinen Beitrag zur Alpha2 der Firma Moehlenhoff.

Dies ist für mich das I-Tüpfelchen nach dem ich lange gesucht bzw. mich auch selbst dran versucht (nicht so wirklich erfolgreich) habe.

Ich habe die FBH-Steuerung mit 3 HKs seit 1,5 Jahren bei mir verbaut. Die Raumthermostate sind auf 24V-Basis (drahtgebunden).
Nachdem ich jetzt mit FHEM so richtig 'warm' geworden bin und ich den Betrag hier, erfolgreich für mich umgesetzt habe ....

MÖCHTE ICH ALLEN, DIE AN DIESEM PROJEKT MITARBEITEN, MEINEN GROßEN DANK UND RESPEKT AUSSPRECHEN. DAS, WAS IHR HIER LEISTET IST DER ABSOLUTE OBERHAMMER.

Viele Grüße aus Hannover

Revil.o


wkarl

Hallo in die Runde,

ich spiele auch mit dem Gedanken meine Homematic basierende FB-Steuerung gegen eine Alpha 2 Lösung auszutauschen. Vermute mal, dass bei dem Alpha 2 System keine Raumthermostate und Ventile dabei sind. Also Alpha 2 + n*Raumthermostat + m*Ventile.

Dazu noch eine Frage: Im Wohnzimmer habe ich drei Heizschleifen, kann ich 3 Ventile zu einer Zone zusammenfassen?

Danke und ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

BKSolo

Hallo Walter, die genauen Angaben müsste dir der Lieferant geben können.

Soweit ich es kenne: Beim Alpha 2 mit 4 Zonen kannst Du z.B. für 2 Zonen je zwei Ventile (Heizkreise) ansteuern. Raumthermostaten können mehr als einer Zone zugeordnet werden.

Bei der Wahl der Raumthemostaten musst du beachten dass nur das Funk-Raumbediengerät LCD die Steuerung der Zonen durch den EZR Manager (im Browser/Mobile) steuern lässt.

Gruss, Bruno


Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot

pwfhem

#11
Hallo zusammen,

zuerst vielen Dank für die Anleitung für die ALPHA2-Integration.
Ich habe 2 ALPHA2 (1x 4-Kanal, 1x 8-Kanal) eingebunden. geht zuverlässig.
Allerdings musste ich unbedingt auf dblog wegen plot umstellen.
Danach funktionieren die Grafiken schön schnell.

Soweit die guten Nachrichten.
Die schlechte ist: ich habe irgendwo ein memory leak:
- alle 10min (das ist das XML-Abhol-Intervall) steigt der perl-Speicher (top, free)
- irgendwann ist dann Schluss und lowmemkill beendet perl

Hat jemand eine Idee, wie ich der Sache weiter auf die Spur kommen kann ?
Ich habe im Forum einen einzigen Hinweis auf XML und memory leak gefunden, komme aber nicht weiter.


update 01.12.15
- das reine Abholen des XML per HTTPMOD scheint auf keinen Fall das Problem zu sein
- solange "enableXPath-Strict 0" ist, wird zwar nix erkannt, aber der Speicher steigt nicht
- erst wenn XML-Erkennung an ist, steigt der Speicherbedarf stetig


Peter

Umgebung:
- cubietruck
- Linux 3.4.110-sun7i on armv7l
- fhem.cfg: nur ALPHA2-XML-Abfrage aktiv (alles andere deaktiviert)
- FHEM - version
fhem.pl             10024 2015-11-28 08:02:51Z rudolfkoenig
98_autocreate.pm     9911 2015-11-16 07:52:18Z rudolfkoenig
93_DbLog.pm          9718 2015-10-29 15:05:52Z rapster
91_eventTypes.pm     8725 2015-06-10 09:50:06Z rudolfkoenig
01_FHEMWEB.pm        9988 2015-11-24 13:45:07Z rudolfkoenig
92_FileLog.pm       10007 2015-11-26 14:05:29Z rudolfkoenig
98_HTTPMOD.pm        9127 2015-08-24 18:43:31Z ststrobel
91_notify.pm         8953 2015-07-13 15:13:06Z rudolfkoenig
33_readingsGroup.pm  9513 2015-10-18 10:25:13Z justme1968
99_SUNRISE_EL.pm     9831 2015-11-08 19:13:09Z rudolfkoenig
98_SVG.pm            9577 2015-10-21 17:45:02Z rudolfkoenig
42_SYSMON.pm         9437 2015-10-11 17:46:08Z hexenmeister
98_telnet.pm         9927 2015-11-18 18:53:43Z rudolfkoenig
99_Utils.pm          7914 2015-02-08 11:14:10Z rudolfkoenig
98_weblink.pm        9861 2015-11-11 18:25:40Z rudolfkoenig

BKSolo

Hallo Peter, was ist deine fhem Umgebung - HW / OS?

Bruno
Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot

pwfhem

Zitat von: BKSolo am 01 Dezember 2015, 07:08:55
Hallo Peter, was ist deine fhem Umgebung - HW / OS?

Bruno

Hallo Bruno,
ich habe die Infos im Originalbeitrag ergänzt.
Peter

BKSolo

Hallo Peter,
bin auf einem Raspberry 2 mit  Debian Linux.
Läuft seit Wochen ohne dass ich Probleme bemerkt hätte. Kenne aber UNIX nicht so gut dass ich tiefergehende Analysen machen könnte.

Hoffe nesges http://forum.fhem.de/index.php?topic=36837.0 kann dir helfen.
Bruno
Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot