NEWS
[gelöst] Hargassner HV40 Daten über telnet abgreifen
-
@SBorg hast Recht. Ich habe die Werte, mit den Werten auf der Heizung verglichen.
@jpgorganizer Solltest eine Liste brauchen, das was ich ermittelt habe, stell ich gerne zur Verfügung. -
@Hogy
au das wär toll.@SBorg
du hast das script gemacht. Warum als script und keinen Adapter dafür? gab es Gründe?Ich würde mir beides Liste + Script in den nächsten Tagen mal anschauen und wenn ich damit zurecht komme und es mit meiner Heizung grundsätzlich mal funktioniert, dann würde ich mich ggfs. hinsetzen und einen Adapter schreiben.
Darf ich dann eure Grundlage verwenden?Mal sehen ... vmtl. bekomme ich dann zwar Ärger mit meiner Frau, weil ich nicht mehr vom PC wegkomme. Aber irgendwas muss man ja gerade tun.
VG jpgorganizer
-
@jpgorganizer sagte in Hargassner HV40 Daten über telnet abgreifen:
du hast das script gemacht. Warum als script und keinen Adapter dafür? gab es Gründe?
Ja
Man braucht nicht immer für alles und jedes einen Adapter. Mein Motto: Keep it lean, clean and simple
Als Adapter schleppt man gleich einen irrsinnigen Overhead mit sich rum. Als Skript benötigt es kaum Speicher und CPU-Ressourcen und überlebt so ziemlich jedwedes Update. Inkompatibilitäten wegen eines JS-, Node...-Updates gibt es da nicht.Da es keine Atomwissenschaft ist, kannst du daraus auch selbstverständlich einen Adapter basteln. Schließlich grenze ich damit die Windows-User aus, auch wenn sich noch keiner beschwert hat
-
@jpgorganizer
hier die Objekte mit der Beschreibung, wofür ich sie halte."name": "HV40 Wassertemperatur", "name": "Value 000", "name": "Abgase Ist", "name": "Value 001", "name": "O² Ist", "name": "Value 002", "name": "Puffer Oben", "name": "Value 003", "name": "Puffer Mitte", "name": "Value 004", "name": "Puffer Unten", "name": "Value 005", "name": "Außentemperatur", "name": "Value 006", "name": "Heizung Vorlauf Ist", "name": "Value 007", "name": "Value 008", "name": "Value 008", "name": "Value 009", "name": "Value 009", "name": "Value 010", "name": "Value 010", "name": "Brauchwasser", "name": "Value 011", "name": "Heizung Vorlauf Soll", "name": "Value 012", "name": "Value 013", "name": "Value 013", "name": "Value 014 ?", "name": "Value 014", "name": "Value 015", "name": "Value 015", "name": "Primärluft Soll", "name": "Value 016", "name": "Primärluft Ist", "name": "Value 017", "name": "Sekundärluft Soll", "name": "Value 018", "name": "Sekundärluft Ist", "name": "Value 019", "name": "Saugzug Ist", "name": "Value 020", "name": "Value 021", "name": "Value 021", "name": "Status", "name": "Value 022", "name": "O² Soll", "name": "Value 023", "name": "Lambdasonde ?", "name": "Value 024", "name": "Value 025", "name": "Value 025", "name": "Saugzug Soll", "name": "Value 026", "name": "Value 027", "name": "Value 027", "name": "Value 028", "name": "Value 028", "name": "Value 029", "name": "Value 029", "name": "Value 030", "name": "Value 030", "name": "Value 031", "name": "Value 031", "name": "Value 032", "name": "Value 032", "name": "Value 033", "name": "Value 033", "name": "Value 034", "name": "Value 034", "name": "Value 035", "name": "Value 035", "name": "Value 036", "name": "Value 036", "name": "Value 037", "name": "Value 037", "name": "Value 038", "name": "Value 038", "name": "Value 039", "name": "Value 039", "name": "Value 040", "name": "Value 040", "name": "Value 041", "name": "Value 041", "name": "Value 042", "name": "Value 042", "name": "Value 043", "name": "Value 043", "name": "Value 044", "name": "Value 044", "name": "Value 045", "name": "Value 045", "name": "Leistung", "name": "Value 046", "name": "Heizungselektronik", "name": "Value 047", "name": "Boiler Vorlauf Ist", "name": "Value 048", "name": "Puffer Füllgrad", "name": "Value 049", "name": "Value 050", "name": "Value 050", "name": "Value 051", "name": "Value 051", "name": "Value 052", "name": "Value 052", "name": "Value 053", "name": "Value 053", "name": "Value 054", "name": "Value 054", "name": "Value 055", "name": "Value 055", "name": "Value 056", "name": "Value 056", "name": "Ölheizung", "name": "Value 057", "name": "Boiler Vorlauf Soll", "name": "Value 058", "name": "Außentemperatur gemittelt", "name": "Value 059", "name": "Value 060", "name": "Value 060", "name": "Value 061", "name": "Value 061", "name": "Value 062", "name": "Value 062", "name": "Value 063", "name": "Value 063", "name": "Value 064", "name": "Value 064", "name": "Value 065", "name": "Value 065", "name": "Value 066", "name": "Value 066", "name": "Value 067", "name": "Value 067", "name": "Value 068", "name": "Value 068", "name": "Value 069", "name": "Value 069", "name": "Value 070", "name": "Value 070", "name": "Value 071", "name": "Value 071", "name": "Value 072", "name": "Value 072", "name": "Value 073", "name": "Value 073", "name": "Value 074", "name": "Value 074", "name": "Value 075", "name": "Value 075", "name": "Value 076", "name": "Value 076", "name": "Value 077", "name": "Value 077", "name": "Value 078", "name": "Value 078", "name": "Value 079", "name": "Value 079", "name": "Value 080", "name": "Value 080", "name": "Value 081", "name": "Value 081", "name": "Value 082", "name": "Value 082", "name": "Value 083", "name": "Value 083", "name": "Value 084", "name": "Value 084", "name": "Value 085", "name": "Value 085", "name": "Value 086", "name": "Value 086", "name": "Value 087 ?", "name": "Value 087", "name": "Value 088 ?", "name": "Value 088", "name": "Value 089", "name": "Value 089", "name": "Value 090", "name": "Value 090", "name": "Value 091", "name": "Value 091", "name": "Value 092 ?", "name": "Value 092", "name": "Value 093", "name": "Value 093", "name": "Value 094 ?", "name": "Value 094", "name": "Value 095", "name": "Value 095", "name": "Value 096", "name": "Value 096", "name": "Value 097", "name": "Value 097", "name": "Value 098", "name": "Value 098", "name": "Value 099", "name": "Value 099", "name": "Value 100", "name": "Value 100", "name": "Value 101", "name": "Value 101", "name": "Value 102", "name": "Value 102", "name": "Value 103", "name": "Value 103", "name": "Value 104", "name": "Value 104", "name": "Value 105", "name": "Value 105", "name": "Value 106", "name": "Value 106", "name": "Value 107", "name": "Value 107", "name": "Value 108", "name": "Value 108", "name": "Value 109", "name": "Value 109", "name": "Value 110", "name": "Value 110", "name": "Value 111", "name": "Value 111", "name": "Value 112", "name": "Value 112", "name": "Value 113", "name": "Value 113", "name": "Value114 ?", "name": "Value 114", "name": "Value115 ?", "name": "Value 115", "name": "Value 116", "name": "Value 116", "name": "Value 117", "name": "Value 117", "name": "Value 118", "name": "Value 118", "name": "Value 119", "name": "Value 119", "name": "Value 120", "name": "Value 120", "name": "Value 121", "name": "Value 121", "name": "Value 122", "name": "Value 122", "name": "Value 123", "name": "Value 123", "name": "Value 124", "name": "Value 124", "name": "Value 125", "name": "Value 125", "name": "Value 126", "name": "Value 126", "name": "Value 127", "name": "Value 127", "name": "Value 128", "name": "Value 128", "name": "Value 129", "name": "Value 129", "name": "Value 130", "name": "Value 130", "name": "Betriebsstunden Steuerung", "name": "Value 131", "name": "Betriebsstunden Heizung", "name": "Value 132", "name": "Betriebsstunden Leistungsbrand", "name": "Value 133", "name": "Value 134 ?", "name": "Value 134", "name": "Betriebsstunden Zündung", "name": "Value 135", "name": "Betriebsstunden Saugzug", "name": "Value 136", "name": "Value 137", "name": "Value 137", "name": "Value 138", "name": "Value 138", "name": "Value139 ?", "name": "Value 139", "name": "Value 140", "name": "Value 140", "name": "Value 141", "name": "Value 141", "name": "Value 142 ?", "name": "Value 142", "name": "Value 143", "name": "Value 143", "name": "Value 144", "name": "Value 144", "name": "Value 145", "name": "Value 145", "name": "Value 146", "name": "Value 146", "name": "Value 147", "name": "Value 147", "name": "Value 148", "name": "Value 148", "name": "Value 149", "name": "Value 149", "name": "Value 150", "name": "Value 150", "name": "Value 151", "name": "Value 151", "name": "Value 152", "name": "Value 152", "name": "Value 153", "name": "Value 153", "name": "Value 154", "name": "Value 154", "name": "Value 155", "name": "Value 155", "name": "Value 156", "name": "Value 156", "name": "Value 157", "name": "Value 157", "name": "Value 158", "name": "Value 158", "name": "Value 159", "name": "Value 159", "name": "Value 160", "name": "Value 160", "name": "Value 161", "name": "Value 161", "name": "Value 162", "name": "Value 162", "name": "Value 163", "name": "Value 163", "name": "Value 164", "name": "Value 164", "name": "Value165 ?", "name": "Value 165", "name": "Value 166", "name": "Value 166", "name": "Value 167", "name": "Value 167", "name": "Value 168", "name": "Value 168", "name": "Value 169", "name": "Value 169", "name": "Value 170", "name": "Value 170", "name": "Value 171", "name": "Value 171", "name": "Lambdasonde Spannung", "name": "Value 172", "name": "Value173 ?", "name": "Value 173", "name": "Value 174", "name": "Value 174", "name": "Value 175", "name": "Value 175", "name": "Value 176", "name": "Value 176", "name": "Value 177", "name": "Value 177", "name": "Value 178", "name": "Value 178", "name": "Value 179", "name": "Value 179", "name": "Value 180", "name": "Value 180", "name": "Value 181", "name": "Value 181", "name": "Value 182", "name": "Value 182", "name": "Value 183", "name": "Value 183", "name": "Value 184", "name": "Value 184", "name": "Value 185", "name": "Value 185", "name": "Value 186", "name": "Value 186", "name": "Value 187", "name": "Value 187", "name": "Value 188", "name": "Value 188", "name": "Value 189", "name": "Value 189", "name": "Value 190", "name": "Value 190", "name": "Value 191", "name": "Value 191", "name": "Value 192", "name": "Value 192", "name": "Value 193", "name": "Value 193", "name": "Value 194", "name": "Value 194", "name": "Value 195", "name": "Value 195", "name": "Value 196", "name": "Value 196", "name": "Value 197", "name": "Value 197", "name": "Value 198", "name": "Value 198", "name": "Value 199", "name": "Value 199", "name": "Value 200", "name": "Value 200", "name": "Value 201", "name": "Value 201", "name": "Value 202", "name": "Value 202", "name": "Value 203", "name": "Value 203", "name": "Value 204", "name": "Value 204", "name": "Value 205", "name": "Value 205", "name": "Value 206", "name": "Value 206", "name": "Value 207", "name": "Value 207", "name": "Value 208", "name": "Value 208", "name": "Value 209", "name": "Value 209", "name": "Value 210", "name": "Value 210", "name": "Value 211", "name": "Value 211", "name": "Value 212", "name": "Value 212", "name": "Value 213", "name": "Value 213", "name": "Value 214", "name": "Value 214", "name": "Value 215", "name": "Value 215", "name": "Value 216", "name": "Value 216", "name": "Value 217", "name": "Value 217", "name": "Value 218", "name": "Value 218", "name": "Value 219", "name": "Value 219", "name": "Value 220 ?", "name": "Value 220", "name": "Türe", "name": "Value 221", "name": "Value 222", "name": "Value 222", "name": "Value 223", "name": "Value 223", "name": "Value 224", "name": "Value 224", "name": "Value 225", "name": "Value 225", "name": "Value 226", "name": "Value 226", "name": "Value 227", "name": "Value 227",
Der erste "name" ist die Beschreibung was der Wert darstellen sollte. Der zweite "name" ist das Objekt.
Beispiele:
"Value 000" ist "HV40 Wassertemperatur"
...
"Value 007" ist "Heizung Vorlauf Ist"
...
"Value 012" ist "Heizung Vorlauf Soll"
... -
@Hogy Danke, ich werde das mal vergleichen mit meinen Daten.
Da die Heizung aber aktuell nicht mehr läuft - es ist Sommer - muss ich mal schauen wie ich das macheGrüße
jpgorganizer -
@jpgorganizer
würde mich sehr freuen, wenn du deine Erkenntnisse teilen würdest. Solltest du weitere Wertzuordnungen finden, dann lass es mich bitte wissen.
Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?Grüße, Hogy
-
@Hogy sagte in Hargassner HV40 Daten über telnet abgreifen:
Hast du auch eine HV40 oder ist das eine Andere? Wenn eine Andere... welche?
Ich habe eine Pelletheizung Nano
Und sei unbesorgt, ich teile meine Erkenntnisse
VG
jpgorganizer -
@jpgorganizer ich habe auch einen Nano.
@SBorg ich gebe dir Recht, je einfacher deste besser.
aber ein Adapter wäre echt hilfreich, weil ich nach lannger zeit aus dem TelNET net schlau geworden bin, Stundenlange beobachtung meines Kessels.
Wenn jemand den Hargassner Gateway hat, ist es einfacher. Da man direkt auf das WEBIF von Hargassner die Werte verändern könnte, ohne TelNet Rätseln.hier meine Erkenntnisse:
0 "pm" 1 "1" Kessel 1=AUS, 7=Leistungsbrand, 5=Brauchwasser WW ? 2 "21.0" O² IST 3 "7.5" O² SOLL 4 "65" Kessel IST Temperatur 5 "0" Kessel SOLL Temperatur 6 "77" Kessel Abgastemperatur 7 "0" 8 "0.0" Saugzug IST 9 "0" 10 "0.0" Fördermenge 11 "0" 12 "0" 13 "0" 14 "0" 15 "0" 16 "2" Außentemperatur 17 "1" Außentemperatur GEMITTELT 18 "60" 19 "-20.0" 20 "-20" 21 "-20.0" 22 "37" Puffer/Boiler Temperatur UNTEN 23 "60" Puffer/Boiler Temperatur MITTE 24 "63" Rücklaufanhebung SOLL 25 "35" Rücklaufanhebung IST 26 "34" 27 "118.6" 28 "84.3" 29 "78" 30 "73" 31 "0" 32 "0" 33 "55136" 34 "0" Laufzeit Einschub seit Entaschung 35 "1" 36 "1246" Selbst Reinigung Anzahl der Bewegungen 37 "7.98" 38 "13.13" 39 "609" 40 "-7" 41 "2" 42 "0" 43 "92" Befüllgrad Puffer 44 "100.0" 45 "13.0" 46 "0.0" 47 "0" 48 "4058" Pelletverbrauch 49 "1" 50 "0" 51 "-20" 52 "0" 53 "20.0" 54 "20" 55 "0" 56 "1" 57 "45" HK1 Vorlauf IST 58 "34" HK1 Vorlauf SOLL 59 "20.0" 60 "22" 61 "1" HK1 1 AN, 4 Nachtabsenkung oder Aus ? 62 "1" 63 "24" HK2 Vorlauf IST 64 "0" HK2 Vorlauf SOLL 65 "20.0" 66 "22" 67 "4" HK2 1 AN, 4 Nachtabsenkung oder Aus ? 68 "1" 69 "-20" 70 "0" 71 "20.0" 72 "20" 73 "0" 74 "1" 75 "-20" 76 "0" 77 "20.0" 78 "20" 79 "0" 80 "1" 81 "-20" 82 "0" 83 "20.0" 84 "20" 85 "0" 86 "1" 87 "-20" 88 "0" 89 "20.0" 90 "20" 91 "0" 92 "1" 93 "-20" 94 "0" 95 "0" 96 "66" Puffer/Boiler Temperatur OBEN 97 "0" Geforderte Temperatur Puffer WW 98 "0" BW Anforderung 1= AN,0= AUS 99 "-20" 100 "0" 101 "0" 102 "-20" 103 "0" 104 "0" 105 "0" 106 "0" 107 "0" 108 "34" 109 "0" 110 "0" 111 "0" 112 "0" 113 "0" 114 "0" 115 "0" 116 "0" 117 "0" 118 "0" 119 "0" 120 "0" 121 "0" 122 "0" 123 "0" 124 "0" 125 "0" 126 "0" 127 "0" 128 "0" 129 "0" 130 "0" 131 "0" 132 "0" 133 "-20.0" 134 "-20.0" 135 "-20.0" 136 "-20.0" 137 "-1.0" 138 "-1.0" 139 "-1.0" 140 "-1.0" 141 "-1.0" 142 "-1.0" 143 "-1.0" 144 "-1.0" 145 "-1.0" 146 "-1.0" 147 "-1.0" 148 "-1.0" 149 "-1.0" 150 "-1.0" 151 "-1.0" 152 "-1.0" 153 "-1.0" 154 "-1.0" 155 "-1.0" 156 "-1.0" 157 "-1.0" 158 "-1.0" 159 "-1.0" 160 "-1.0" 161 "028B" 162 "0001" 163 "0000" 164 "0000" 165 "4000" 166 "0160" 167 "0000" 168 "0000" 169 "\r\n"
-
@Hogy
Hallo, Ich habe einen HV20. Ich nehme an, das die daten ähnlich sind. Welches Modul bzw. welche Erweiterugn wird für die Steuerung des HV benötigt oder geht das direkt über den RJ45 Stecker? Danke mal. -
@göschi
Ich nehme an, dass es beim HV20 die gleiche Steuerung ist, wie beim HV40.
Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.
Dann noch die IP fest definieren und fertig sind die Vorbereitungen von Seitens Heizung.Bezüglich der Kanalbelegung... Ich konnte diese an der Heizung auf eine SD-Karte schreiben. Hier die Datei wie sie 1:1 von der Heizung kommt.
DAQ00140.txtGrüße, Hogy
-
Hallo zusammen,
ich hab das ganze schon mal gemacht, erstellt aber nur ne Datei zum Logging im csv Format die dann mit gnuplot zur pdf gemacht wird. die Zuordnung der einzelnen Werte stammt aus dem Microkontroller Net.
https://www.mikrocontroller.net/topic/134331?page=single
mein Eintag ist vom 16.12.2017 10:11
da hängt auch mein script als Datei dran allerdings ohne GnupotGruß Karsten
-
Hallo,
ich weiß nicht ob das hier noch jemand liest. Aber ich hab doch eine Frage zu dem ganzen.
Ich besitze einen HV30 mit Internet Gateway. Wird das darüber realisiert, oder über einen direkten NetzwerkanschlussGruß Mike
-
@hogy sagte in Hargassner HV40 Daten über telnet abgreifen:
Meine Steuerung hat an dem Display innenliegend noch einen eigenen RJ45 Anschluss. Den habe ich verwendet.
...und da das Skript von mir stammt: ich greife die Daten im Netzwerk ab. Das Skript ist ein WEB-Server der auf den Datenverkehr einer bestimmten IP (=die Heizung/Steuerung) im Netzwerk lauscht, die Daten aufbereitet und an den ioB schickt
-
Danke für die Info. Das werde ich die Tage mal ausprobieren
-
Hallo,
ich habe auch eine Hargassner mit Nano-pk-Steuerung, welche ich mit Hilfe von reinen JS-Skripten auslese.
Der iobroker muss dazu per IP und Port 23 (Telnet) auf die Nano-pk zugreifen können.Zusätzlich sollte einmal auf einer SD-Karte an der Nano-pk ein Log erstellt werden. Auf der SD-Karte sollte sich danach im Verzeichnis "DAQ" die Log-Datei "DAQ00000.DAQ" (oder ähnlich) liegen. Aus dieser Log-Datei kopieren wir den XML-Code "<DAQPRJ><ANALOG><CHAN [...] /></DIGITAL></DAQPRJ>", da wir ihn im folgenden Skript benötigen
Auf dem iobroker führen wir nun das folgende JS-Skript zum Erstellen der States einmal aus:
//get XML-Code from Hargassner heater (use SD card) var nanopk = `<DAQPRJ><ANALOG> <CHANNEL id='0' name='ZK' unit=''/> <CHANNEL id='1' name='O2' unit='%'/> <CHANNEL id='2' name='O2soll' unit='%'/> <CHANNEL id='3' name='TK' unit='°C'/> ... <CHANNEL id='7' bit='21' name='DReg3 P3'/> <CHANNEL id='7' bit='22' name='DReg3 Mi auf'/> <CHANNEL id='7' bit='23' name='DReg3 Mi zu'/> </DIGITAL></DAQPRJ>`; let DP="javascript.0.Hargassner" // object-id var xml2js = require('xml2js'); // please activate npm-module var parser = new xml2js.Parser(); // translate XML data into states parser.parseString(nanopk, (err, result) => { if (err) { console.error(err); return; } // analog channels const channelsA = result.DAQPRJ.ANALOG[0].CHANNEL; channelsA.forEach(channel => { const id = channel.$.id; const bit = channel.$.bit; const name = channel.$.name; const unit = channel.$.unit; console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`); createState(DP+".analog."+("00" + id).slice(-3),"",{name: name, type: "number", role: "state", unit: unit, read: true, write: false}); }); // digital channels const channelsD = result.DAQPRJ.DIGITAL[0].CHANNEL; channelsD.forEach(channel => { const id = channel.$.id; const bit = channel.$.bit; const name = channel.$.name; console.log(`Channel ID: ${id}, Bit: ${bit}, Name: ${name}`); createState(DP+".digital."+("00" + id).slice(-3)+"."+("0" + bit).slice(-2),"",{name: name, type: "boolean", role: "state", read: true, write: false}); }); });
Den XML-Code habe ich der Übersicht wegen gekürzt. Da es verschiedene Nano-pk-Steuerungen mit wiederum verschiedenen Firmwares gibt, empfehle ich sehr den XML-Code immer selber zu erstellen.
Die Objekt-ID unter welcher die ganzen States erstellt werden, kann im Skript geändert werden.
Das NPM-Modulxml2js
muss in der javascript-Instanz noch aktiviert werden.Danach das folgende Skript aktivieren:
let DP = "javascript.0.Hargassner"; // object-id let ip = '192.168.0.99'; // ip of Nano-pk let port = 23; // port of Nano-pk (Telnet) var net = require('net'); // please activate npm-module // run script every 5 sec schedule("*/5 * * * * *", function () { // connect to Nano-pk var client = new net.Socket(); client.connect(port, ip, function() { console.debug('Connected'); }); // get data client.on('data', function(data) { const values = data.subarray(3,-3).toString('utf8').split(" "); // split received values into array console.debug('Received: ' + values); client.destroy(); // kill client after server's response // set analog states let DPA = `${DP}.analog.`; const idAna = $(`state[id=${DPA}*]`); const valAna = values.slice(0, idAna.length); idAna.each( function( id, i){ const idSub = id.substring(DPA.length); const ch = Number(idSub.substring(0,3)); setState(id, Number(valAna[ch]), true); console.debug(id+`: `+ valAna[i]); }); // set digital states let DPD = `${DP}.digital.`; const idDig = $(`state[id=${DPD}*]`); const valDig = values.slice(idAna.length); idDig.each( function( id, i){ const idSub = id.substring(DPD.length); const ch = Number(idSub.substring(0,3)); const bit = Number(idSub.substring(4)); const bits = parseInt(valDig[ch],16); const bitMask = 1 << bit; const value = ((bits & bitMask) > 0); setState(id, value, true); console.debug(id+`: `+ value); }); }); // Closed connection client.on('close', function() { console.debug('Closed connection'); }); });
Die Objekt-ID sollte hier die gleiche sein, wie im ersten Skript.
Dann noch die IP (und ggf. bei Bedarf den Port) ändern.
Für dieses Skript noch das NPM-Modulnet
aktivieren.
Der Scheduler sorgt in diesem Fall dafür, dass der Code alle 5 Sekunden ausgeführt wird und das Skript entsprechend die Werte bei der Nano-pk holt und in die Objekte schreibt.Und sobald das zweite Skript läuft, sollten die Werte einlaufen:
-
Ich habe ja die Modbuskarte von Harrgassner in meinem Nano PK, die hatte immerhin 380€ gekostet.
Muss aber sagen das ist diese nicht Wert da viele dinge nicht gehen.
Das ist meine Modbus File, hier gehen nur die alternative Adressen.Meine Frage wäre, ist es möglich mit deinem Script die Adresse
KNX Raumtemp HK1 Vorgabe Raumtemp. HK1 DAQ-ANA lesen/schreiben 11002 11003 °C
lesen und zu schreiben?Ich will meinem Kessel nur die Raumtemperatur ohne Raumfüher mitteilen, laut Harrgassner soll das dort funktionieren.
MfG