zusätzliche Objekte im ISGweb für modbus/TCP freischalten
Einleitung
Wer in der offiziellen Dokumentation von Stiebel Eltron für die modbus/TCP Erweiterung des ISGweb bestimmte Parameter/Objekte vermisst, die z.B. im Webinterface des ISG angezeigt werden, kann sein ISGweb tunen und die Liste erweitern, denn nicht alle Parameter, die im Webinterface angezeigt werden oder verfügbar sind, können über modbus/TCP abgefragt bzw. geändert werden. Ich habe z.B. den aktuellen Zustand vermisst, ob die Wärmepumpe gerade arbeitet, ob sie im Heiz- oder WW-betrieb ist, ob die Pumpen laufen, ... Persönlich fand dies schon beim Webinterface des ISGweb störend, dass diese Werte, im Gegensatz zum Display der WP selbst, nicht über Symbole im Hauptfenster angezeigt werden. Immerhin konnte man sich die Werte anzeigen lassen. Die Statistiken im ISGweb finde ich persönlich ebenfalls sehr dürftig, da sie nur eine Woche umfassen und damit kaum Aussagewert haben. Lt. der offiziellen Dokumentation für die Modbus/TCP Erweiterung soll dies über das Input Register mit IO Adresse 2501 (bei Loxone 2500) ermittelbar sein, aber dieser Parameter (WebID=471, "Betriebsstatus") scheint mit WPM 3i nicht unterstützt zu sein. Das Webinterface verwendet zumindest bei der WPM 3i andere Parameter mit der webID 79, 433 und 485. Leider gibt es für diese IDs kein Mapping zu Modbus Registern.
Voraussetzungen
Um zusätzliche Parameter freizuschalten sind mehrere Dateien auf der SD-Karte zu bearbeiten und es empfiehlt sich, den root-Zugang per SSH freizuschalten. Die Anleitung gibt es hier. Intern werden alle Parameter auf dem ISGweb über eine sogenannte " webID " verwaltet. Diese IDs mit einer Beschreibung der jeweiligen Parameter und möglichen Werte kann man in Template-Dateien und SQLite Datenbanken auf der SD-Karte finden.
Im Verzeichnis /firmware gibt es zwei Unterverzeichnisse, die mit ../rel_a bzw. ../rel_b bezeichnet sind. Das ISG installiert ein Update jeweils in das nicht aktuell verwendete Verzeichnis, so dass man prüfen muss, welches Verzeichnis die aktuelle Version enthält (siehe ‘cat’ Befehl weiter unten). Nachfolgend ist das Verzeichnis generisch mit ../rel_X bezeichnet.
Alternativ können Dateien auf der SD-Karte auch direkt bearbeitet werden, indem die SD-Karte z.B. über einen Linux Rechner / Raspberry gemountet und dann bearbeitet wird. Die nachfolgende Vorlage geht davon aus, dass die SD-Karte über ein USB-Adapter angeschlossen wurde (/dev/sda1 ist das erste externe via USB angeschlossene Dateisystem):
# SD-Karte via USB-Adapter mounten
sudo mkdir /media/ISGweb
sudo mount -v -t ext3 /dev/sda1 /media/ISGweb/
# Verzeichnis für neuere Firmware ermitteln (A oder B)
cat /firmware/rel_a/etc/config/version
cat /firmware/rel_b/etc/config/version
# abhänging von der ermittelten Version
cd /firmware/rel_b/etc/config/
# vorhandene Datei als "Original" sichern - falls schon vorhanden einen anderen Namen wählen!
cp WPM-isg-modbus.csv WPM-isg-modbus-original.csv
# für WPM: zusätzlichen Objekte hinzufügen, indem die Tabelle um weitere webIDs ergänzt wird - siehe ganz unten in dieser Anleitung
# Kurzanleitung für Editor VI: 1. Zum Ende der Datei navigieren, 2. A für "Anhängen/Append" drücken, 3. Liste via Copy & Paste ergänzen, 4. ESC, 5. :wq zum speichern & beenden drücken
vi WPM-isg-modbus.csv
# vor dem Entfernen des USB-Adapters unbedingt das Laufwerk sauber entfernen
sudo umount /media/ISGweb
ACHTUNG: Die original SD-Karte von Stiebel-Eltron sollte auf keinen Fall direkt modifiziert werden!!! Aus Sicherheitsgründen sollte immer mit einer Kopie gearbeitet werden. Eine SD-Karte kann z.B. unter OS-X mit dem Tool Apple PI Baker oder unter Windows mit dem Tool Win32DiskImager geklont werden.
Die beiden nächsten Abschnitte enthalten zusätzliche Infos, die nicht unbedingt erforderlich sind. Wer nur die Objekte ergänzen möchte, kann direkt zum letzten Abschnitt gehen. Die Tabelle der undokumentierten webIDs mit den für Loxone erforderlichen Modbus IO Adressen (Spalte: Modbus Adresse "0"-based und Art) erläutert die neu hinzugefügten Befehle.
Infos zu den Dateien, Datenbanken und Tools im ISGweb
Alle nachfolgend aufgeführten URLs und Verzeichnisse beziehen sich auf ein laufendes ISGweb mit SSH Zugang. Wer die Dateien direkt auf der SD-Karte ändern möchte muss die Pfade ggf. anpassen.
Eine Liste der vom ISGweb aktiv verwendeten Datenbanken findet man in der Datei /var/volatile/cache/loaded_databases
/var/volatile/cache/loaded_databases
etc/config/objects/isg_core_objects.db
etc/config/objects/WPM_3_I_isg_objects.db
etc/config/objects/EXT_EMBase_isg_objects.db
etc/config/objects/EXT_SGReady_isg_objects.db
Zu den o.a. Pfaden muss man noch den Prefix /firmware/rel_X/
ergänzen. Diese Datenbanken kann man z.B. auf dem Mac mit dem kostenlosen Tool "DB Browser for SQLite" ansehen und verändern. Neben der webID sind die minimalen und maximalen Werte für jeden Parameter und weitere nicht näher beschriebene Attribute angegeben.
Beschreibungen und Namen zu den webIDs findet man in weiteren Dateien im Verzeichnis /firmware/rel_X/etc/config/menus. Für die verwendete Wärmepumpe, hier eine WPM 3i heisst das entsprechende Template, z.B. WPM_3_I_config.json.template . Der Inhalt beschreibt die webIDs mit Struktur (auf welcher Webseite welche IDs ausgegeben werden), Name und Options (mit Namen für Werte aus einer Liste - sofern vorhanden). Hier ein Auszug:
root@servicewelt:/firmware/rel_b/etc/config/menus$ cat WPM_3_I_config.json.template
{"name": "",
"children": [{"name": "Regler"}, {"name": "ISG"},
{"name": "WP",
"children": [{"name": "WPM_3_I",
"children": [{"name": "START", "dependency": "0",
"accessRight": "1", "pageType": "3",
"children": [{"name": "BETRIEBSART", "webID": "1",
"dependency": "0", "accessRight": "1",
"options": [["1", "BEREITSCHAFTSBETRIEB",
"0"],
["2", "PROGRAMMBETRIEB", "0"],
["3", "KOMFORTBETRIEB", "0"],
["4", "ECO-BETRIEB", "0"],
["5", "WARMWASSERBETRIEB",
"0"],
["0", "NOTBETRIEB", "0"]]},
{"name": "INNENRAUM", "webID": "558",
"dependency": "0", "accessRight": "1"},
...
Hilfreich sind auch einige Tools im /firmware/rel_X/bin Verzeichnis, wie z.B. das Tools isg_tester mit dem man z.B. alle verwendeten Parameter (webIDs) mit der Option -p auslesen kann. Die u.a. Ausgabe ist daher etwas länger.
Tools in /bin und Beispielausgabe mit isg_tester
Undokumentierte WebIDs mit Mapping zu Modbus/TCP Registern
Das Mapping der webID's zu den Modbus/TCP Registern findet man für eine Wärmepumpe mit WPM 3/3i in der Datei WPM-isg-modbus.csv im Verzeichnis /firmware/rel_X/etc/config . Für Lüftungsanlagen und die neuere WPM System gibt es eigene Dateien, die das Mapping enthalten. KNX Mappings sind ebenfalls in dem Verzeichnis vorhanden, allerdings scheinen die Dateien ohne eine KNX Erweiterung nicht viel zu enthalten.
Für Wärmepumpen mit WPM 3/3i habe ich die nachfolgende Tabelle erstellt, in der die webIDs enthalten sind, die NICHT über die offizielle modbus/TCP Erweiterung des ISGweb abgefragt oder geändert werden können.
Alle Parameter, die mir interessant erschienen, habe ich als weitere Mappings ab Adresse 8000 ergänzt (grüne Spalten). Dabei habe ich die in der Mapping-Datei verwendete Zählweise verwendet, bei der die Read Input-Register im Bereich 30.000-39.999 und die Read/Write Holding Register im Bereich von 40.000-49.999 liegen, siehe http://www.csimn.com/CSI_pages/Modbus101.html. Um das Eintragen der Parameter in Loxone Config zu erleichtern, habe ich eine Spalte mit den Adressen ab "0" ergänzt, so dass man nicht bei jedem Parametern "1" abziehen muss. Aus Platzgründen habe ich die modbus Register in der "1"-based Zählweise, die Stiebel Eltron in der offiziellen Dokumentation verwendet, nicht dargestellt.
WebID | Werte-typ | Werte-typ Text | Wertetyp Multiplikator lesend | Minimaler Wert | Maximaler Wert | RX | Ein-heit | Beschreibung | WPM 3i | weitere Modbus Read Input Register | weitere Modbus Read / Write Holding Register | Modbus Adresse "0"-based und Art | Werte in [] - entweder als Zahl oder Bits 'Bx' (werden ab 0 gezählt) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
38 | 2 | 16 Bit signed | 0,1 | 20 | 75 | RW | °C | MAXIMALE VORLAUFTEMP | x | 48001 | R/W Holding 8000 | ||
45 | 2 | 16 Bit signed | 0,1 | -10 | 10 | RW | °C | FROSTSCHUTZ ANLAGE | x | 48002 | R/W Holding 8001 | ||
49 | 6 | 16 Bit unsigned | - | 0 | 999 | RO | Wh | VD HEIZEN TAG | x | 38001 | Read Input 8000 | in Verbindung mit WebID=50 bzw. modbus Input Register 3351 (VD HEIZEN TAG, kWh) für Nachkommastellen bei kWh | |
53 | 6 | 16 Bit unsigned | - | 0 | 999 | RO | Wh | VD WARMWASSER TAG | x | 38002 | Read Input 8001 | in Verbindung mit WebID=54 bzw. modbus Input Register 3354 (VD WARMWASSER TAG, kWh) für Nachkommastellen bei kWh | |
57 | 1 | -32768 | 32767 | RO | kWh | - | x | 38003 | Read Input 8002 | ||||
62 | 11 | -2147483648 | 2147483647 | RO | MWh | NHZ WARMWASSER SUMME | x | Read Input 3509 | |||||
63 | 6 | 16 Bit unsigned | - | 0 | 999 | RO | Wh | VD HEIZEN TAG | x | 38005 | Read Input 8004 | in Verbindung mit WebID=64 bzw. modbus Input Register 3511 (VD HEIZEN TAG, kWh) für Nachkommastellen bei kWh | |
67 | 6 | 16 Bit unsigned | - | 0 | 999 | RO | Wh | VD WARMWASSER TAG | x | 38006 | Read Input 8005 | in Verbindung mit WebID=68 bzw. modbus Input Register 3514 (VD WARMWASSER TAG, kWh) für Nachkommastellen bei kWh | |
79 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | SCHALTZUSTAND | x | 38007 | Read Input 8006 | [B0="NHZ-1", B1="NHZ-2", B2="VERDICHTER", B4="WARMWASSERVENTIL", B5="HEIZKREISPUMPE", B6="PUFFERLADEPUMPE="0", B8="QUELLENPUMPE", B9="KUEHLBETRIEB"] | ||
83 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | KUEHLMODUS | x | 48003 | R/W Holding 8002 | [0="PASSIVKUEHLUNG", 1="AKTIVKUEHLUNG"] | ||
85 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | GEBLAESEKUEHLUNG | x | 48004 | R/W Holding 8003 | [0="AUS",1="EIN"] | ||
89 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | FLAECHENKUEHLUNG | x | 48005 | R/W Holding 8004 | [0="AUS",1="EIN"] | ||
93 | 8 | 0 bis 255 | - | 0 | 1 | RW | AUFHEIZPROGRAMM | x | [0="AUS",1="EIN"] | ||||
94 | 6 | 16 Bit unsigned | - | 1 | 10 | RW | K/d | STEIGUNG PRO TAG | - | ||||
95 | 2 | 16 Bit signed | 0,1 | 20 | 40 | RW | °C | SOCKELTEMPERATUR | - | ||||
96 | 6 | 16 Bit unsigned | - | 0 | 5 | RW | d | DAUER SOCKEL | - | ||||
97 | 2 | 16 Bit signed | 0,1 | 20 | 50 | RW | °C | MAXIMALTEMPERATUR | - | ||||
98 | 6 | 16 Bit unsigned | - | 0 | 5 | RW | d | DAUER MAXIMALTEMPERATUR | - | ||||
99 | 8 | 0 bis 255 | - | 1 | 31 | RW | SOMMERZEIT TAG ANFANG | x | |||||
100 | 8 | 0 bis 255 | - | 1 | 12 | RW | SOMMERZEIT MONAT ANFANG | x | |||||
101 | 8 | 0 bis 255 | - | 1 | 31 | RW | SOMMERZEIT TAG ENDE | x | |||||
102 | 8 | 0 bis 255 | - | 1 | 12 | RW | SOMMERZEIT MONAT ENDE | x | |||||
103 | 8 | 0 bis 255 | - | 0 | 1 | RW | SOMMERBETRIEB | x | 48006 | R/W Holding 8005 | [0="AUS",1="EIN"] | ||
104 | 8 | 0 bis 255 | - | 0 | 3 | RW | GEBAEUDEDAEMPFUNG | x | |||||
105 | 2 | 16 Bit signed | 0,1 | 3 | 30 | RW | °C | AUSSENTEMPERATUR SOMMERBETRIEB | x | ||||
106 | 8 | 0 bis 255 | - | 0 | 1 | RW | PUMPENZYKLEN | x | 48007 | R/W Holding 8006 | [0="AUS",1="EIN"] | ||
109 | 8 | 0 bis 255 | - | 1 | 120 | RW | min | STILLSTANDSZEIT | x | ||||
110 | 8 | 0 bis 255 | - | 1 | 30 | RW | REGLERDYNAMIK | x | |||||
111 | 8 | 0 bis 255 | - | 0 | 8 | RW | QUELLENMEDIUM | x | 48008 | R/W Holding 8007 | [0="ETHYLENGLYKOL", 1="KALIUMKARBONAT", 7="WASSER", 2="ABLUFTMODUL 0", 3="ABLUFTMODUL 30", 4="ABLUFTMODUL 60", 5="ABLUFTMODUL 120", 6="ABLUFTMODUL 180", 8="GRUNDWASSERSTATION"] | ||
112 | 8 | 0 bis 255 | - | 0 | 7 | RO | - | x | |||||
113 | 2 | 16 Bit signed | 0,1 | 20 | 65 | RW | °C | MAXIMALE RUECKLAUFTEMP | x | ||||
114 | 8 | 0 bis 255 | - | 30 | 240 | RW | MISCHERDYNAMIK HK 2 | - | |||||
115 | 2 | 16 Bit signed | 0,1 | 20 | 60 | RW | °C | MAXIMAL TEMPERATUR HK 2 | - | ||||
120 | 2 | 16 Bit signed | 0,1 | 1 | 10 | RW | K | WARMWASSERHYSTERESE | x | 48009 | R/W Holding 8008 | ||
121 | 2 | 16 Bit signed | 0,1 | 0 | 5 | RW | °C | WW-KORREKTUR | x | 48010 | R/W Holding 8009 | ||
122 | 8 | 0 bis 255 | - | 0 | 1 | RW | ANTILEGIONELLENBEHANDLUNG | x | 48011 | R/W Holding 8010 | [0="AUS",1="EIN"] | ||
123 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | WW LERNFUNKTION | x | 48012 | R/W Holding 8011 | [0="AUS",1="EIN"] | ||
124 | 6 | 16 Bit unsigned | - | 1 | 2 | RW | VORWAHL HEIZKREIS | - | |||||
125 | 4 | -5 | 5 | RW | K | KORREKTUR | - | ||||||
127 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | TYP | x | 38008 | Read Input 8007 | [390="WPM 3", 391="WPM 3i", 449="WPMsystem"] | ||
128 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | SOFTWARE REGLER | x | Software Version WPM | ||||
130 | 5 | 0 | 32896 | RW | MO-HK1-ZEIT-1 | x | |||||||
131 | 5 | 0 | 32896 | RW | MO-HK1-ZEIT-2 | x | |||||||
132 | 5 | 0 | 32896 | RW | MO-HK1-ZEIT-3 | x | |||||||
133 | 5 | 0 | 32896 | RW | DI-HK1-ZEIT-1 | x | |||||||
134 | 5 | 0 | 32896 | RW | DI-HK1-ZEIT-2 | x | |||||||
135 | 5 | 0 | 32896 | RW | DI-HK1-ZEIT-3 | x | |||||||
136 | 5 | 0 | 32896 | RW | MI-HK1-ZEIT-1 | x | |||||||
137 | 5 | 0 | 32896 | RW | MI-HK1-ZEIT-2 | x | |||||||
138 | 5 | 0 | 32896 | RW | MI-HK1-ZEIT-3 | x | |||||||
139 | 5 | 0 | 32896 | RW | DO-HK1-ZEIT-1 | x | |||||||
140 | 5 | 0 | 32896 | RW | DO-HK1-ZEIT-2 | x | |||||||
141 | 5 | 0 | 32896 | RW | DO-HK1-ZEIT-3 | x | |||||||
142 | 5 | 0 | 32896 | RW | FR-HK1-ZEIT-1 | x | |||||||
143 | 5 | 0 | 32896 | RW | FR-HK1-ZEIT-2 | x | |||||||
144 | 5 | 0 | 32896 | RW | FR-HK1-ZEIT-3 | x | |||||||
145 | 5 | 0 | 32896 | RW | SA-HK1-ZEIT-1 | x | |||||||
146 | 5 | 0 | 32896 | RW | SA-HK1-ZEIT-2 | x | |||||||
147 | 5 | 0 | 32896 | RW | SA-HK1-ZEIT-3 | x | |||||||
148 | 5 | 0 | 32896 | RW | SO-HK1-ZEIT-1 | x | |||||||
149 | 5 | 0 | 32896 | RW | SO-HK1-ZEIT-2 | x | |||||||
150 | 5 | 0 | 32896 | RW | SO-HK1-ZEIT-3 | x | |||||||
357 | 8 | 0 bis 255 | - | 0 | 20 | RW | min | MINIMALE ABTAUZEIT | - | ||||
368 | 6 | 16 Bit unsigned | - | 0 | 100 | RW | % | VORLAUFANTEIL HEIZKREIS | - | ||||
372 | 2 | 16 Bit signed | 0,1 | 20 | 75 | RW | °C | MAXIMALE VORLAUFTEMP | - | ||||
412 | 6 | 16 Bit unsigned | - | 20 | 100 | RW | % | LEISTUNG HEIZKREISPUMPE | x | 48013 | R/W Holding 8012 | ||
413 | 6 | 16 Bit unsigned | - | 0 | 3 | RW | ANZAHL STUFEN | - | |||||
414 | 6 | 16 Bit unsigned | - | 0 | 120 | RW | min | VERZOEGERUNGSZEIT | - | ||||
415 | 6 | 16 Bit unsigned | - | 20 | 100 | RW | % | LEISTUNG WARMWASSERPUMPE | x | 48014 | R/W Holding 8013 | ||
425 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | NOTBETRIEB | x | 48015 | R/W Holding 8014 | [0="AUS",1="EIN"] | ||
429 | 7 | 16 Bit signed | 0,01 | 0 | 0 | RO | l/min | VOLUMENSTROM WPM3I | - | ||||
433 | 6 | 16 Bit unsigned | - | 0 | 32768 | RO | SOMMERBETRIEB WPM3 | x | 38009 | Read Input 8008 | [B0="SOMMERBETRIEB AKTIV", B1="SOFORTSTART AKTIV", B2="KUEHLEN", B3="ABTAUEN", B4="ZWANGSHEIZEN", B5="HEIZEN", B6="WW-BEREITUNG", B7="FERIEN", B8="PARTY", B9="KOMBISPEICHER MODUS", B10="SILENT MODE AKTIVIERT", B11="SILENT MODE: REDUZIERT", B12="SILENT MODE: AUS"] | ||
450 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | PUFFERBETRIEB | x | 48016 | R/W Holding 8015 | [0="AUS",1="EIN"] | ||
451 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | HEIZKREIS OPTIMAL | - | [0="AUS",1="EIN"] | ||||
452 | 1 | 0 | 20 | CRW | RAUMEINFLUSS | - | |||||||
454 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | KOMBISPEICHER | x | 48017 | R/W Holding 8016 | [0="AUS",1="EIN"] | ||
456 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | KUEHLEN | x | 48018 | R/W Holding 8017 | [0="AUS",1="EIN"] | ||
460 | 6 | 16 Bit unsigned | - | 0 | 10 | RW | GEBLAESEKUEHLUNG DYNAMIK AKTIV | - | |||||
462 | 6 | 16 Bit unsigned | - | 1 | 10 | RW | K | HYSTERESE | - | ||||
463 | 2 | 16 Bit signed | 0,1 | 30 | 44 | RW | bar | HD SENSOR MAX | x | 48019 | R/W Holding 8018 | ||
464 | 6 | 16 Bit unsigned | - | 20 | 100 | RW | % | LEISTUNG SOLEPUMPE | x | 48020 | R/W Holding 8019 | ||
465 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | EINPHASIGER BETRIEB | x | 48021 | R/W Holding 8020 | [0="AUS",1="EIN"] | ||
466 | 6 | 16 Bit unsigned | - | 0 | 1 | RW | SOFORTSTART | x | 48022 | R/W Holding 8021 | [0="AUS",1="EIN"] | ||
472 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | - | - | |||||
473 | 15 | 0 | 2147483647 | RO | STARTS VERDICHTER | - | |||||||
474 | 6 | 16 Bit unsigned | - | 0 | 10 | RW | GEBLAESE-/FLAECHENKUEHLUNG DYNAMIK PASSIV | - | |||||
481 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | min | RESTSTILLSTAND | x | 38010 | Read Input 8009 | ||
485 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | STATUS | x | 38011 | Read Input 8010 | [B0="HEIZKREISPUMPE", B1="MISCHERPUMPE", B2="MISCHER AUF", B3="MISCHER ZU", B4="NHZ 1", B5="NHZ 2", B6="QUELLENPUMPE", B7="PUFFELADEPUMPE", B9="WARMWASSERVENTIL", B13="KUEHLBETRIEB", B14="VERDICHTERSCHUETZ] | ||
486 | 2 | 16 Bit signed | 0,1 | 10 | 30 | CRW | °C | MINIMAL TEMPERATUR HK 1 | - | ||||
487 | 2 | 16 Bit signed | 0,1 | 10 | 30 | CRW | °C | MINIMAL TEMPERATUR HK 2 | - | ||||
557 | 6 | 16 Bit unsigned | - | 0 | 0 | RO | FATALER FEHLER STATUS | x | 38012 | Read Input 8011 | [B0="FATAL-ERROR"] | ||
558 | 2 | 16 Bit signed | 0,1 | -20 | 60 | RO | °C | KOMFORTTEMPERATUR INNEN HK 1 | x | ||||
700 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | DYNAMISIERUNG-1 | x | 38013 | Read Input 8012 | [B0="Raumtemperaturen HK1", B1="Raumtemperaturen HK2", B2="Warmwasser", B3="Kuehlen", B4="Solar Info", B5="Waermeerzeuger extern Heizen", B6="Elektrische Nacherwaermung", B7="Quelle", B8="Heizprogramm HZK 1", B9="Heizprogramm HZK 2", B10="Inbetriebnahme Auslegung HZG", B11="Elektrische Leistungsaufnahme", B12="Solar Einstellungen", B13="Waermeerzeuger extern WW", B14="Waermeerzeuger extern Info"] | ||
701 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | DYNAMISIERUNG-2 | - | 38014 | Read Input 8013 | [B0="Aktivkuehlung", B1="Passivkuehlung", B2="WW-Leistung Sommer/Winter", B3="Silent-Mode", B4="Verdichterstarts", B5="Silent-Mode Programm 1", B6="Silent-Mode Programm 2", B7="WW-Inbetriebnahme", B8="Heizkreis 2"] | ||
702 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | SYSTEM | x | 38015 | Read Input 8014 | [B0="FE7 an HZK1", B1="FE7 an HZK2", B2="FEK an HZK1", B3="FEK an HZK2", B4="HZK2 konfiguriert", B5="MSM-2 vorhanden", B6="MFG vorhanden", B7="MSM-3 vorhanden", B9="ISG vorhanden"] | ||
704 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | FUEHLER | x | 38016 | Read Input 8015 | [B0="WP-Vorlauf", B1="WP-Ruecklauf", B2="WW-Fuehler", B3="Aussenfuehler", B4="Mischerfuehler", B5="Quellenfuehler", B6="Vorlauffuehler Kuehlung", B7="Solar Kollektorfuehler"] | ||
60001 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | ISG HAUPTVERSIONSNUMMER | x | 38017 | Read Input 8016 | |||
60002 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | ISG NEBENVERSIONSNUMMER | x | 38018 | Read Input 8017 | |||
60003 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | ISG REVISIONSNUMMER | x | 38019 | Read Input 8018 | |||
60004 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | d | LAUFZEIT-TAGE | x | 38020 | Read Input 8019 | ||
60005 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | h | LAUFZEIT-STUNDEN | x | 38021 | Read Input 8020 | ||
60006 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | - | x | |||||
60007 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | d | - | x | ||||
60008 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | h | - | x | ||||
60009 | 6 | 16 Bit unsigned | - | 0 | 1 | RO | - | x | |||||
60010 | 6 | 16 Bit unsigned | - | 60 | 900 | RW | s | - | x | ||||
60011 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | - | x | |||||
60012 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | - | x | |||||
60018 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | FEHLER TIMESTAMP | x | 38022 | Read Input 8021 | |||
60019 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | FATALER FEHLER TIMESTAMP | x | 38023 | Read Input 8022 | |||
60020 | 6 | 16 Bit unsigned | - | 0 | 65535 | RO | INSTALLIERTE ERWEITERUNG | x | 38024 | Read Input 8023 | [1="SG-READY", 2="KNX", 3="EMI", 4="MODBUS", 9="TEST"] | ||
60022 | 6 | 16 Bit unsigned | - | 0 | 7 | RO | DASHBOARD-LOG DAY_DBL | x | 38025 | Read Input 8024 | |||
60023 | 1 | 0 | 0 | RO | kWh | DASHBOARD-LOG WM_HZ_DBL | x | 38026 | Read Input 8025 | ||||
60024 | 1 | 0 | 0 | RO | kWh | DASHBOARD-LOG WM_WW_DBL | x | 38027 | Read Input 8026 | ||||
60025 | 2 | 16 Bit signed | 0,1 | 0 | 0 | RO | °C | DASHBOARD-LOG AUSSENTEMP_MAX_DBL | x | 38028 | Read Input 8027 | ||
60026 | 2 | 16 Bit signed | 0,1 | 0 | 0 | RO | °C | DASHBOARD-LOG AUSSENTEMP_AVG_DBL | x | 38029 | Read Input 8028 | ||
60027 | 2 | 16 Bit signed | 0,1 | 0 | 0 | RO | °C | DASHBOARD-LOG AUSSENTEMP_MIN_DBL | x | 38030 | Read Input 8029 | ||
60101 | 6 | 16 Bit unsigned | - | 70 | 250 | RW | ms | CAN-INTERVALL | x | ||||
60302 | 6 | 16 Bit unsigned | - | 0 | 32768 | RO | EMI-AKTIVIERT | - | 38031 | Read Input 8030 | [0="AUS",1="EIN"] | ||
60303 | 6 | 16 Bit unsigned | - | 0 | 32768 | RO | EMI-STATUS | - | 38032 | Read Input 8031 | [0="EMI-NO-CONNECTION", 1="EMI-OK", 2="EMI-ACTIVE-ECO", 3="EMI-ACTIVE-COMFORT", 4="EMI-ACTIVE-HIGH", 10="EMI-ERROR", 11="EMI-TIMEOUT"] | ||
60310 | 2 | 16 Bit signed | 0,1 | 20 | 50 | RW | °C | OBERE-RAUMTEMP-HK1 | x | ||||
60311 | 2 | 16 Bit signed | 0,1 | 20 | 30 | RW | °C | OBERE-RAUMTEMP-HK2 | x | ||||
60312 | 2 | 16 Bit signed | 0,1 | 40 | 60 | RW | °C | OBERE-WARMWASSER-TEMP | x | ||||
60313 | SOMMERBETRIEB | - | [0="SOMMER ODER WINTER", 1="WINTER", 2="SOMMER"] | ||||||||||
60316 | 6 | 16 Bit unsigned | - | 0 | 32768 | RW | WAERMEPUMPENTYP | x | 48023 | R/W Holding 8022 | liefert leider bei mir nicht den gewünschten Wert [0="UNBEKANNT", 6="WPF/C 04 (cool)", 7="WPF/C 05 (cool)", 8="WPF/C 07 (cool)", 9="WPF/C 10 (cool)", 10="WPF/C 13 (cool)", 11="WPF 16 (cool)", 68="WPW 10 Trend", 69="WPW 12 Trend", 70="WPW 17 Trend", 71="WPW 22 Trend"] wenn webID=60498 gesetzt | ||
60317 | 6 | 16 Bit unsigned | - | 0 | 2 | RW | HEIZUNGSPUFFER | x | 48024 | R/W Holding 8023 | [0="KEIN-PUFFER", 1="PUFFER-MIT-MISCHER", 2="PUFFER-OHNE-MISCHER"] |
Ergänzen der zusätzlichen WebIDs für Abfrage bzw. Änderung per modbus/TCP Register
Um die in der o.a. Tabelle grün hervorgehobenen modbus/TCP Register abfragen bzw. setzen zu können, müssen lediglich die folgenden Zeilen zu der Datei WPM-isg-modbus.csv im Verzeichnis /firmware/rel_b/etc/config am Ende hinzugefügt werden. Abhängig von der aktiven Firmware (A oder B) kann das Verzeichnis auch /firmware/rel_a/etc/config sein. Mit dem Befehl cat /firmware/rel_a/version bzw. cat /firmware/rel_b/version kann man Informationen zu den beiden Version erhalten.
WPM-isg-modbus.csv
Nach einem Neustart des ISGweb, welchen man z.B. über den Befehl reboot per SSH durchführen kann, stehen die neuen Parameter zur Verfügung.
Hier ein Screenshot von einem Low-Level modbus/TCP Tool (ModbusClient von Control Technologies für Mac-OS) um die Funktionalität zu überprüfen, da ich viele Parameter bei mir noch nicht in LoxoneConfig eingebunden habe. Beispiel: der Parameter " Fühler " liefert den Wert 47, 0x00101111 binär. Die Bits stehen dabei für die folgenden Fühler: B0="WP-Vorlauf", B1="WP-Ruecklauf", B2="WW-Fuehler", B3="Aussenfuehler", B4="Mischerfuehler", B5="Quellenfuehler", B6="Vorlauffuehler Kuehlung", B7="Solar Kollektorfuehler" (fett hervorgehobenen Fühler sind aktiv/vorhanden).
Ein Hinweis am Ende: nicht jeder Parameter, der verfügbar ist, sollte über Loxone änderbar sein. Gerade beim Lesen UND schreiben von Parametern kann es vorkommen, dass die Werte auf "0" gesetzt werden, weil diese nicht richtig ausgelesen werden konnten und Loxone dann z.B. als Standardwert eine 0 schreibt. Hier sollte man sehr aufpassen, Validierungen in die Konfiguration einbauen und geeignete Standardwerte vorgeben.
Und noch ein Hinweis (auch wenn dieser eigentlich bekannt sein sollte): Dies ist ein Wiki, welches vom Mitmachen lebt. Wer weitere Infos hat oder herausgefunden hat, kann diese gerne ergänzen!