NEWS
Test Helios KWL v0.0.x
-
Hi ich habe ein neuen Adapter für Helios KWL basierend auf dem Skript von KLVN geschrieben.
Remote Befehle sind möglich unter in dem man in die schreibbaren Datenpunk beschreibt
Zum Installieren:
https://github.com/iobroker-community-adapters/ioBroker.heliosUnter Adapter Experten Modus aktivieren:
Unter Adapter das Github Icon klicken:
Benutzerdefiniert auswählen und die Url einfügen.
Wenn nicht dann unter Adapter den Helios Adapter suchen und ganz rechts auf das Plus klicken.
In den Instanzoptionen die jeweiligen IP und Passwort eingeben.
1: Erstinbetriebnahme (inbetr.htm)
2:
3: Partybetrieb / Ruhemodus (party.htm + ruhe.htm)
4: Aktuelle Lüfterstufe / Modus (info.htm)
5: Nachheizung Profil (nachheiz.htm)
6: Urlaubsprogramm (urlaub.htm)
7: Geräte Daten / Seriennummer usw. (tinfo.htm)
8: Systemstatus (Betriebsart, Drehzahl Lüfter, aktuelle Temperaturen) (anzeig.htm)
9: Wochenprogramm (woche.htm)
10: Netzwerkeinstellung (Ip, DNS, ect.) (web.htm)
11: Uhrzeit / Betriebslaufzeit der Vorheizung ect. (syst.htm)
12: Gerätekonfiguration / Filterwechsel / Bypass steuern (gaer.htm)
13: Voltzahl der Lüfter (luft.htm)
14: Konfiguration der Fühler (fueh.htm)
15: Passwort ändern (lost.htm)
16: Fehler Übersicht (fehl.htm)
17: -
Hallo,
erstmal Danke, dass du einen Adapter für die Helios KWL erstellt hast.
Wollte ihn gerade testen, die Instance wird aber nicht grün.
Gibt es einen Mindestveraussetzung für den JS-Host ect? Habe noch 3.2.16 und Nodejs 12.22.4
NPM 6.14.142021-09-15 17:51:59.690 error TypeError: this.ignorePage.includes is not a function at /opt/iobroker/node_modules/iobroker.helios/main.js:71:33 at Array.forEach (<anonymous>) at Helios.updateKWL (/opt/iobroker/node_modules/iobroker.helios/main.js:70:21) at Helios.onReady (/opt/iobroker/node_modules/iobroker.helios/main.js:41:20) at processTicksAndRejections (internal/process/task_queues.js:97:5) helios.0 2021-09-15 17:51:59.689 error unhandled promise rejection: this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.688 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). helios.0 2021-09-15 17:51:59.687 error this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.686 error TypeError: this.ignorePage.includes is not a function at /opt/iobroker/node_modules/iobroker.helios/main.js:71:33 at Array.forEach (<anonymous>) at Helios.updateKWL (/opt/iobroker/node_modules/iobroker.helios/main.js:70:21) at Helios.onReady (/opt/iobroker/node_modules/iobroker.helios/main.js:41:20) at processTicksAndRejections (internal/process/task_queues.js:97:5) helios.0 2021-09-15 17:51:59.685 error unhandled promise rejection: this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.684 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). helios.0 2021-09-15 17:51:59.682 error this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.681 error TypeError: this.ignorePage.includes is not a function at /opt/iobroker/node_modules/iobroker.helios/main.js:71:33 at Array.forEach (<anonymous>) at Helios.updateKWL (/opt/iobroker/node_modules/iobroker.helios/main.js:70:21) at Helios.onReady (/opt/iobroker/node_modules/iobroker.helios/main.js:41:20) at processTicksAndRejections (internal/process/task_queues.js:97:5) helios.0 2021-09-15 17:51:59.680 error unhandled promise rejection: this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.679 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). helios.0 2021-09-15 17:51:59.675 error this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.674 error TypeError: this.ignorePage.includes is not a function at /opt/iobroker/node_modules/iobroker.helios/main.js:71:33 at Array.forEach (<anonymous>) at Helios.updateKWL (/opt/iobroker/node_modules/iobroker.helios/main.js:70:21) at Helios.onReady (/opt/iobroker/node_modules/iobroker.helios/main.js:41:20) at processTicksAndRejections (internal/process/task_queues.js:97:5) helios.0 2021-09-15 17:51:59.673 error unhandled promise rejection: this.ignorePage.includes is not a function helios.0 2021-09-15 17:51:59.672 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). helios.0 2021-09-15 17:51:59.390 info Set interval to minimum 80 helios.0 2021-09-15 17:51:59.307 info starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.helios, node: v12.22.4, js-controller: 3.2.16
irgendeine Idee, was mich machen könnte?
-
@ritschy2000 Ja mein Fehler bitte nochmal installieren
-
Genial, vielen Dank, tolle Arbeit!
Ließ sich problemlos installieren.
Getestet mit einer KWL500 mit V2.27Eine Kleinigkeit ist mir bereits aufgefallen:
Im Objekt VOC-Steuerung_Status ist unter Name beschrieben:
RW: 0=Aus, 2 = Stufig., 3 = Stufenlos
Bei mir funktioniert die Umschaltung und korrekte Statusanzeige aber mit den Werten:
0=Aus, 1 = Stufig., 2 = StufenlosDas gleiche gilt für Feuchte-Steuerung_Status (hier scheint auch die Beschriftung nicht zu passen:
RW: 1=RF, 2=Temp., 3=kombiniert
Bei mir funktioniert die Umschaltung und korrekte Statusanzeige aber mit den Werten:
0=Aus, 1 = Stufig., 2 = Stufenlos
Denn die entsprechende Umschaltung je Sensor wird ja z.B. unter KWL-FTF_konfig_0 vorgenommen.Ich weiß nicht ob das ggf. bei anderen Modellen ggf. nach deinen Angaben funktioniert. Ist auch nicht wild, kann man ja durch probieren raus bekommen.
-
@mstrack Kannst du vielleicht dein log teilen falles es doch warnungen oder fehler gab. Wieviel Datenpunkte hast du ungefähr. Funktionieren die Änderung von Befehlen?
-
@tombox
Also es wurden 150 Objekte mit entsprechendem Titel angelegt und 62 weitere mit der ID v0XXXXDas Ändern funktioniert einwandfrei, wenn ich die von mir ausprobierten Werte eintrage, kann ich sofort die Änderung in der Weboberfläche sehen.
Die Weboberfläche der KWL ist allerdings deutlich träger und baut sich zeitweise nicht richtig auf wenn die Instanz läuf.
Log kann ich natürlich gerne teilen, ist erstaunlich viel für die kurze Zeit...
iobroker.2021-09-15.log -
@mstrack kannst du nochmal den adapter neuinstallieren alle objekte löschen und die instanz neustarten. dann müssten die fehler weg sein
-
@tombox erledigt und die Fehler-Ausgabe ist deutlich reduziert, die einzigen Fehler die alle 80 Sekunden kommen sind:
helios.0 2886 2021-09-15 20:53:33.074 error Error: read ECONNRESET helios.0 2886 2021-09-15 20:53:33.074 error Page: 4 helios.0 2886 2021-09-15 20:53:33.073 error Error: read ECONNRESET helios.0 2886 2021-09-15 20:53:33.073 error Page: 3 helios.0 2886 2021-09-15 20:53:33.073 error Error: read ECONNRESET helios.0 2886 2021-09-15 20:53:33.073 error Page: 2 helios.0 2886 2021-09-15 20:53:33.071 error Error: read ECONNRESET helios.0 2886 2021-09-15 20:53:33.071 error Page: 1
Die neu erstellten Objekte sind wie oben erwähnt noch falsch beschrieben bei "name":
... "name": "RW: 0=Aus, 2 = Stufig., 3 = Stufenlos", .... "max": 2 ...
korrekt müsste es meines Erachtens heißen:
"name": "RW: 0=Aus, 1 = Stufig., 2 = Stufenlos",
-
@mstrack Das gleiche bitte nochmal. Kannst du den interval auf 25sek stellen?
-
@tombox klasse, sieht gut aus, keine Errors mehr
Die beiden Objekte CO2-Steuerung_Status und VOC-Steuerung_Status sind jetzt auch korrekt.Allerdings kommt jetzt auf einmal die Warnung:
helios.0 2993 2021-09-15 21:38:54.708 warn State value to set for "helios.0.passive_aussenluftkuehlung" has value "2" greater than max "1"
Und beim Objekt Feuchte-Steuerung_Status steht noch:
"name": "RW: 1=RF, 2=Temp., 3=kombiniert",
müsste aber auch heißen:
"name": "RW: 0=Aus, 1 = Stufig., 2 = Stufenlos",
-
@mstrack Habe ich auch noch angepasst
-
@tombox jetzt funktioniert alles bestens. Respekt.
Es werden ja wirklich alle Daten ausgelesen.
Die Web-Oberfläche wird aber wirklich minimal langsamer bzw. reagiert etwas träge.
Vielleicht hast du eine Möglichkeit, die "unwichtigen Seiten" abwählbar zu machen bzw.
gar nicht mit aufzunehmen.
Ich bräuchte zum Beispiel die Informationen aus folgenden "Seiten" nicht:
inbetr.htm
fueh.htm
luft.htm
syst.htm
web.htm
tinfo.htm
woche.htmHat aber keine Eile..
Falls du irgendwelche andere Infos brauchst, helfe ich gern.
Nochmal 1000000x Danke.
-
@ritschy2000 Es wäre gut welche Werte in der jeweiligen XML stehen
1 bis 15
http://192.168.178.xxx/data/werte1.xml
http://192.168.178.xxx/data/werte15.xml
Dann könnte man manche vielleicht nur bei adapter start holen -
Ich hab da mal was vorbereitet.
Hoffe das hilft dir weiter?
Die Daten stammen aus meiner KWL EC 300W R, ich gehe aber davon aus, dass die IDs geräteübergreifend identisch sind.
Beachte, dass es mehr xmls gibt, als 1-15.Die Variablen selbst, deren Typen, Zugriffe, Bemerkungen, Gültigkeitsbereiche finden sich in einer Modbus-Doku von Helios. Das hier ist der Link dazu.
===============================
Zum Adapter: Finde ich toll, dass du dir die Mühe machst, danke!Bei mir werden einige Datenpunkte noch ohne Beschreibung angezeigt. Es erscheint nur die ID als Info, keine weiteren Informationen, aber es werden Werte dazu gelesen.
Außerdem kann ich einige Werte, die nur gelesen werden sollten (und auch so auf Seiten Helios definiert sind), auch schreiben. Beispielsweise die Drehzahl der Lüfter. Ich habs für die Drehzahl probiert, die Helios übernimmt die Änderungen nicht, da sollte am Ende kein Problem entstehen. Ausschließen würde ich es aber nicht, weswegen es gut wäre, wenn solche Werte im Adapter auch nicht ohne Weiteres geändert werden können.VG
-
@tombox moehre hat ja schon eine große Übersicht vorbereitet, folge xml Datein sehe ich als nicht so wichtig an:
inbetr.htm / werte1.xml Erstinbetriebnahme (muss nur 1x konfiguriert werden)
fueh.htm / werte14.xml Konfiguration der Fühler (muss nur 1x konfiguriert werden)
luft.htm / werte13.xml Voltzahl der Lüfter (muss nur 1x konfiguriert werden)
syst.htm / werte11.xml Uhrzeit / Betriebslaufzeit der Vorheizung ect. (eigentlich unwichtig)
web.htm / werte10.xml Netzwerkeinstellung (Ip, DNS, ect.) ( ändert sich eigentlich nicht)
tinfo.htm / werte7.xml Geräte Daten ( ändert sich nie)
woche.htm / werte9.xml Wochenprogramm ( Änderungen eh über die Web-Ui bzw. aus)Grüße
-
@ritschy2000 Ich habe die aus dem Interval Update entfernt sonder nur beim Start aktualisiert und auch als Option in die Einstellung hinzugefügt
-
@tombox Perfekt, Danke. habe es aktualisiert und es scheint alles zu funktionieren.
Die Auswahl der zu aktualisierenden Werte ist auch gut umgesetzt.Es wäre aber sinnvoll, wenn du auf GIT die Beschreibung, welche Nummer welche Bedeutung =
welche htm Seite es ist, einfügen könntest. Ich mache dir da gern in den nächsten Tage
noch eine Übersicht fertig. Dann kommen zukünftige Adapter-Nutzer auch damit zurecht. -
@ritschy2000 Ich habs erstmal nur in den ersten Beitrag eingefügt wenn du was fertig hast packe ich es in die readme und in die adapter einstellungen
-
@tombox sorry, bin nicht eher dazu gekommen:
1: Erstinbetriebnahme (inbetr.htm)
2:
3: Partybetrieb / Ruhemodus (party.htm + ruhe.htm)
4: Aktuelle Lüfterstufe / Modus (info.htm)
5: Nachheizung Profil (nachheiz.htm)
6: Urlaubsprogramm (urlaub.htm)
7: Geräte Daten / Seriennummer usw. (tinfo.htm)
8: Systemstatus (Betriebsart, Drehzahl Lüfter, aktuelle Temperaturen) (anzeig.htm)
9: Wochenprogramm (woche.htm)
10: Netzwerkeinstellung (Ip, DNS, ect.) (web.htm)
11: Uhrzeit / Betriebslaufzeit der Vorheizung ect. (syst.htm)
12: Gerätekonfiguration / Filterwechsel / Bypass steuern (gaer.htm)
13: Voltzahl der Lüfter (luft.htm)
14: Konfiguration der Fühler (fueh.htm)
15: Passwort ändern (lost.htm)
16: Fehler Übersicht (fehl.htm)
17:zur XML Seite 2 habe ich gar nichts gefunden ( wird auch bei moehre bei den ID's nicht
mit aufgeführt) und die eine ID bei Seite 17 wird nicht mal in der Modbus-Übersicht bei Helios
aufgeführt, daher weiß ich auch nicht, welchen Sinn die Seite hat. Die beiden Seiten könnten also auch mit aus dem automatischen Update.Theoretisch würden also folgende Seiten reichen, um alles über den Iobroker steuern zu können:
3, 4, 8, 12, 16
Vielleicht kannst du diese Auswahl gleich als "Standard" Einstellung nach der Adapter Installation setzten, dadurch wird die KWL auch nicht so träge.Wenn ich dir noch irgendwie helfen kann, gib ein Zeichen.
Gruß
-
@ritschy2000 Was denkt ihr ist die beste default update interval? 10sek oder 25?