modbus - Wie eine Adresse abfragen?

Begonnen von netpirat, 23 Mai 2021, 20:35:06

Vorheriges Thema - Nächstes Thema

netpirat

Hallo,

ich bin neu beim Thema Modbus. Den Modbusattr habe ich mit defnie installiet und er ist aktiv. Wie bekommt man nund ie Werte ausgelen, bzw. geschrieben.

Ich habe einen Modbus über TCP.

Read Input Register (0X04) Start Adress 1

Data Format Dec
Number of Register 1 Data Format Dec.

Unit ID 1. Scan Rate 1000ms

Hab das in der Englichen Doku nicht so recht gefunden. Vielleicht kann mir jemand einen Tipp geben.

Gruß


yoda_gh

Du musst uns schon verraten, was für ein Gerät Du per Modbus auslesen willst, welches Register und wo es die Dokumentation dazu gibt - pauschal kann man diese Frage nicht beantworten...

Sind die englischen Sätze Auszüge aus einer Doku?

netpirat

Hallo yoda_gh

kein Problem. Ich möchte die Paradigma Heizung Systa Smart C auslesen und steuern.

https://www.paradigma.de/wp-content/uploads/2020/10/TH-2833_V1.0_1018_Heizungsregler_SystaSmartC_Modbus-Schnittstelle-Smarthome.pdf

Mit qmodMaster über Windows kann ich die Werte schon auslesen.

Nun muss ich das nur noch in FHEM implementieren.

Danke schon mal für die Hilfe.

Gruß

yoda_gh

Also wenn Du wirklich das "input register" mit der Adresse 1 und 1 Byte Länge lesen willst, sollte es das hier eigentlich tun:


attr deinDevice obj-i1-reading readingName
attr deinDevice obj-i1-unpack n
attr deinDevice obj-i1-poll 1


Und dann mal ein "set deinDevice reread" probieren.

Ich vermute zumindest mal, dass "dec" eine Ganzzahl sein soll, falls auch negative Werte erlaubt sind, wäre es vermutlich "attr deinDevice obj-i1-unpack s>".

Sehr hilfreich ist auch "set deinDevice scanModbusObjects i1-5".

Und schreiben kann man ein "input register" nicht, wie der Name sagt, ist das nur zum Lesen. Schreiben  kann man nur "coil"s und "holding register".


yoda_gh

Sag doch einfach mal ein Beispiel-Register, das Du mit qmodMaster erfolgreich lesen kannst und was Du in qmodMaster einstellst, dann versuche ich das mal in die FHEM-Syntax zu übersetzen.

Ich kenne allerdings Modbus TCP nur von unserer Solaranlage und die hat nur Holding Register, daher kann ich für andere Register-Typen auch nur Vermutungen anstellen.

netpirat

#5
Hallo yoda-gh,

ok. Erstmal für mich zum Verständniss, muss ich für jeden Wert den ich auslese einen Modbus define machen.

Als beispiel;

ich will wissen wie die Aussentemperatur ist.

In der Tabelle B2 Messwerte
Register 30001 Lesender Zugriff 0X04@0 Anzahl Register 1
(Ich lese mit qmodMaster im Modus TCP Unit ID1 Function Code Read Input Register (0X04) Start Adresse 0  DEC ausgewählt. Namber of Register 1 Data Format DEC)

Wie kann ich das in FHEM auslesen?

Und wenn ich nun einen Zweiten Wert lesen will, Sagen wir in der Tabelle B2 das Register 30004 die Warmwassertemperatur muss ich dann einen neuen Modbus define machen? Oder kann ich die alle unter dem modbus mit attr anlegen. Ich hoffe es wird klar was  ich Frage.

Ich hoffe es wird klar was ich machen möchte. Mir ist der Weg nur noch nicht ganz klar. Aber danke schon mal, dass Du mir (einem blutigen Anfänger) so nett hilfst.

netpirat

Bilder sagen ja bekanntlich mehr als Worte - Mit qmodmaster habe ich nur diesmal alle readings ausgewertet. Stelle ich Register aber auf 1 bekomme ich natürlich nur einen Wert.

yoda_gh

Vielen Dank für die Screenshots, die sind tatsächlich sehr hilfreich. Was dort schon mal auffällt, ist, dass Du in dem Windows-Programm Unit-ID "1" eingestellt hast, in FHEM dagegen "3" (die erste Zahl im Define), so kann es nicht funktionieren. :)

Zitat von: netpirat am 23 Mai 2021, 21:20:16
Hallo yoda-gh,

ok. Erstmal für mich zum Verständniss, muss ich für jeden Wert den ich auslese einen Modbus define machen.

Du brauchst ein Define pro Modbus-TCP-Geräte-ID. Für jedes Register brauchst Du mindestens ein "obj-iXXXX-reading-*"-Attribut.

Zitat von: netpirat am 23 Mai 2021, 21:20:16
Als beispiel;

ich will wissen wie die Aussentemperatur ist.

In der Tabelle B2 Messwerte
Register 30001 Lesender Zugriff 0X04@0 Anzahl Register 1
(Ich lese mit qmodMaster im Modus TCP Unit ID1 Function Code Read Input Register (0X04) Start Adresse 0  DEC ausgewählt. Namber of Register 1 Data Format DEC)

Wie kann ich das in FHEM auslesen?

Wenn Du die ID in der Definition korrigiert hast, probier mal diese Attribute:


attr SystaSmartC obj-i30001-reading Aussentemperatur
attr SystaSmartC obj-i30001-unpack s>
attr SystaSmartC obj-i30001-poll 1


Vielleicht ist es auch "30000" statt "30001", gerne wird hier mal von 0, mal von 1 beginnend gezählt, einfach mal probieren. :)

Und statt "s>" könnte es auch "s<" sein, wenn die gelesenen Werte Unsinn sind - das genaue Datenformat wird mir vom Überfliegen der Paradigma-Dokumentation nicht klar, müsste man ggf. intensiver lesen oder mit qmodMaster vergleichen. Generell ist es immer hlifreich, erstmal ein paar Werte auszulesen, wo man das Ergebnis schon sicher kennt.

Zitat von: netpirat am 23 Mai 2021, 21:20:16
Und wenn ich nun einen Zweiten Wert lesen will, Sagen wir in der Tabelle B2 das Register 30004 die Warmwassertemperatur muss ich dann einen neuen Modbus define machen? Oder kann ich die alle unter dem modbus mit attr anlegen. Ich hoffe es wird klar was  ich Frage.

Ich hoffe es wird klar was ich machen möchte. Mir ist der Weg nur noch nicht ganz klar. Aber danke schon mal, dass Du mir (einem blutigen Anfänger) so nett hilfst.

Du brauchst dann wieder entsprechende "attr"-Kommandos wie oben, pro "-reading"-Attribut in Deinem Device wird dann (hoffentlich) ein Reading in Deinem Device angelegt, wenn Du das nächste mal "set SystaSmartC reread" machst.

yoda_gh

Noch zu den Screenshots:

  • Wie gesagt, die Modbus-ID scheint falsch zu sein, muss wohl "1" sein, nicht "3".
  • Der Wert für das "-poll"-Attribut muss immer "1" sein, nicht "3".

Statt für jedes Register eigens "*-poll 1" zu setzen, kannst Du auch global das automatische Auslesen für alle Register vom Typ "i" aktivieren:

attr SystaSmartC dev-i-defPoll 1

netpirat

Halklo yoda_gh,

dass bringt mich schon eine Ecke weiter. So langsam verstehe ich immer mehr. ICh habe nun auch den Scan durchführen können. Nur ein Reading habe ich noch nicht. Befürchte ich muss über obj.hXXXXX.reading das Objet anlegen? Und es scheint als müsste ich ein Scan Format ($hash, $val) anlegen? Werde mal probieren aber wenn Du siehst was fehlt bin ich auch über einen Tipp sehr dankbar.

netpirat

Gelöst. Deine erste Idee war schon richtig. Morgen probiere ich weitere Werte und Formatierungen aus. Ich komme dem Ziel näher.

yoda_gh

Echt, beginnt die Nummerierung miit "obj-i0", "obj-i1", usw.? Das heißt, Du siehst jetzt sinnvolle Werte für Aussentemperatur, Vorlauftemperatur, usw.?

Faszinierend, wieso schreiben sie dann in der Anleitung Register 30001, 30002, ...? Dann ist wohl die Spalte "Lesender Zugriff" die richtige und "0x04@0" heißt wohl "lesen von input register (0x04) mit der Adresse 0". Verrückte Doku. Na egal, Hauptsache es funktioniert. Wenn ich das richtig in der Doku verstanden habe, werden die Temperatur-Werte mit 10 multipliziert als Ganzzahlen angegeben, zurückrechnen kannst Du z.B. so:

attr SystaSmartC obj-i0-expr $val / 10

Die "dev-h-*"- und "obj-h*"-Atttribe kannst Du ziemlich sicher wieder löschen.

Und Änderungen immer schön eine nach der anderen durchführen, und zwischendurch die aktuelle Definition sichern. ;-)

Ach ja, rechne auch mal mit einem Absturz deiner FHEM-Instanz, wenn er Werte nicht dekodieren kann, also auch immer mal wieder "Save config" anklicken, damit die Definitionen in der fhem.cfg dauerhaft hinterlegt werden.

Überflüssige Readings (z.B. die vom Scan erzeugten) kann man übrigens mit "deletereading SystaSmartC readingName" löschen, dabei werden auch Regex akzeptiert.

yoda_gh

Ach ja, und wenn Du mal eine funktionierende Definition mit korrekten Werten hast, freuen sich andere sicher darüber, wenn Du die fertige ModbusAttr-Konfiguration mit "Raw definition" (Link ganz unten in der Device-Ansicht) kopierst und in das Board "Heizungssteuerung" (https://forum.fhem.de/index.php/board,60.0.html) postest. Sieh es als Ausgleich für meine Zeit. :-)

netpirat

Hallo,

da ich noch nichts zu Paradigma gefunden habe würde ich im Anschluss (habe noch etwas Gartenarbeit in dne nächsten Taqen) ene Doku erstellen. Das hilft sicher auhc anderen.

Ich habe deinen Code noch um die EInheit erweitert.

attr SystaSmartC obj-i0-expr $val / 10."°C"

Jetzt habe ich das auch noch mit Einheit, also 16,9   °C. Voll Cool, so wollte ich das.

Nun noch eine Frage.

Kann man dem System auch sagen, wenn eine 0 zurückkommt dann sage - Eingeschaltet und bei einer 1 sage Ausgeschaltet als Rückgabewert des Readings`?

Gruß

laserrichi

Zitat von: netpirat am 24 Mai 2021, 10:00:45
Kann man dem System auch sagen, wenn eine 0 zurückkommt dann sage - Eingeschaltet und bei einer 1 sage Ausgeschaltet als Rückgabewert des Readings`?

das geht z.b. mit map:
attr SystaSmartC obj-deinobjekt-map 1:Ausgeschaltet, 0:Eingeschaltet
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

netpirat

Hallo laserrichi,

funktioniert bestens, nehme ich mit in die Doku auf. Danke

yoda_gh

Hallo netpirat!

Zitat von: netpirat am 24 Mai 2021, 10:00:45
da ich noch nichts zu Paradigma gefunden habe würde ich im Anschluss (habe noch etwas Gartenarbeit in dne nächsten Taqen) ene Doku erstellen. Das hilft sicher auhc anderen.

Super, danke!

Zitat von: netpirat am 24 Mai 2021, 10:00:45
Ich habe deinen Code noch um die EInheit erweitert.

attr SystaSmartC obj-i0-expr $val / 10."°C"

So weit ich weiß, ist das bei FHEM eher unüblich. Dadurch hast Du im Reading keinen reinen Zahlenwert mehr, was die Weiterverarbeitung schwierig macht, z.B. in einem NOtify, einem Diagramm etc. - da müsstest Du dann überall die Einheit wieder abschneiden.

netpirat

Hallo,

eine Frage habe ich noch. Ich hebe keine ANtwort im Netz gefunden.

Ich kann mit qmodbuster zwei Werte in einer Tabelle auslesen.  Als Beispiel 27 / 28. In 27 steht 0 in 28 630. Es geht hier um die Betriebsstunden. 630 ist korrekt. Laut Paradigma Register sind 2 Register angegeben, also 27 +28. So weit so gut.

Wenn ich diese unter FHEM anlege mache ich das mit 27 und length 2. Trotzdem bekomme ich 0 als Antwort. Zieht modbusattr die Werte nicht automatisch zusammen?

Gruß


yoda_gh

Zitat von: netpirat am 24 Mai 2021, 23:09:29
Ich kann mit qmodbuster zwei Werte in einer Tabelle auslesen.  Als Beispiel 27 / 28. In 27 steht 0 in 28 630. Es geht hier um die Betriebsstunden. 630 ist korrekt. Laut Paradigma Register sind 2 Register angegeben, also 27 +28. So weit so gut.

Wenn ich diese unter FHEM anlege mache ich das mit 27 und length 2. Trotzdem bekomme ich 0 als Antwort. Zieht modbusattr die Werte nicht automatisch zusammen?

Gruß

Doch, genau so sollte das eigentlich funktionieren. Hast Du 'unpack' definiert? Ich denke, das sollte 'N' sein (großes N). Vielleicht schickst Du noch mal einen Screenshots von qmodbuster und den.Auszug der gesetzten Attribute in.FHEM, vielleicht fällt mir noch was auf.

Nebenbei: 'dev-i-combine' solltest Du vermutlich noch auf die Anzahl maximal auf einmal gelesener Register setzen, sonst macht FHEM für jedes Register eine eigene Abfrage. Glaube das war 125 oder 105 in Deiner Doku.

netpirat

Hallo yoda-gh,

und wieder richtig. Mir fehlte das unpack N. Nun funktioniert es gut. Alle Werte werden plausibel in das FHEM System übernommen. Nun werde ich schauen wie ich das schreiben von Fhem auf den Modbus Server erreichen kann. Ich denke mit dem Befehl set. Werde das gleich ausprobieren und danach eine kleine Doku für die Gemeinde schreiben. Es ist wirklich sehr einfach und innerhalb von ca. 1-2 Stunden einzurichten wenn man die Befehle kennt. Schwierigkeitsgrad simpel. Man muss nur wirklich die Befehle entsprechend einfügen. Ich bin echt Begeistert wie schnell ich das doch verstehen konnte. (Dank deiner Hilfe!!)

Viele Grüße

netpirat

Hallo Yoda,

wie ganau mach ich das?

Nebenbei: 'dev-i-combine' solltest Du vermutlich noch auf die Anzahl maximal auf einmal gelesener Register setzen, sonst macht FHEM für jedes Register eine eigene Abfrage. Glaube das war 125 oder 105 in Deiner Doku.

dev-i-combine hat bei mir nicht geklappt.

Gruß

yoda_gh

Zitat von: netpirat am 30 Mai 2021, 12:07:18
Hallo Yoda,

wie ganau mach ich das?

Nebenbei: 'dev-i-combine' solltest Du vermutlich noch auf die Anzahl maximal auf einmal gelesener Register setzen, sonst macht FHEM für jedes Register eine eigene Abfrage. Glaube das war 125 oder 105 in Deiner Doku.

dev-i-combine hat bei mir nicht geklappt.

Einfach als Attribut sollte eigentlich tun:

attr SystaSmartC dev-i-combine 125

Ich habe auch gerade nachgeschaut, ich hatte das in der von Dir verlinkten Doku im Abschnitt "Implementierte Kommandos" / "Read Input Registers" (S. 10/11) gelesen, da ist als Maximum für "Anzahl der Register" 125 angegeben.

Was heißt "nicht geklappt"? Gab es eine Fehlermeldung oder woher schließt Du, dass es nciht geklappt hat? Diese Einstellung sollte nach meinem Verständnis dafür sorgen, dass FHEM beim Modbus-Zugriff nicht ein Read für jedes einzelne Register macht, sondern mehrere auf einmal einliest, also etwas "freundlicher" zur Heizung ist. Ob die Einstellung wirklich greift, sieht man nicht ohne Weiteres. Vermutlich könnte man es im Debug-Log sehen, aber die Mühe habe ich mir bisher auch nciht gemacht. :)

netpirat

Hallo Yoda_gh,

ich hatte einen Fehler beim Befehl. Werde das testen sobald meine Fhem wieder zuverlässig speichert. Im Moment tut es das nur bis zum nächsten Server Neustart. Ich hatte schon im Forum nach Hilfe gefragt. Ich kaufe mir jetzt eine SSD Festplatte, vielleicht ist die besser als die SD Karten...  Eine ist schon kaputt gegangen.. Die zweite scheint auch nicht mehr zverlässig zu schreiben. Wobei es ja immer bis zum Neustart des Serves geht....

ToJu

Hallo.

Gibt es hier jetzt irgendwo eine schon weiterfortgeschrittene Vorlage / Definition für die Werte? Ich habe auch im oben verlinkten Forum für die "Doku" nichts gefunden.

Grüße
Torben

nigl

#24
Hallo Zusammen,

ich bin ja meistens nur ein stiller Mitleser hier im Forum - hier möchte ich aber zuallererst zu allen Mitwirkenden "Danke" sagen! Es ist einfach immer wieder toll zu sehen, dass es für fast alles was man sich vorstellen kann hier etwas zu finden gibt!

Nachdem meine Paradigma Heizung letzte Woche ein SW Update bekommen hat, kann ich auf diese via Modbus TCP zugreifen  8)

Ein Hinweis, weil vorhin noch offen war, ob das mit dev-i-combine wirklich klappt. Ich habe mir die Kommunikation mit Wireshark angeschaut - da gehen genau 1 request Paket und 1 response Paket über den Draht - schaut also gut aus.

Ich bin zwar noch nicht durch, habe aber die letzten Tage immer mal wieder an meiner ModbusAttr Konfiguration gebastelt und möchte gerne einen Zwischenstand teilen.

Was fehlt meiner Meinung nach noch:


  • Das Coils Register
  • Ich möchte die Konfig noch in Snippets pro Paradigma Komponente auftrennen, damit man keine Fehlermeldungen / keine schrägen Zahlen bei Readings erhält, für die gar keine Hardware verbaut ist.
  • Ich hab noch ein Problem mit der -setexpr. Die kann ich noch nicht für device-types definieren, da bekomme ich noch einen Fehler
  • Vielleicht trau ich mich sogar mal an ein eigenes Modul ran - da gibt es ja im Wiki für Modbus sehr vielversprechende Hilfestellung

Wenn ich soweit zufrieden bin, werd ich das auch noch im "Heizungssteuerung/Raumklima" posten. Ich wollte nur schon mal einen Zwischenstand zur Verfügung stellen...

Falls jemand Tipps für mich hat - immer her damit!


Und hier die Konfig. Ich habe das so getestet. Erst das device anlegen,


define Paradigma ModbusAttr 1 60 192.168.100.100:502 TCP


dann mit "Raw Definition" die ganzen attr's via Copy&Paste eingetragen...


#
# 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 we ModbusAttr Module does not allow to define a setexpr for a dev-type.
#       So I commented out set feature for scaled devices.
#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: 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

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

attr Paradigma obj-h2-reading Sollwert_Vorlauftemperatur_HK1
attr Paradigma obj-h2-type Para_RW_Temp

attr Paradigma obj-h3-reading Sollwert_Vorlauftemperatur_HK2
attr Paradigma obj-h3-type Para_RW_Temp

attr Paradigma obj-h4-reading Sollwert_Vorlauftemperatur_HK3
attr Paradigma obj-h4-type Para_RW_Temp

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-h7-reading Sollwert_Leistung_HK3
attr Paradigma obj-h7-type Para_RW_uint16

attr Paradigma obj-h8-reading Sollwert_Trinkwassertemperatur
attr Paradigma obj-h8-type Para_RW_Temp

attr Paradigma obj-h9-reading Max_Vorlauftemperatur_HK1
attr Paradigma obj-h9-type Para_RW_Temp

attr Paradigma obj-h10-reading Max_Vorlauftemperatur_HK2
attr Paradigma obj-h10-type Para_RW_Temp

attr Paradigma obj-h11-reading Max_Vorlauftemperatur_HK3
attr Paradigma obj-h11-type Para_RW_Temp

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

attr Paradigma obj-h13-reading Stoercode_Solarregler
attr Paradigma obj-h13-type Para_RO_uint16

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

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

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

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-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-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-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-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-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, 6:Speicher_voll, 7:manueller_Betrieb, 8:Messung_Durchfuehren, 9:Notbetrieb, 65535:Geraet_nicht_verbaut

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-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-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

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-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-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-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

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-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-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-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



#
# All Input Register Values are of the same type?
#
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
attr Paradigma obj-i11-reading Kollektortemperatur
attr Paradigma obj-i11-name TSA
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-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
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
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
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
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
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
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

nigl

Dann antworte ich mir mal selbst  ;)

Ich habe vorhin hier https://forum.fhem.de/index.php/topic,123556.0.html meine aktuelle ModbusAttr Konfiguration für Paradigma Geräte gepostet. Vielleicht hilft sie ja dem einen oder anderen Besitzer einer Paradigma Heizung.