Anbindung Junkers Gastherme mit HT3-Bus an FHEM

Begonnen von strauch, 29 Januar 2014, 12:26:27

Vorheriges Thema - Nächstes Thema

nachtratte

Hallo Norbert,

ja ist ein FR100 mit FD002 also Feb. 2010 laut der Tabelle, sollte dann eigentlich passen, oder?

Danke und Grüße,

Fabian

noscha

Hallo Fabian,

der Regler und das Fertigungsdatum sind OK. Eine Steuerung sollte somit möglich sein. Da dies jedoch noch nicht geht muss noch ein anderes Problem vorhanden sein.

1. Der FR100 ist ja eigentlich ein Raumregler und wohl in Deinem Wohnbereich montiert.
Hast Du ausser diesem Regler noch einen anderen, eventuell in Deinem Heizgerät oder im Heizungsraum installiert?
2. Ich vermute Deine Heizung hat nur einen ungemischten Heizkreis und dies muss dann wohl Heizkreis Nr.:1 sein.
3. Dein ht_proxy.server läuft ja, deshalb probier mal den Befehl: ./ht_netclient.py -b frost    und kontrolliere die Reaktion Deiner Heizung mit dem HT3_Analyser.py.
Eine Umschaltung des 'Temperatur-Niveau's auf 'Frost' sollte angezeigt werden.
Zurückschalten mit Kommando: ./ht_netclient.py -b auto
Die Abfrage: 'Is controller-type any of CTxyz/CRxyz/CWxyz y/n ?' muss natürlich bei Deinem Regler mit 'n' beantwortet werden.

Falls dies nicht funktioniert (bitte immer mit dem HT3_Analyser.py kontrollieren und dem System Zeit lassen) so kannst Du mir ein binäres Logfile Deiner Heizungdaten erzeugen mit:
./ht_binlogclient.py <irgend ein Logfilename> z.B.
./ht_binlogclient.py ht_bindaten.log
und mir zukommen lassen.

Während des logging kannst Du auch die Steuerkommandos absetzen (bitte Zeitpunkt notieren) oder andere Ereignisse (WW-Erzeugung etc.) notieren.
Allerdings nicht mehr als 2 Stunden laufen lassen sonst wird das File für die Auswertung unhandlich.

Gruß Norbert

nachtratte

#257
Hallo Norbert,

so, nachdem ich mal wieder etwas Zeit hab:

Ich hab nur den einen Regler (im Wohnzimmer), an der Heizung selbst ist keiner.

FHEM zeigt nun interessanterweise den HC1 an, allerdings nicht mit aktuellen Daten:
hc1_Tdesired
17.02018-05-07 11:35:23
hc1_Tmeasured
23.5
2018-05-07 11:35:23
hc1_mode
2
2018-05-07 11:35:23


Scheint also teilweise mal zu funktionieren das Auslesen...
Ändern geht über den netclient nicht, das hab ich auch schon öfters probiert.

Ich hab nun etwas mitgeloggt und Dir hier zum Download bereitgestellt: https://box.lysandor.net/s/Kb4Ccc7bBomfqFb

Vielen Dank und Grüße,

Fabian

noscha

Zitat von: nachtratte am 08 Mai 2018, 20:18:20

FHEM zeigt nun interessanterweise den HC1 an, allerdings nicht mit aktuellen Daten:
hc1_Tdesired
17.02018-05-07 11:35:23
hc1_Tmeasured
23.5
2018-05-07 11:35:23
hc1_mode
2
2018-05-07 11:35:23

Fabian

Hallo Fabian,
Du solltest mal die Aktivitäten Deines RPi kontrollieren (top). Offensichtlich ist er überlastet.
Die erfassten Heizungsdaten werden in eine Queue abgelegt und diese wird wohl nicht mehr zeitgerecht von FHEM geleert.
Wenn Du alles (HT3-Applikation mit Datenbanken und FHEM) auf einem RPi B hast, ist der sehr gut ausgelastet mit der Gefahr das die Average Load zu hoch wird.

Ich habe mir mal Dein Logfile zu Gemüte geführt und folgendes festgestellt:
Es wird Dein 'ht_pitiny-Adapter' nicht korrekt von der Heizung erkannt, deshalb kannst Du Deine Heizung z. Zeit nicht steuern.
Der Empfang geht ja problemlos. Für das Senden müssen die Signale des ht_pitiny-Adapter korrekt vom Heizgerät (Master) erkannt werden.
Und das funktioniert nicht richtig.
Daher kontrolliere bitte folgendes:
1. Heatronic Bus-Leitungslänge vom ht_pitiny-Adapter zur Heizung möglichst kurz.
2. Anschluss dieses Bus-Kabels möglichst in der Nähe des Reglers.
3. Nicht zu dicht an störende 230V Netzkabel verlegen.
4. Adern des Kabels nicht zu dünn, 2 adrige Litze mit 0,75mm² reicht.
Wenn all dies bei Dir korrekt ist, aber die Steuerung weiterhin nicht funktioniert, dann bitte die Geräte-Adresse des ht_pitiny-Adapters ändern auf die Adresse: 10 dez. und ein Reboot des ht_pitiny-Adapter durchführen.
Wie dies geht siehe Doku und beigefügtes Bild. Der ht_pitiny-Adapter braucht dafür nicht vom Heizungsbus getrennt werden.
Nach dem Reset des Adapters bitte mit dem HT3_Analyser die Telegramme kontrollieren. Speziell die MessageID 7 ist dabei wichtig.
Bisherige MsgID7 aus Deinem Logfile mit Bedeutung:
MsgID 7_0: 88 00 07 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 00 ed 00
Byte4 := 03 -> Byte4/Bit1 == Token8  (EMS Master Heizgeraet)
Byte4 := 03 -> Byte4/Bit2 == Token9
Byte5 := 01 -> Byte5/Bit1 == Token16 (Dein Regler FR100: 10hex)
Alle anderen folgenden Bytes&Bits sind 0 und somit wurde die Adresse des Ht_pitiny-Adapters (13)dez. nicht erkannt und Kommands von diesem Modul werden nicht beachtet. Korrekt wäre Byte4 := 23 (hex) gewesen.
Nach der Änderung der Geräte-Adresse des ht_pitiny-Adapters auf 10 dez. erhoffe ich mir, das der Adapter dann von der Heizung als neues Modul erkannt wird und eine Steuerung möglich ist.
Die zu erwartende MsgID7 sollte dann wie folgt aussehen:
MsgID 7_0: 88 00 07 00 07 01 00 00 00 00 00 00 00 00 00 00 00 00 00 crc-wert 00
Ich hoffe es funktioniert dann.
Welchen Heizgeräte-Typ/-Bezeichnung hast Du?
Gruß Norbert





thoweiss

Hallo zusammen,
ich versuche es noch einmal.

Ich setze das HEATRONIC modul ja schon an meiner Heizung ein.

Ich habe 1 gemischten und 1 ungemischten Heizkreis + Warmwasserspeicher.

Der gemischte Heizkreis wird über ein IPM1 angesteuert.

Meine Frage wäre jetzt wie bekomme ich die Daten des IPM1 in die Heatronic?

Wo kann ich da ansetzen?

Gruß,

Thorsten

noscha

Hallo thoweiss,
die Telegramme der Lastschaltmodule werden leider noch nicht im FHEM-Modul dekodiert. Gleiches gilt für die Heizkreise2...4.
Den Bedarf sehe ich schon seit längerm, habe aber selber kein IPM Lastschaltmodul. Jedoch habe ich binäre Logfiles von verschiedenen Junkers Heizungs-Systemen u.A. mit IPM Modulen.
Für den Test muss ich mir noch eine Simulationsumgebung aufsetzen um damit die binär-Daten in das FHEM-Modul zu bekommen. Es wird also noch eine Weile dauern bis ein brauchbares FHEM-Modul zur Verfügung ist. Dies wird aber hoffentlich zeitnah bis Ende 2018 möglich sein.
PS:
Derweil kannst Du ja die Python-Software (mit ht_proxy.server, HT3_Analyser u.anderen Modulen) nutzen um die Daten aller Heizkreise inklusive IPM-Modulen anzeigen  zu lassen und die Heizung zu steuern (wenn Du einen aktiven Adapter hast).

Anregung/Verbesserungen zum FHEM-Modul:
Allerdings ist inzwischen viel Dekodier-Arbeit in die pyhton-Module geflossen, und es macht wohl auf lange Sicht keinen Sinn dieses komplett auch im FHEM-Modul durchführen zu müssen.
Daher meine ich währe es langfristig günstiger die zentrale Dekodierung zu nutzen und deren MQTT-Schnittstelle als Input für ein FHEM - HEATRONIC_MQTT Modul zu nutzen.
Ich stelle dies hier mal zur Diskussion.
Gruß Norbert

thoweiss

Zitat von: noscha am 17 November 2018, 15:17:18
Anregung/Verbesserungen zum FHEM-Modul:
Allerdings ist inzwischen viel Dekodier-Arbeit in die pyhton-Module geflossen, und es macht wohl auf lange Sicht keinen Sinn dieses komplett auch im FHEM-Modul durchführen zu müssen.
Daher meine ich währe es langfristig günstiger die zentrale Dekodierung zu nutzen und deren MQTT-Schnittstelle als Input für ein FHEM - HEATRONIC_MQTT Modul zu nutzen.
Ich stelle dies hier mal zur Diskussion.
Gruß Norbert

Hallo Norbert,
ich habe jetzt auch meine Heizungsauswertung - aktiv schreiben werde ich nicht - auf MQTT umgestellt.
So bekomme ich (fast) alle Werte die mich interessieren in FHEM dargestellt.

Die Anbindung läuft bei mir über den FHEM-Internen MQTT2-Server.

Vorteil ist auch, dass das Decoding außerhalb von FHEM läuft und das ich im Prinzip nur hometop_HT3 aktualisieren muss um weitere Funktionen umzusetzen.

Gruß,

Thorsten





noscha

#262
Hallo @all
ich habe das Modul: 89_HEATRONIC.pm inzwischen für mehrere Heizkreise und die Cxyz-Regler angepasst.
Eine Steuerung der Heizung ist somit auch für die Fxyz- / Cxyz-Reglern und FHEM möglich (wenn man den nötigen Adapter 'ht_pitiny' bzw. 'pt_piduino' hat).
Dieses Pre-Release steht zu Testzwecken zur Verfügung unter URL:
https://github.com/norberts1/fhem
Details zur Installation und den Änderungen sind im README.md File vorhanden.

@thoweiss
Hallo Thorsten, vielleicht hast Du die Zeit und kannst dieses Modul auf Deine Anlage hetzen und die Werte mit den MQTT-Meldungen vergleichen.

Wäre prima wenn möglichst viele eine Rückmeldung geben, damit die Entwicklung weitergeht und dies in ein aktuelles Release einfliessen kann.

Gruß Norbert

tulamidan

Ich würde auch ganz gerne die HT3 anbinden, leider fehlt es mir am Controller und den skills mir einen zusammenzulöten.
Lässt sich dieser vielleicht auch komplett beziehen, bzw. sucht ein ht_pitiny vielleicht ein neues (warmes) Zuhause? Ich würde mich gut drum kümmern ;) -> pm an mich.

thoweiss

Zitat von: noscha am 08 Januar 2019, 16:56:47
Hallo @all
ich habe das Modul: 89_HEATRONIC.pm inzwischen für mehrere Heizkreise und die Cxyz-Regler angepasst.
Eine Steuerung der Heizung ist somit auch für die Fxyz- / Cxyz-Reglern und FHEM möglich (wenn man den nötigen Adapter 'ht_pitiny' bzw. 'pt_piduino' hat).
Dieses Pre-Release steht zu Testzwecken zur Verfügung unter URL:
https://github.com/norberts1/fhem
Details zur Installation und den Änderungen sind im README.md File vorhanden.

@thoweiss
Hallo Thorsten, vielleicht hast Du die Zeit und kannst dieses Modul auf Deine Anlage hetzen und die Werte mit den MQTT-Meldungen vergleichen.

Wäre prima wenn möglichst viele eine Rückmeldung geben, damit die Entwicklung weitergeht und dies in ein aktuelles Release einfliessen kann.

Gruß Norbert

Das klingt prima ich werde mir das einmal anschauen.

Ggf. Schaffe ich es heute noch.
Gruß Thorsten

thoweiss

#265
Zitat von: noscha am 08 Januar 2019, 16:56:47

@thoweiss
Hallo Thorsten, vielleicht hast Du die Zeit und kannst dieses Modul auf Deine Anlage hetzen und die Werte mit den MQTT-Meldungen vergleichen.

Gruß Norbert

Hallo Norbert,
ich habe das Modul jetzt seit zwei tagen laufen und bin soweit zufrieden.

Verglichen mit dem MQTT-Client kommen einige werte jetzt wieder zuverlässiger (häufiger).
Beim MQTT-Client sahen die Charts manchmal etwas zerstückelt aus, da einige werte nur Sporadisch und auch manchmal als 0 kamen.
Inbesondere bei den Warmwasser-Temperaturen und den Pumpen-Stati (0/1) sah das manchmal etwas merkwürdig aus.

Ob das am ht_collgate oder am MQTT2-Device von FEHM liegt kann ich allerdings nicht sagen.

Das neue modul liefert jetzt auch den Pumpenstatus für den 2. Heizkreis, der kam über MQTT noch nicht.

Ich würde mir noch einen Parameter "Interval" wünschen, über den man die Häufigkeit der Abfrage global einstellen kann.
Also das z. B. zwar die Werte im Hintergrund empfangen werden, aber die Events z. B. nur alle 120 Sekunden erzeugt werden.
Manchmal werden die Temperaturen ja sehr häufig aktualisiert.

Hier ein List des HEATRONIC-Device:



Internals:
   CHANGED   
   DEF        localhost:8088
   DeviceName localhost:8088
   FD         16
   NAME       ht.therme
   NR         303
   PARTIAL   
   STATE      23.2 °C
   TYPE       HEATRONIC
   Helper:
     DBLOG:
       ch_Tflow_desired:
         logdb:
           TIME       1547539090.68357
           VALUE      0
       ch_Tflow_measured:
         logdb:
           TIME       1547541806.57822
           VALUE      23.2
       ch_Toutside:
         logdb:
           TIME       1547541796.58481
           VALUE      3.3
       ch_Treturn:
         logdb:
           TIME       1547541865.55675
           VALUE      25.4
       ch_burner_fan:
         logdb:
           TIME       1547539092.22596
           VALUE      0
       ch_burner_operation:
         logdb:
           TIME       1547539090.68357
           VALUE      0
       ch_burner_power:
         logdb:
           TIME       1547539090.68357
           VALUE      0
       ch_mode:
         logdb:
           TIME       1547539090.68357
           VALUE      0
       ch_pump_circulation:
         logdb:
           TIME       1547538053.38887
           VALUE      0
       ch_pump_cylinder:
         logdb:
           TIME       1547539095.45819
           VALUE      0
       ch_pump_heating:
         logdb:
           TIME       1547539096.5506
           VALUE      1
       ch_pump_heating_power:
         logdb:
           TIME       1547539160.09108
           VALUE      40
       ch_runtime_ch:
         logdb:
           TIME       1547531610.15334
           VALUE      322095
       ch_runtime_dhw:
         logdb:
           TIME       1547539049.71109
           VALUE      107883
       ch_runtime_tot:
         logdb:
           TIME       1547539100.13461
           VALUE      429979
       ch_starts_ch:
         logdb:
           TIME       1547521725.12264
           VALUE      19671
       ch_starts_dhw:
         logdb:
           TIME       1547538160.78876
           VALUE      14396
       ch_starts_tot:
         logdb:
           TIME       1547538201.41311
           VALUE      34067
       ch_time:
         logdb:
           TIME       1547539930.67682
           VALUE      2019-01-15 09:19:17
       dhw_Tcylinder:
         logdb:
           TIME       1547541636.17097
           VALUE      55.8
       dhw_Tdesired:
         logdb:
           TIME       1547522653.66549
           VALUE      53
       dhw_Tmeasured:
         logdb:
           TIME       1547541716.07139
           VALUE      36.5
       hc1_Tdesired:
         logdb:
           TIME       1547531591.84718
           VALUE      18.5
       hc1_Tflow_desired:
         logdb:
           TIME       1547531591.55777
           VALUE      0.0
       hc1_Tmeasured:
         logdb:
           TIME       1547533393.8124
           VALUE      22.5
       hc1_mode:
         logdb:
           TIME       1547531591.84718
           VALUE      2
       hc2_Tdesired:
         logdb:
           TIME       1547531595.16649
           VALUE      18.5
       hc2_Tflow_desired:
         logdb:
           TIME       1547531636.89864
           VALUE      0
       hc2_Tflow_mixer:
         logdb:
           TIME       1547540924.31236
           VALUE      23.9
       hc2_Tmeasured:
         logdb:
           TIME       1547533332.82757
           VALUE      22.5
       hc2_mixerposition:
         logdb:
           TIME       1547531636.89864
           VALUE      0
       hc2_mode:
         logdb:
           TIME       1547531595.16649
           VALUE      2
       hc2_pump:
         logdb:
           TIME       1547539141.61779
           VALUE      1
   READINGS:
     2019-01-15 09:44:25   ch_Tflow_desired 0
     2019-01-15 09:43:26   ch_Tflow_measured 23.2
     2019-01-15 09:44:25   ch_Tmixer       -0.0
     2019-01-15 09:44:16   ch_Toutside     3.3
     2019-01-15 09:44:25   ch_Treturn      25.4
     2019-01-15 09:44:25   ch_burner_fan   0
     2019-01-15 09:44:25   ch_burner_operation 0
     2019-01-15 09:44:25   ch_burner_power 0
     2019-01-15 09:44:25   ch_code         0
     2019-01-15 09:44:25   ch_error        00
     2019-01-15 09:44:25   ch_mode         0
     2019-01-15 09:44:25   ch_pump_circulation 0
     2019-01-15 09:44:25   ch_pump_cylinder 0
     2019-01-15 09:44:25   ch_pump_heating 1
     2019-01-15 09:44:16   ch_pump_heating_power 40
     2019-01-15 09:44:16   ch_runtime_ch   322095
     2019-01-15 09:44:25   ch_runtime_dhw  107883
     2019-01-15 09:44:16   ch_runtime_tot  429979
     2019-01-15 09:44:16   ch_starts_ch    19671
     2019-01-15 09:44:25   ch_starts_dhw   14396
     2019-01-15 09:44:16   ch_starts_tot   34067
     2019-01-15 09:12:10   ch_time         2019-01-15 09:19:17
     2019-01-15 09:43:46   dhw_Tcylinder   55.8
     2019-01-15 09:44:25   dhw_Tdesired    53
     2019-01-15 09:44:25   dhw_Tmeasured   36.5
     2019-01-15 09:44:29   hc1_Tdesired    18.5
     2019-01-15 09:43:15   hc1_Tflow_desired 0.0
     2019-01-15 09:44:29   hc1_Tmeasured   22.5
     2019-01-15 09:44:29   hc1_mode        2
     2019-01-15 09:44:29   hc2_Tdesired    18.5
     2019-01-15 09:44:06   hc2_Tflow_desired 0
     2019-01-15 09:44:06   hc2_Tflow_mixer 23.9
     2019-01-15 09:44:29   hc2_Tmeasured   22.5
     2019-01-15 09:44:06   hc2_mixerposition 0
     2019-01-15 09:44:29   hc2_mode        2
     2019-01-15 09:44:06   hc2_pump        1
     2019-01-14 19:53:10   state           opened
   status:
     FlagWritingSequence 0
     HT_mode_requested 255
Attributes:
   alias      Therme
   event-on-change-reading .*
   icon       sani_boiler_temp
   interval_ch_Tflow_measured 60
   interval_ch_time 3600
   interval_dhw_Tcylinder 60
   room       Heizung
   stateFormat { sprintf("%.1f °C",ReadingsVal("ht.therme","ch_Tflow_measured",0)) }


Ich lasse das jetzt erst einmal weiter laufen, wenn mir noch etwas auffällt, melde ich mich.


Gruß,
Thorsten









tulamidan

#266
Hallo
Ich habe seit einiger Zeit Norberts pitiny in Verwendung und ich wundere mich über ein Verhalten meiner Heizung. Ich gehe mal davon aus, dass es die Heizung ist und nicht die Software oder der pitiny, aber vielleicht irre ich mich auch. (Junkers Cerapur ZSB 22 mit FW-100 außen temp Regelung)

Zum Zeitpunkt des Screenshots ist die HZ im "Frost" Modus. D.h. der Brenner sollte nicht laufen, da sie auf 0°C eingestellt ist. jetzt gibt es aber um 13:45 einen Verrückten Peak.

Zum gleichen Zeitpunkt wurde auch beim WW ein Peak entdeckt und es ist warscheinlich auch WW entnommen worden. Aber warum wird das in der Vorlauftemperatur der Heizung angezeigt (als "Soll" Wert?)

thoweiss

Zitat von: tulamidan am 04 Februar 2019, 16:34:05

Zum gleichen Zeitpunkt wurde auch beim WW ein Peak entdeckt und es ist warscheinlich auch WW entnommen worden. Aber warum wird das in der Vorlauftemperatur der Heizung angezeigt (als "Soll" Wert?)

Weil die Vorlauftemperatur in der Therme vor dem Umschaltventil gemessen wird und daher natürlich bei Warmwasserladung ansteigen muss weil damit der Speicher geladen wird!

Gruß,
Thorsten

noscha

Zitat von: thoweiss am 15 Januar 2019, 09:43:47
...
Verglichen mit dem MQTT-Client kommen einige werte jetzt wieder zuverlässiger (häufiger).
Beim MQTT-Client sahen die Charts manchmal etwas zerstückelt aus, da einige werte nur Sporadisch und auch manchmal als 0 kamen.
Inbesondere bei den Warmwasser-Temperaturen und den Pumpen-Stati (0/1) sah das manchmal etwas merkwürdig aus.

Ob das am ht_collgate oder am MQTT2-Device von FEHM liegt kann ich allerdings nicht sagen.
...
Hallo Thorsten,
fehlende Werte bei MQTT könnte mit den Einstellungen (Quality of Service) zusammenhängen und damit ob Informationen nicht empfangen wurden.
Qos:=2 im mqtt_client_cfg.xml Konfigfile könnte da Verbesserungen bewirken jedoch wird dies vom MQTT2_Server noch nicht unterstützt.
Insbesondere bei den 0/1-Werten fällt eine fehlende MQTT-Information auf wenn zweimal 0 oder 1 hintereinander empfangen wurden.
Bei den Temperaturen ist dies ja weniger kritisch.

Mein Tipp für einen MQTT-Test:
Konfiguration ändern damit immer alle Werte über MQTT gesendet werden und nicht nur die Deltas.
Folgende Anpassung ist dazu im Konfigurationsfile: mqtt_client_cfg.xml File nötig:
        <Publish_OnlyNewValues>False</Publish_OnlyNewValues>
Nach der Änderung den daemon 'ht_collgate.py' neu starten.
Es werden danach alle dekodierten MQTT-Daten eines Heizungstelegramms an den MQTT-Broker gesendet, unabhängig davon ob die Werte sich geändert hatten.
Das Datenaufkommen ist dann zwar grösser aber alle Werte sollten aktuell sein.
Gruß Norbert

Papaloewe

Liebe Junkers-FHEM Freunde,

demnächst soll ich eine neue Therme Junkers/Bocsh GC7000iw bekommen.
Mein Ziel wäre es das Gerät möglichst vollständig (messen & steuern) in FHEM zu intergrieren und möglichst ohne Cloud!

Wie ich bisher verstanden habe brauche ich unbedingt einen zus. externen Regler. Hier wurde mir ein CW400 angeboten.
Warum eigentlich? Haben die die ganze Regelung ausgelagert und das Gerät ist nicht sleber in der Lage einen Aussentemparaturfehler zu verwerten?

Aus dem Thread habe ich entnommen, dass es ein zus. LAN Modul (MB LAN2) von Junkers gibt, oder ich kann direkt am HT-Bus (Achtung: hier ist es Heatronic 4i, HT4 kompatibel mit HT3?) das Signal mit einen selbsbau-Adapter abgreifen.
Die Intergration erfolgt dann mittels HEATTRONIC-Fheme Modul. Ist das soweit richt?
Gäbe es noch andere, bessere Varaianten?

Vielen Dank.

Thomas