Closed fred0815 closed 1 year ago
Hm ... 209 und 210 sind seit 2 jahren im Adapter drin! Aber ja rest inkl .der "Ucount" Datentypen fehlt noch.
Stimmt 209 und 210 waren mit enthalten. Bin gerade dabei die Daten mit aufzunehmen und ein paar Dinge anzupassen, wie z.B. Polling Intervall wird gespeichert, adapter namen werden in die objekte mit übernommen, bm01 entfernt, debug und info log meldungen angepasst.... melde mich, wenn ich soweit bin...
so, anbei mein aktueller Stand....Läuft bei mir seit einem Tag ohne Probleme...
Was habe ich gemacht:
main.js.txt datapoints.json.txt decoder.js.txt index_m.html.txt
Wow cool ... magst mir das als "Pull request" machtn oder soll ich die files so übernehmen?
du kannst die Files so übernehmen... ;-)
Ok, checke ich heute abend oder morgen und bereite GitHub version vor die ich dich dann bitten würde nochmal zu testen. ok?
na klar...und danke!
Ok, ich habs mal geprüft ...
Frage:
//eine Null vor ${bufVal.length.toString(16)}`, 'hex' weggenommen
Warum? Weil hat ja vorhwer auch funktioniert. Knn es sein das man nur sicherstellen muss das das "toString(16)" im zweifel 0-padded ist? kann es sein das werte bisher immer "so klein" waren das diese zusätzliche 0 qusi das padding war? Und jetzt sind werte ggf höher?
Ansonsten baue ich das msb/lsb Thema mal etwas generischer :-)
Ok, updated GitHub (btw ... hast du auch encode für DP7 implmentiert und file vergessen? - das fehlt noch)
https://github.com/ioBroker/ioBroker.wolf/commit/bb14de328cbf40ebbea317071646f079baeea40e
ich habe nur nach der Doku den Aufbau nachvollzogen und da war für mich eine Null zu viel...
du kannst den Code gerne umbauen. Ich bin KEIN Vollblut Entwickler. Komme zwar aus der IT, habe aber seit Jahren einen ganz anderen Fokus... Demensprechend ist mein Code sicher nicht optimal...
hier der encode DP7 /**
ach, noch eine Sache. Der ISM8i soll alle 30 min seine volle Konfiguration, der nicht gesperrten bzw. nicht vorhandenen Geräte (Störung =1) senden. Fehlermeldungen können auch zu einer Sperrung führen. Leider sendet der ISM8i die volle Konf., inkl. der gesperrten Geräte, nur bei einem Neuaufbau der Verbindung einmal. Daher mein Gedanke, dass das Polling so angepasst wird, das es einen Verbindungsneuaufbau erzwingt (sock.end?). Was meinst du?
Soll mit dem neuen release Ende januar behoben sein
Mir ist heute noch ein Punkt aufgefallen. Beim decode von decodeDPT9 für den Datenpunkt 178 werden manchmal über 6500er Werte angezeigt. Das sollen wohl eher 0,65xxx kW sein und nicht 6500 kW.
Ist bei Wolf bekannt und muss aktuell im Skript abgefangen werden (siehe anbei) main.js.txt
so, jetzt sollte alles aktuell sein. Habe encoder und die neue Main angehängt. Könntest du die neue Version fertig machen, dass ich testen kann? Danke!!!
Hi, also ich hab jetzt die letzten Änderungen noch nachgezogen. Wäre cool wenn Du mal die GitHub version testen würdest ... Danke. Schau dur auch gern im oben verlinkten changelog an was ich geändert hab
so, alles getestet... Läuft... ;-)
Auch steuern? (wegen der 0 zuviel oder zu wenig und so)?
ja, das habe ich getestet und die erste Version wieder eingefügt. Die Anpassung von dir (toHex) hat zu einem Fehler geführt. Sollte im Changelog von main.js zu sehen sein.
Also wie ist die zeile jetzt Bei dir?
const _buff_set = Buffer.concat([Buffer.from(0620F08000${(20 + bufVal.length).toString(16)}04000000F0C100${dp.toString(16)}000100${dp.toString(16)}000${bufVal.length.toString(16)}
, 'hex'), bufVal], bufVal.length + 20);
ok, then i replace that :-)
GitHub updated
it works fine.... ;-) machst du ein neues Release draus?
jupp, kommt heute abend
ok, heute :-)
ich habe mir gestern das ISM8i von Wolf eingebaut und deinen Adapter installiert. Die Verbindung zwischen den beiden hat funktioniert und Daten wurden ausgelesen. Super toll!
Laut Dokumentation gibt es jetzt folgendene neue Datenpunkte
Kaskadenmodul 209 Gesamtmodulationsgradvorgabe 7) DPT_Scaling Out / In 4) % 210 Sammlersolltemperaturvorgabe 8) DPT_Value_Temp Out / In 4) °C 211 Betriebsart Heizen/Kühlen 9) DPT_Switch Out / In - BM-2 251 Erkennung verfügbare Heiz-/ Mischerkreise DPT_Value_1_Ucount Out / - - 355 Erkennung verfügbarer Geräte 1 DPT_Value_2_Ucount Out / - - 356 Erkennung verfügbarer Geräte 2 DPT_Value_2_Ucount Out / - - 357 Unterscheidung Heizgerätetyp (HG1) DPT_Value_1_Ucount Out / - - 358 Erkennung vorhandener Warmwasserkreise DPT_Value_1_Ucount Out / - - 359 Unterscheidung Heizgerätetyp (HG2) DPT_Value_1_Ucount Out / - - 360 Unterscheidung Heizgerätetyp (HG3) DPT_Value_1_Ucount Out / - - 361 Unterscheidung Heizgerätetyp (HG4) DPT_Value_1_Ucount Out / - - Heizgerät 1 364 Kesselsolltemperatur HG1 – lesen DPT_Value_Temp Out / - °C Heizgerät 2 365 Kesselsolltemperatur HG2 – lesen DPT_Value_Temp Out / - °C Heizgerät 3 366 Kesselsolltemperatur HG3 – lesen DPT_Value_Temp Out / - °C Heizgerät 4 367 Kesselsolltemperatur HG4 – lesen DPT_Value_Temp Out / - °C BM-2(0) 368 Vorlaufsolltemperatur dir. HK – lesen DPT_Value_Temp Out / - °C 369 Mischersolltemperatur MK1 – lesen DPT_Value_Temp Out / - °C 370 Mischersolltemperatur MK2 – lesen DPT_Value_Temp Out / - °C 371 Mischersolltemperatur MK3 – lesen DPT_Value_Temp Out / - °C Allgemein 372 Zuletzt aktiver Störcode DPT_Value_1_Ucount Out / - -
Könntet Ihr diese bitte implementieren? Zudem wäre es super, wenn die Betriebsart und die Programmwahl vom Typ DPT_HVACContrMode in den Iobroker objekten angepasst werden könnten Siehe punkt 8.7 in der Doku
Für die Datenpunkte „Betriebsart“ und „Programmwahl“ der Heizgeräte und Wohnraumlüftung sowie der Heiz-, Mischer- und Warmwasserkreise werden die Datentypen 20.102, 20.103 bzw. 20.105 verwendet (siehe 8.6.7). Wie die einzelnen Status darin mit den wolfspezifischen Definitionen verbunden sind, zeigen folgende Abschnitte
Die DP ID357, 359, 360, 361 geben jetzt Auskunft über die Heizgeräte-Typen. Könnt ihr die auch implementieren?
Die Datenpunkte 336-354 sowie 362 und 363, die bei mir im Log ignoriert werden, habe ich bei Wolf angefragt.
VG & Danke Tom
Firmware ISM8I: 1.70 (lt. doku gibt es jetzt die 1.8)
IOBROKER Plattform linux Betriebssystem linux Architektur arm CPUs 4 Geschwindigkeit 1500 MHz Modell ARMv7 Processor rev 3 (v7l) RAM 3.75 GB Node.js v16.18.1 (Es gibt eine neuere Version: v16.19.0) NPM 9.2.0 js.controller 4.0.24
iobroker.2023-01-10.log 3064356_Betriebsanleitung_ISM8I-EBus_Ethermet-Schnittstelle.pdf