Paradigma Heizung Integration via Modbus TCP

Begonnen von nigl, 21 Oktober 2021, 12:04:28

Vorheriges Thema - Nächstes Thema

nigl

Da ich keinen Thread zu dem Thema gefunden habe, starte ich meinen ersten Thread hier im Forum.

Paradigma https://www.paradigma.de/ hat mit Version v2.16 Modbus TCP Unterstützung in ihre Produkte SystaComfort II und CompactC eingebaut was mich sehr gefreut hat, als ich letzte Woche ein Update meiner SystaComfort II bekommen habe.

Das FHEM Modul ModbusAttr bietet eine generische Konfigurationsmöglichkeit für Modbus Geräte an, indem man via attr verschiedene Readings generieren kann. An Hand der wirklich tollen Dokumentation des ModbusAttr Moduls habe ich ich eine Beispielkonfiguration erstellt.

An Hand der Dokumentation von Paradigma (siehe: https://www.paradigma.de/produkte/regelungen/modbus-schnittstelle/) kann man für folgende Register FHEM Readings generieren.

  • Coils Register
  • Inputs Register
  • Holdings Register

Allerdings liefern die Registereinträge für Geräte, die nicht physikalisch verbaut sind, nicht nutzbare Werte zurück (meistens den Maximalwert des jeweiligen Datentyps).

Deshalb habe ich folgenden Ansatz gewählt: Ich teile die Konfiguration für das Paradigma ModbusAttr Device in verschiedene Config-Snippets auf, die man je nach verbauter Hardware verwenden kann. Die Komponenten habe ich aus der Spalte "Quelle" in der Paradigma Dokumentation abgeleitet. Wie diese "Quellen" auf tatsächlich vorhandene Hardware passen weiß ich nicht.

Zum Testen schlage ich folgendes Vorgehen vor:

Erstmal ein Device generieren:


define Paradigma ModbusAttr 1 60 192.168.100.100:502 TCP

Dann kann man via FHEM Webinterface das Device auswählen und mit "Raw Definition" den Editor aufmachen. Da kann man dann die jeweiligen Config-Snippets reinkopieren, für die man Hardware hat.

Folgende Snippets gibt es:

fhem-paradigma-global.conf : Notwendig, beinhaltet Typ-Definitionen und register-spezifische Konfigurationen

#
# general parameters for for Coils Registers
#
attr Paradigma dev-c-combine 10
attr Paradigma dev-c-defPoll 1

#
# general parameters for for Holding Registers
#
attr Paradigma dev-h-combine 100
attr Paradigma dev-h-defPoll 1

#
# general parameters for Input Registers
#
attr Paradigma dev-i-combine 100
attr Paradigma dev-i-defExpr $val/10
attr Paradigma dev-i-defFormat %.1f
attr Paradigma dev-i-defPoll 1
attr Paradigma dev-i-defUnpack s>

#
# Type definitions:
# According to Paradigma Documentation, the following types are defined
#

#
# Name:        Para_RW_Temp
# Type:        int16
# ScaleFactor: 0.1
# Unit:        degrees centigrade (°C)
# Writeable:   yes
#
attr Paradigma dev-type-Para_RW_Temp-expr $val/10
attr Paradigma dev-type-Para_RW_Temp-format %.1f
attr Paradigma dev-type-Para_RW_Temp-unpack s>
# FIXME Looks like a bug as ModbusAttr Module does not allow to define a setexpr for a dev-type.
#       So I commented out set feature for scaled devices.
#       I do not want to add a setexpr for every register entry.
#attr Paradigma dev-type-Para_RW_Temp-set 1
#attr Paradigma dev-type-Para_RW_Temp-setexpr $val*10


#
# Name:        Para_RO_Energy
# Type:        uint32
# ScaleFactor: 1
# Unit:        kWh
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_Energy-unpack N
attr Paradigma dev-type-Para_RO_Energy-len 2


#
# Name:        Para_RO_Energy_scaled
# Type:        uint32
# ScaleFactor: 0.1
# Unit:        kWh
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_Energy-expr $val/10
attr Paradigma dev-type-Para_RO_Energy-format %.1f
attr Paradigma dev-type-Para_RO_Energy-unpack N
attr Paradigma dev-type-Para_RO_Energy-len 2


#
# Name:        Para_RO_Counter
# Type:        uint32
# ScaleFactor: 1
# Unit:        count
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_Counter-unpack N
attr Paradigma dev-type-Para_RO_Counter-len 2


#
# Name:        Para_RW_uint16
# Type:        uint16
# ScaleFactor: 1
# Unit:        1
# Writeable:   yes
#
attr Paradigma dev-type-Para_RW_uint16-unpack n
attr Paradigma dev-type-Para_RW_uint16-set 1

#
# Name:        Para_RO_uint16
# Type:        uint16
# ScaleFactor: 1
# Unit:        1
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_uint16-unpack n

#
# Name:        Para_RO_uint16_scaled
# Type:        uint16
# ScaleFactor: 0.1
# Unit:        misc
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_uint16_scaled-unpack n
attr Paradigma dev-type-Para_RO_uint16_scaled-expr $val/10
attr Paradigma dev-type-Para_RO_uint16_scaled-format %.1f

#
# Name:        Para_RO_Temp
# Type:        int16
# ScaleFactor: 0.1
# Unit:        degrees centigrade (°C)
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_Temp-unpack s>
attr Paradigma dev-type-Para_RO_Temp-expr $val/10
attr Paradigma dev-type-Para_RO_Temp-format %.1f

#
# Name:        Para_RO_Power
# Type:        int16
# ScaleFactor: 0.1
# Unit:        kW
# Writeable:   no
#
attr Paradigma dev-type-Para_RO_Power-unpack s>
attr Paradigma dev-type-Para_RO_Power-expr $val/10
attr Paradigma dev-type-Para_RO_Power-format %.1f

#
# Coils Registers always hold a 1-bit value
#
attr Paradigma obj-c0-reading Leitsystem_aktiv
attr Paradigma obj-c1-reading Heizkreis1_vorhanden
attr Paradigma obj-c2-reading Heizkreis2_vorhanden
attr Paradigma obj-c3-reading Heizkreis3_vorhanden
attr Paradigma obj-c4-reading Trinkwassererwaermung_freigeben
attr Paradigma obj-c4-set 1
attr Paradigma obj-c5-reading Trinkwassererwaermung_sperren
attr Paradigma obj-c5-set 1
attr Paradigma obj-c6-reading Trinkwasserzirkulation_freigeben
attr Paradigma obj-c6-set 1
attr Paradigma obj-c7-reading Trinkwasserzirkulation_sperren
attr Paradigma obj-c7-set 1
attr Paradigma obj-c8-reading Schwimmbadheizkreis_vorhanden

#
# Holding registers have different types and encodings
#
attr Paradigma obj-h1-reading Stoercode_Leitsystem
attr Paradigma obj-h1-type Para_RW_uint16


fhem-paradigma-heizungsregler.conf: Optional, Irgendwas mit Heizung  ;)

attr Paradigma obj-i0-reading Aussentemperatur
attr Paradigma obj-i0-name TA
attr Paradigma obj-i1-reading Vorlauftemperatur_HK1
attr Paradigma obj-i1-name TV
attr Paradigma obj-i2-reading Ruecklauftemperatur_HK1
attr Paradigma obj-i2-name TR
attr Paradigma obj-i3-reading Warmwassertemperatur_oben
attr Paradigma obj-i3-name TWO
attr Paradigma obj-i4-reading Puffertemperatur_oben
attr Paradigma obj-i4-name TPO
attr Paradigma obj-i5-reading Puffertemperatur_unten
attr Paradigma obj-i5-name TPU
attr Paradigma obj-i6-reading Temperatur_Zirkulationsruecklauf
attr Paradigma obj-i6-name TZR
attr Paradigma obj-i7-reading Vorlauftemperatur_HK2
attr Paradigma obj-i7-name TV2
attr Paradigma obj-i8-reading Ruecklauftemperatur_HK2
attr Paradigma obj-i8-name TR2
attr Paradigma obj-i9-reading Raumtemperatur_HK1
attr Paradigma obj-i9-name RI1
attr Paradigma obj-i10-reading Raumtemperatur_HK2
attr Paradigma obj-i10-name RI2


fhem-paradigma-systa-comfort-ii.conf: Optional, Irgendwas mit Steuerung ;)

attr Paradigma obj-h2-reading Sollwert_Vorlauftemperatur_HK1
attr Paradigma obj-h2-type Para_RW_Temp
attr Paradigma obj-h2-set 1
attr Paradigma obj-h2-setexpr $val * 10

attr Paradigma obj-h3-reading Sollwert_Vorlauftemperatur_HK2
attr Paradigma obj-h3-type Para_RW_Temp
attr Paradigma obj-h3-set 1
attr Paradigma obj-h3-setexpr $val * 10

attr Paradigma obj-h5-reading Sollwert_Leistung_HK1
attr Paradigma obj-h5-type Para_RW_uint16

attr Paradigma obj-h6-reading Sollwert_Leistung_HK2
attr Paradigma obj-h6-type Para_RW_uint16

attr Paradigma obj-h9-reading Max_Vorlauftemperatur_HK1
attr Paradigma obj-h9-type Para_RW_Temp
attr Paradigma obj-h9-set 1
attr Paradigma obj-h9-setexpr $val * 10

attr Paradigma obj-h10-reading Max_Vorlauftemperatur_HK2
attr Paradigma obj-h10-type Para_RW_Temp
attr Paradigma obj-h10-set 1
attr Paradigma obj-h10-setexpr $val * 10

attr Paradigma obj-h12-reading Stoercode_Heizungsregler
attr Paradigma obj-h12-type Para_RO_uint16

attr Paradigma obj-h27-reading Betriebsstunden_Kessel1
attr Paradigma obj-h27-type Para_RO_Counter

attr Paradigma obj-h29-reading Anzahl_Starts_Kessel1
attr Paradigma obj-h29-type Para_RO_Counter

attr Paradigma obj-h35-reading Status_Zirkulation
attr Paradigma obj-h35-type Para_RO_uint16
attr Paradigma obj-h35-map 0:Zirkulation_nicht_instaliert, 1:Nachlauf_der_Zirkulationspumpe, 2:Zirkulationspumpe_gesprerrt_ueber_Einstellung_Sperrzeit, 3:Zirkulationspumpe_ist_aus, 4:Zirkulationspumpe_durch_Temperaturfuehler_gesperrt, 5:Zirkulationspumpe_ist_an, 6:Zirkulationspumpe_ist_fuer_Frostschutz_an, 7:Zirkulationspumpe_durch_Leitsystem_gesperrt, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h36-reading Status_Heizkreis1
attr Paradigma obj-h36-type Para_RO_uint16
attr Paradigma obj-h36-map 0:Aus_wegen_Betriebsart, 1:Aus_wegen_Aussentemperatur, 2:Aus_wegen_Raumtemperatur, 3:Gesperrt_da_Hauptkessel_gesperrt, 4:Aus_wegen_Warmwasser_Vorrang, 6:Ein_wegen_Frostschutz, 7:solare_Ueberschusswaerme_wird_abgefuerht, 8:Vorhaltezeit_fuer_Aufheizen, 9:Regelung_Sollwert_Raumtemperatur_Normal, 10:Regelung_Sollwert_Raumtemperatur_Komfor, 11:Regelung_Sollwert_Raumtemperatur_Absenken, 16:Warmwassererwaermung_ueber_dezentrale_Wohnungsstation, 17:Estrichprogramm, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h37-reading Status_Heizkreis2
attr Paradigma obj-h37-type Para_RO_uint16
attr Paradigma obj-h37-map 0:Aus_wegen_Betriebsart, 1:Aus_wegen_Aussentemperatur, 2:Aus_wegen_Raumtemperatur, 3:Gesperrt_da_Hauptkessel_gesperrt, 4:Aus_wegen_Warmwasser_Vorrang, 6:Ein_wegen_Frostschutz, 7:solare_Ueberschusswaerme_wird_abgefuerht, 8:Vorhaltezeit_fuer_Aufheizen, 9:Regelung_Sollwert_Raumtemperatur_Normal, 10:Regelung_Sollwert_Raumtemperatur_Komfor, 11:Regelung_Sollwert_Raumtemperatur_Absenken, 16:Warmwassererwaermung_ueber_dezentrale_Wohnungsstation, 17:Estrichprogramm, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h41-reading Status_Heizkessel
attr Paradigma obj-h41-type Para_RO_uint16
attr Paradigma obj-h41-map 0:Aus, 1:Ein_Handbetrieb, 2:Ein_Warmwasser, 3:Ein_Heizung, 4:Gesperrt_durch_Holzkessel, 5: Gesperrt_Wodtke_Pelletsofen, 6:Gesperrt_Aussentemperatur, 7:Warmepumpe_Kuehlbetrieb, 8:Kombikessel_Warmwasser, 9:Warmwasser_Slave, 10:Warmepumpe_Slave_Kuehlbetrieb, 11:Heizbedarf_Slave, 12:Ein_Mindestlaufzeit, 13:Startverzoegerung_Kaskade, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h44-reading Solltemperatur_Puffer_oben
attr Paradigma obj-h44-type Para_RO_Temp

attr Paradigma obj-h45-reading Kesselsolltemperatur
attr Paradigma obj-h45-type Para_RO_Temp

attr Paradigma obj-h48-reading Betriebsart_Heizkreis1
attr Paradigma obj-h48-type Para_RO_uint16
attr Paradigma obj-h48-map 0:Heizzeitprogramm1, 1:Heizzeitprogramm2, 2:Heizzeitprogramm3, 3:Dauernd_Normal, 4:Dauernd_Komfort, 5:Dauernd_Absenken, 6:Sommer, 7:Aus, 8:Party, 9:extern_Absenken, 10:Estrich_trocknen, 11:Ferien, 12:Hand, 13:Test, 14:Kaminfeger, 15:Kessel_Hand, 16:extern_Sommer, 17:extern_Aus, 33:Leitsystem, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h49-reading Betriebsart_Heizkreis2
attr Paradigma obj-h49-type Para_RO_uint16
attr Paradigma obj-h49-map 0:Heizzeitprogramm1, 1:Heizzeitprogramm2, 2:Heizzeitprogramm3, 3:Dauernd_Normal, 4:Dauernd_Komfort, 5:Dauernd_Absenken, 6:Sommer, 7:Aus, 8:Party, 9:extern_Absenken, 10:Estrich_trocknen, 11:Ferien, 12:Hand, 13:Test, 14:Kaminfeger, 15:Kessel_Hand, 16:extern_Sommer, 17:extern_Aus, 33:Leitsystem, 65535:Geraet_nicht_verbaut


fhem-paradigma-systa-solar-aqua-ii.conf : Optional, Solar-Anlage

attr Paradigma obj-h13-reading Stoercode_Solarregler
attr Paradigma obj-h13-type Para_RO_uint16
attr Paradigma obj-h13-map 0:OK, 1:Kein_Volumenstrom, 2:Luft_in_der_Anlage, 4:Vor_und_RUecklauf_vertauscht, 5:Stoerung_Zonenventil, 6:Falsche_Uhrzeit_vor_V1.08_Update_durchfuehren, 7:Druckabfall_in_der_Anlage, 9:Falsche_Hydraulik_Kurzschluss, 10:Rohrisolierung_Waermedaemmung_schadhaft_oder_Außenleitung_zu_lang, 11:Stromversorgung_nicht_konstant, 12:ULV_defekt_oder_Speicherfuehler_falsch_platziert, 13:Zu_wenig_Volumenstrom, 14:Speicher_unterkuehlt_durch_Frostschutz, 20:Außentemperatur_(TAM)_falsch_montiert, 21:Volumenstromsensor_defekt, 22:Ausfall_KollektorfUehler_(TSA), 23:Ausfall_Fuehler_Kollektoreintritt_(TSE), 24:Kollektorfuehler_(TSA)_gestoert, 25:FUehler_TSA_und_TAM_vertauscht, 26:Ausfall_Fuehler_Solarvorlauf_(TSV), 27:Ausfall_Außentemperatur_(TAM), 34:Ueberhitzung_Speicher_1, 35:Ueberhitzung_Speicher_2, 37:Fehlzirkulation_im_Solarkreis, 49:Solarstation_unterkuehlt, 50:Kollektor_eingefroren

attr Paradigma obj-h19-reading Kollektorleistung
attr Paradigma obj-h19-type Para_RO_uint16_scaled

attr Paradigma obj-h20-reading Tagesgewinn_Solar
attr Paradigma obj-h20-type Para_RO_uint16_scaled

attr Paradigma obj-h21-reading Gesamtgewinn_Solar
attr Paradigma obj-h21-type Para_RO_Energy_scaled

attr Paradigma obj-h39-reading Status_Solar
attr Paradigma obj-h39-type Para_RO_uint16
attr Paradigma obj-h39-map 0:wartet_auf_Sonne, 1:Frostschutzfunktion, 2:Anschieben_fuer_Messung_Kollektortemperatur, 3:Einschaltverzoegerung_aktiv, 4:Speicher_erwaermen, 5:Speicher_voll, 6:Kollektor_ueberhitzt, 7:manueller_Betrieb, 8:Messung_Durchfuehren, 9:Notbetrieb, 65535:Geraet_nicht_verbaut

attr Paradigma obj-i11-reading Kollektortemperatur
attr Paradigma obj-i11-name TSA

attr Paradigma obj-i31-reading Solare_Eintrittstemperatur
attr Paradigma obj-i31-name TSE
attr Paradigma obj-i32-reading Temperatur_Speicher_oben
attr Paradigma obj-i32-name TW
attr Paradigma obj-i33-reading Temperatur_Solarvorlauf
attr Paradigma obj-i33-name TSV
attr Paradigma obj-i34-reading Temperatur_Speicher2_oben
attr Paradigma obj-i34-name TW2
attr Paradigma obj-i35-reading Volumenstrom_Solar
attr Paradigma obj-i35-name S
attr Paradigma obj-i36-reading Aussentemperatur_am_Kollektor1
attr Paradigma obj-i36-name TAM
attr Paradigma obj-i37-reading Aussentemperatur_am_Kollektor2
attr Paradigma obj-i37-name TAM2
attr Paradigma obj-i38-reading Kollektortemperatur1
attr Paradigma obj-i38-name TSA1
attr Paradigma obj-i39-reading Kollektortemperatur2
attr Paradigma obj-i39-name TSA2


fhem-paradigma-kessel-ot-lan.conf: Optional, keine Ahnung welche Hardware gemeint ist

attr Paradigma obj-h14-reading Stoercode_Waermeerzeuger1
attr Paradigma obj-h14-type Para_RO_uint16

attr Paradigma obj-h57-reading Stoerung_Waermeerzeuger1
attr Paradigma obj-h57-type Para_RO_uint16

attr Paradigma obj-h58-reading Stoerung_Waermeerzeuger2
attr Paradigma obj-h58-type Para_RO_uint16

attr Paradigma obj-h59-reading Stoerung_Waermeerzeuger3
attr Paradigma obj-h59-type Para_RO_uint16

attr Paradigma obj-h60-reading Stoerung_Waermeerzeuger4
attr Paradigma obj-h60-type Para_RO_uint16


attr Paradigma obj-i12-reading Vorlauftemperatur_Kessel
attr Paradigma obj-i12-name FATV
attr Paradigma obj-i13-reading Ruecklauftemperatur_Kessel
attr Paradigma obj-i13-name FATR
attr Paradigma obj-i27-reading Vorlauftemperatur_Kessel1_Kaskade
attr Paradigma obj-i27-name FATV1
attr Paradigma obj-i28-reading Vorlauftemperatur_Kessel2_Kaskade
attr Paradigma obj-i28-name FATV2
attr Paradigma obj-i29-reading Vorlauftemperatur_Kessel3_Kaskade
attr Paradigma obj-i29-name FATV3
attr Paradigma obj-i30-reading Vorlauftemperatur_Kessel4_Kaskade
attr Paradigma obj-i30-name FATV4


fhem-paradigma-systa-comfort-wood.conf: Optional, Stückholzkessel-Steuerung

attr Paradigma obj-h43-reading Status_Holzkessel
attr Paradigma obj-h43-type Para_RO_uint16
attr Paradigma obj-h43-map 0:Aus, 1:Anheizen, 2:Leistungsbrand, 3:Ausbrand, 4:Aus, 5:Nachkuehlen, 6:Bestimmung_Kesseltemperatur, 65535:Geraet_nicht_verbaut


attr Paradigma obj-i14-reading Vorlauftemperatur_Holzkessel
attr Paradigma obj-i14-name TVKH

attr Paradigma obj-i15-reading Ruecklauftemperatur_Holzessel
attr Paradigma obj-i15-name TRKH

attr Paradigma obj-i16-reading Puffertemperatur_oben_Holzkessel
attr Paradigma obj-i16-name TPO_KH

fhem-paradigma-systa-comfort-heat.conf: Optional, Irgendwas mit 3. Heizkreis ;)

attr Paradigma obj-h4-reading Sollwert_Vorlauftemperatur_HK3
attr Paradigma obj-h4-type Para_RW_Temp
attr Paradigma obj-h4-set 1
attr Paradigma obj-h4-setexpr $val * 10

attr Paradigma obj-h7-reading Sollwert_Leistung_HK3
attr Paradigma obj-h7-type Para_RW_uint16

attr Paradigma obj-h11-reading Max_Vorlauftemperatur_HK3
attr Paradigma obj-h11-type Para_RW_Temp
attr Paradigma obj-h11-set 1
attr Paradigma obj-h11-setexpr $val * 10

attr Paradigma obj-h38-reading Status_Heizkreis3
attr Paradigma obj-h38-type Para_RO_uint16
attr Paradigma obj-h38-map 0:Aus_wegen_Betriebsart, 1:Aus_wegen_Aussentemperatur, 2:Aus_wegen_Raumtemperatur, 3:Gesperrt_da_Hauptkessel_gesperrt, 4:Aus_wegen_Warmwasser_Vorrang, 6:Ein_wegen_Frostschutz, 7:solare_Ueberschusswaerme_wird_abgefuerht, 8:Vorhaltezeit_fuer_Aufheizen, 9:Regelung_Sollwert_Raumtemperatur_Normal, 10:Regelung_Sollwert_Raumtemperatur_Komfor, 11:Regelung_Sollwert_Raumtemperatur_Absenken, 16:Warmwassererwaermung_ueber_dezentrale_Wohnungsstation, 17:Estrichprogramm, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h50-reading Betriebsart_Heizkreis3
attr Paradigma obj-h50-type Para_RO_uint16
attr Paradigma obj-h50-map 0:Heizzeitprogramm1, 1:Heizzeitprogramm2, 2:Heizzeitprogramm3, 3:Dauernd_Normal, 4:Dauernd_Komfort, 5:Dauernd_Absenken, 6:Sommer, 7:Aus, 8:Party, 9:extern_Absenken, 10:Estrich_trocknen, 11:Ferien, 12:Hand, 13:Test, 14:Kaminfeger, 15:Kessel_Hand, 16:extern_Sommer, 17:extern_Aus, 33:Leitsystem, 65535:Geraet_nicht_verbaut


attr Paradigma obj-i17-reading Vorlauftemperatur_HK3
attr Paradigma obj-i17-name TV3

attr Paradigma obj-i18-reading Ruecklauftemperatur_HK3
attr Paradigma obj-i18-name TR3


fhem-paradigma-systa-comfort-stove.conf: Optional, Wodtke-Pelletsofen

attr Paradigma obj-h31-reading Betriebsstunden_Wodtke
attr Paradigma obj-h31-type Para_RO_Counter

attr Paradigma obj-h33-reading Gesamtverbrauch_Wodtke
attr Paradigma obj-h33-type Para_RO_uint16_scaled

attr Paradigma obj-h42-reading Status_Wodtke_Pelletsofen
attr Paradigma obj-h42-type Para_RO_uint16
attr Paradigma obj-h42-map 0:Aus, 1:Standby, 2:Anheizphase, 3:Leistungsbrand, 4:Test_Abgasklappe, 5:Nachlauf, 6:Reinigung, 7:Stoerung, 8:Unbekannt, 65535:Geraet_nicht_verbaut


fhem-paradigma-systa-comfort-pool.conf: Optional, Swimming-Pool

attr Paradigma obj-h40-reading Status_Schwimmbad
attr Paradigma obj-h40-type Para_RO_uint16
attr Paradigma obj-h40-map 0:Erwaermung_gesperrt_da_Umwaelzpumpe_aus, 3:Heizkreis_gesperrt_da_Hauptkessel_gesperrt, 4:Aus_da_Warmwasservorrang_aktiv, 7:Heizen_mit_solarer_Ueberschusswaerme, 12:Schwimmbad_warm, 13:gesperrt_durch_Zeitprogramm, 14:Erwaermung_auf_Normaltemperatur, 15:Erwaermung_auf_Komforttemperatur, 65535:Geraet_nicht_verbaut

attr Paradigma obj-h46-reading Solltemperatur_Schwimmbad_Erwaermung_Heizkessel
attr Paradigma obj-h46-type Para_RO_Temp

attr Paradigma obj-h47-reading Solltemperatur_Schwimmbad_Erwaermung_Solar
attr Paradigma obj-h47-type Para_RO_Temp

attr Paradigma obj-h51-reading Betriebsart_Schwimmbad
attr Paradigma obj-h51-type Para_RO_uint16
attr Paradigma obj-h51-map 0:Heizzeitprogramm1, 1:Heizzeitprogramm2, 2:Heizzeitprogramm3, 3:Dauernd_Normal, 4:Dauernd_Komfort, 5:Dauernd_Absenken, 6:Sommer, 7:Aus, 8:Party, 9:extern_Absenken, 10:Estrich_trocknen, 11:Ferien, 12:Hand, 13:Test, 14:Kaminfeger, 15:Kessel_Hand, 16:extern_Sommer, 17:extern_Aus, 33:Leitsystem, 65535:Geraet_nicht_verbaut


attr Paradigma obj-i19-reading Schwimmbadtemperatur
attr Paradigma obj-i19-name TSB

attr Paradigma obj-i20-reading Vorlauftemperatur_Schwimmbadheizkreis
attr Paradigma obj-i20-name TVSB

attr Paradigma obj-i21-reading Ruecklauftemperatur_Schwimmbadheizkreis
attr Paradigma obj-i21-name TRSB

fhem-paradigma-systa-comfort-si-kas.conf: Optional, Schichtenspeicher / Kaskade

attr Paradigma obj-h52-reading Kesselkaskade_Sollleistung_gesamt
attr Paradigma obj-h52-type Para_RO_Power

attr Paradigma obj-h53-reading Kesselkaskade_Sollleistung_Waermeerzeuger1
attr Paradigma obj-h53-type Para_RO_Power

attr Paradigma obj-h54-reading Kesselkaskade_Sollleistung_Waermeerzeuger2
attr Paradigma obj-h54-type Para_RO_Power

attr Paradigma obj-h55-reading Kesselkaskade_Sollleistung_Waermeerzeuger3
attr Paradigma obj-h55-type Para_RO_Power

attr Paradigma obj-h56-reading Kesselkaskade_Sollleistung_Waermeerzeuger4
attr Paradigma obj-h56-type Para_RO_Power


attr Paradigma obj-i22-reading Einschaltfuehler_Schichtenspeicher
attr Paradigma obj-i22-name TWE

attr Paradigma obj-i23-reading Ausschaltfuehler_Schichtenspeicher
attr Paradigma obj-i23-name TWA

attr Paradigma obj-i24-reading Einschichttemperatur_Schichtenspeicher
attr Paradigma obj-i24-name TWS

attr Paradigma obj-i25-reading Vorlauftemperatur_Schichtenspeicher
attr Paradigma obj-i25-name TVSI

attr Paradigma obj-i26-reading Temperatur_Kaskade
attr Paradigma obj-i26-name TK


fhem-paradigma-systa-expresso-ii.conf: Optional, Frischwasserstation

attr Paradigma obj-h8-reading Sollwert_Trinkwassertemperatur
attr Paradigma obj-h8-type Para_RW_Temp
attr Paradigma obj-h8-set 1
attr Paradigma obj-h8-setexpr $val * 10

attr Paradigma obj-h23-reading Waermemenge_Warmwasser
attr Paradigma obj-h23-type Para_RO_Energy

attr Paradigma obj-h25-reading Waermemenge_Zirkulation
attr Paradigma obj-h25-type Para_RO_Energy_scaled

attr Paradigma obj-h34-reading Status_Warmwasser
attr Paradigma obj-h34-type Para_RO_uint16
attr Paradigma obj-h34-map 0:kein_Warmwasser_Bedarf, 1:Warmwasserspeicher_wird_beladen, 2:Frostschutzfunktion_aktiv, 3:Der Warmwasser-Schichtenspeicher_hat_Waermebedarf_aber_der_Puffer_ist_zu_kalt, 4:Nachlaufzeit_der_Ladepumpe, 5:Der_Warmwasser-Schichtenspeicher_wird_beladen_um_den_Puffer_vor_Ueberhitzung_zu_schuetzen, 6:auf_Wasserentnahme_warten, 7:Wasserentnahme, 8:Inbetriebnahme, 9:manueller_Betrieb, 10:Betrieb_Zirkulation, 11:Nachlauf_Zirkulation, 12:Zirkulation_befindet_sich_in_der_Sperrzeit, 13:Warmwassererwaermung_ist_durch_das_Leitsystem_gesperrt, 65535:Geraet_nicht_verbaut


attr Paradigma obj-i40-reading Eintrittstemperatur_Speicher_Frischwasserstation
attr Paradigma obj-i40-name TSP
attr Paradigma obj-i41-reading Austrittstemperatur_Warmwasser_Frischwasserstation
attr Paradigma obj-i41-name TWW
attr Paradigma obj-i42-reading Eintrittstemperatur_Kaltwasser_Frischwasserstation
attr Paradigma obj-i42-name TKW
attr Paradigma obj-i43-reading Volumenstrom_Kaltwasser
attr Paradigma obj-i43-name VKW
attr Paradigma obj-i44-reading Volumenstrom_Speicherseite
attr Paradigma obj-i44-name VSPm

Bei mir funktioniert das ziemlich gut.

Was fehlt noch:

  • Für die ganzen schreibbaren Register bei denen die Werte mit 10 skaliert werden müssen, würde ich gerne die Skalierung in eine "dev-type" Konfiguration packen. Das ist aber nach einem kurzen Blick in den Quellcode von 98_Modbus.pm nicht vorgesehen.
  • Für die ganzen schreibbaren Register sinnvolle -min, -max, -hints Werte zur Validierung definieren.
  • Fühler in Richtung eigenständiges Modul ausstrecken. Im Prinzip ist da schon sehr viel durch das 98_Modbus.pm da, sodass man einfach nur die Daten aus der Config in Perl Strukturen übertragen könnte. Allerdings hätte ich gerne einen Ansatz wie man eine "Autodiscovery" der vorhandenen Hardware machen kann um nur Readings zu generieren, für die es auch Daten gibt.


Ich würde mich sehr freuen, wenn jemand die Konfiguration ausprobiert und mir Feedback gibt falls was nicht passt, oder wenn jemand Verbesserungsvorschläge hat!

ToJu

Hallo.

Ich hatte mittlerweile eine eigene (kleinere) Konfiguration gebastelt. Ich habe auf einem Testrechner mal deine Konfiguration ausprobiert (um genau zu sein: Die aus dem anderen Thema). Sieht gut aus. Die Einheit der Wärmemengen bei Warmwasser stimmen bei mir nicht, da muss nicht durch 10 geteilt werden (App sagt 204kWh, fhem 20,4kWh, Solargewinn passt).

Grüße
Torben

nigl

#2
Danke für dein Feedback. Das ist bei mir in der Tat genauso - und mir natürlich nicht aufgefallen...

Die App zeit 16888 kWh an aber über Modbus komme ich auf 1688,8 kWh. Die Paradigma Doku sagt für diesen Registereintrag tatsächlich, dass er mit 10 skaliert werden muss. Ist also wahrscheinlich ein Fehler in der Paradigma Doku. Ich hab denen gleich eine Email geschickt  ;)

Ich habe die Config-Snippets im ersten Beitrag entsprechend angepasst.

mattes1007

Guten Morgen,

habe seit 2 Wochen auch diese Steuerung von Paradigma.
Leider ist es mir immer noch nicht gelungen sie per MODBUS anzubinden.

Die Systacomfort2 ist mit einem Peleo Pelletkessel per MODBUS verbunden. Steckt im linken Port der Systa.
Der rechte LAN Port geht in mein Heimnetz.

So wie ich das sehe, ist der PELEO der MODBUS MASTER und die SYSTA hängt als Client dran.

Habe das ganze mit dem Programm QModMaster, wie in der MODBUS Anleitung von Paradigma beschrieben, mal getestet.
Mit der Systa kann ich mich gar nicht verbinden, mit dem Peleo klappt die Verbindung
Doch sobald ich einen Wert abfragen will, kommt sofort Timeout und dann error.

Da steht aber auch, das sich nur ein Client verbinden kann. Seitens Paradigma gibt es leider keinen Support "ModBus ist das firmeninterne Protokoll zur Datenübermittlung. Ein Zugriff darauf ist nicht vorgesehen" war die Antwort.

Wie hast du das hinbekommen ?

Gruß mattes


smoudo

vielen Dank @nigl für den code.
Hast du das ganze auch visualisiert bzw. in abhängigkeit mit zb. Heizkörperthermostaten gebracht?

Ich habe momentan ausgelesen: Systa Comfort II, Systa Expresso II, die readings kommen rein! sieht gut aus. ICh gehe mal davon aus solange nur gepollt wird und nichts gesetzt, das der Regler noch normal seinen Dienst verrichtet!?
Was ich noch testen muss ist ob meine systa Solar I auch funktioniert.
Als Wärmeerzeuger ist ein PMA 15 dran, da kommt nichts rüber außer die Starts und Status vom OT Bus ob der Kessel läuft oder nicht. Keine Temperaturen oder Druck.

Viele Grüße

Matze

HeikoSommer

Hallo!
Das sich Daten der SystaComfort II in fhem auslesen lassen, stimmt micht zuversichtlich. Leider lässt sich bei mir keine Verbindung zum Port 502 aufbauen. Ich habe das auch über QModMaster probiert. Von Dort kann ich zumindest eine Verbindung zum Kessel (Pelleti touch) aufbauen.
Der Zugriff über die App S-Touch funktioniert auch.
Weiß jemand, ob der Zugriff auf den Port 502 zunächst auf der Steuerung freigegeben werden muss?

Mattes hatte ja ein ähnliches oder das gleiche Problem. Hast Du es inzwischen hinbekommen?

Gruß
Heiko

smoudo

Im systa S-Touch Regler muss als Hauptbeduenteil aktiviert sein, unter Menu  Einstellungen > Gebäudeleitsystem lesen/schreiben Aktivieren. Dann sollte was ankommen.

Grüße

Matze

HeikoSommer

Hallo Matze!
Vielen Dank für Deine schnelle Antwort. Die Einstellung sollte es auch bei der SystaComfort II (+) geben und nicht nur bei SystaComfort C? Ich finde die nämlich bei mir auf der Steuerung nicht. Entweder ist es dann eine alte Version auf dem System oder die Einstellung ist versteckt und muss vom Heizungsbauer vorgenommen werden. Ich bin erst am Freitag wieder zu Hause, dann werde ich das noch einmal überprüfen.

Kleine Nebeninfo:
Bei meiner Steuerung steht übrigens noch dieses Plus hinter SystaComfort II. Vielleicht, weil der Aufbau ein wenig geändert wurde. Z.B. gibt es jetzt nur noch eine RJ45 Buchse. Somit muss nun sowohl Kessel, als auch Steuerung eine eigenen Netzwerk Anschluss. Weder das Handbuch hat das so beschrieben, noch mein Heizungsbauer, und auch der technische Service von Paradigma konnten mir da nicht richtig weiterhelfen. Da ich nur ein Netzwerkkabel vorgesehen hatte habe ich aktuell über einen Powerlineadapter mit 2 LAN-Anschlüssen gelöst. Ob auch ein Hub funktionieren könnte (evtl. Geschwindigkeit) habe ich mangels Hub noch nicht getestet.
Ich weiß, das passt nicht direkt zu dem Thema, aber vielleicht steht jemand anderes vor dem gleichen Problem und findet dann diesen Threat.   

Gruß
Heiko

smoudo

Welche Software hast du auf der comfort2? Hab das mit V2.16 am laufen mit Hardware 2.10.
Bei Hardware Revision 1 war nur 1 lan Buchse verbaut. Das ist aber schon locker 4 Jahre her.
Die Hardware rev. Steht  auf der Leiterplatte oder über System>Kontrolle auslesbar.

Viele Grüße

Matze

HeikoSommer

So, bin gerade zu Hause angekommen und habe gleich nach der Version geschaut:
Software V1.30 25.11.21
Hardware V1.40
Basis-System V1.20
Aussage von meinem Heizungsbauer: Da ist die neuste Version drauf.
Bekomme ich bei der Paradigma Service"hotline" eine aktuelle Info über die offizielle Version?
Ich probiere es mal.
Ich denke vorher muss ich nicht mehr weiterprobieren, Daten zu bekommen. Zumal es den Menüpunkt "Gebäudeleitsystem" bei mir nicht gibt.

Gruß
Heiko

smoudo

Meines Wissens gibt es diese Version nur mit Hardware Rev. >2.0

mattes1007

Zitat von: HeikoSommer am 31 März 2022, 19:08:14

Ich denke vorher muss ich nicht mehr weiterprobieren, Daten zu bekommen. Zumal es den Menüpunkt "Gebäudeleitsystem" bei mir nicht gibt.


Diesen Menüpunkt gibt es wohl nur im Touch Bedienteil an der SystaComfort 2. Ich habe das Tastenbedienteil als Servicebedienteil gebrückt und da erscheint dieser Punkt leider nicht.

Aber da die SystaComfort 2 und mein Peleo Kessel über ModBus verbunden sind, ist das wohl aktiv.
Leider bin ich mit der ganzen Geschichte auch nicht weiter gekommen. Seitens Paradigma gibt es leider keine weitern Infos.


smoudo

Das stimmt, die Funktion ist leider nur mit S-Touch bedienteil verfügbar.
In der App leider nicht.

mattes1007

Zitat von: smoudo am 14 April 2022, 17:52:21
Das stimmt, die Funktion ist leider nur mit S-Touch bedienteil verfügbar.
In der App leider nicht.

Ich finde, für das, was der ganze Spaß gekostet hat, wäre es schön, wenn man ohne großes Gefummel auf die Messwerte der Anlage zugreifen könnte. Aber man muss ja mit dem Webportal auch noch Geld verdienen. Und mein Heizungsbauer wusste gar nix von irgendwelchen Gutscheinen für ein Webportal....

aber man könnte ja auf SD Karte loggen ;-) Hab ich dann mal versucht und nach 10 Versuchen eine Karte gefunden, worauf auch was aufgezeichnet wurde. Aber dann ?? Mit was auslesen ? Ach ja, die Software hat leider nur der Heizungsbauer

Hätte ich das alles vorher gewusst, dann hätte ich den Oekofen genommen. Da geht das ganze wohl problemloser.

smoudo

Das Problem wird eher sein das dein heizungsbauer kein Bock hat sich damit zu beschäftigen und viele Sachen deshalb auch nicht besser weiß. Ich komme aus der Branche und da ist das leider normal.
Die von dir erwähnten Gutscheine sind für systaweb und kosten jährlich/5jährlich Geld. Damit Daten in fhem zu bekommen wird schwierig. Geh lieber den Weg über modbus und tausche das bedienteil gegen ein s-Touch. Wie gesagt ist modbus erst ab Hardwarestand 2.00 möglich. Für hardwarestand <2 gibt es separate Software. Meines Wissens ohne modbus gilt Anbindung, nur für modbus zum Peleo/Optima. Zu erkennen ist das an den 2 lan Buchsen und auf der platine