NEWS
Neuer Adapter: ioBroker.stiebel-lwz / ioBroker.stiebel-isg
-
Hallo,
hat schon irgendwer die ISG Version 8.5.0 auf seinem ISG?
Gibt es damit Probleme oder geht alles?
Ich hab nämlich noch die 8.2.0 und dort funktioniert alles, ich muss aber jetzt (damit Stiebel auf die Anlage kommt, da es ein technisches Problem gibt) auf die 8.5.0 updaten.Danke im Voraus.
-
Ich habe Version 10.0.1, läuft seit längerem tadellos.
-
Super, danke für die Info.
-
Hallo Michael,
ich habe meine Scripte jetzt endlich umgestellt. Hat leider länger gedauert als gedacht, da wenig Zeit. Es funktioniert alles super.
Jedoch kann es bei mir vorkommen, dass ich auf einmal mehr als 5 Parameter ändern muss. Damit versuche ich einen Heizungstart zu erzwingen. Zu dieser Zeit und auch zu anderen Zeiten, wenn viele Werte geändert werden, bekomme ich die nachfolgenden Errors.Ich vermute, dass das ISG zu dieser Zeit überfordert ist. Kann es sein, dass du jede Änderung einzeln versuchst zu bearbeiten und damit das ISG überfordert ist? Wenn ja, würde ich den Vorschlag machen, gewisse Änderungen von Werten in einer Zeit zu sammeln und dann gemeinsam zu übertragen. Evtl. kann ja auch nur das Einlesen aller Werte nach einer Wertänderung gebündelt werden.
Vielen Dank für Rückmeldung.Jörg
P.s.: Ich bin die nächsten Wochen unterwegs und kann leider nichts testen.
-
@JB_Mystery
Versuchen ist relativ. Das ISG macht es nicht anders. Aber ich hab eine Idee. Momentan werden alle Werte nach jedem Speichern abgerufen. Entweder ich schränke den Abrufintervall ein oder ich versuche nur die Seite abzurufen, auf der die Änderung angezeigt wird. Da es keine API gibt, kann ich das nicht anders lösen. -
@JB_Mystery
Hallo Jörg,
ich habe jetzt eine 10 Sekunden-Verzögerung vor das Neuladen der Einstellungen gesetzt. Diese wird bei jedem neuen Befehl zurückgesetzt. Also solltest du alle Befehle senden können und nach 10 Sekunden werden dann einmalig alle Einstellungen neugeladen anstatt pro Befehl einmal. Das sollte erhebliche Verbesserung bei deinem Problem bringen. Falls es an einer Überlastung liegen sollte. Evtl. kannst du auch eine Sekunde Pause zwischen den Befehlen setzen?Welche Befehle sind das denn um den Heizungsstart zu erzwingen? Es sollte doch schon reichen das Warmwasser auf Maximum zu setzen, sofern das mehr als 3 Grad (Standard Hysterese-Wert?) liegt und der Verdichter eine Zeit lang nicht gelaufen ist.
Gib bitte kurz Rückmeldung, ob es klappt oder evtl. sogar neue Probleme gibt, dann kann ich die Versionsnummer erhöhen.
-
Hallo Michael,
der Fehler besteht leider immer noch. Wie wird denn der Error Null erzeugt?
Habe bei mir nochmals nachgeschaut. Ich versuche vor einem definierten WW-Bedarf (Sonnenpeak) einen Heizbedarf herraus zu fordern. Dazu passe ich die folgenden Werte an, wenn sie nicht schon so stehen (Hysteresen verkleinern, Fusspunkt nach oben und Pumpenzyklen auf max). Dadurch wird ein Überprüfen auf Heizbedarf erzeugt. Hintergrund ist der, dass ich die Verdichterstarts reduzieren will. Wenn vor einem WW-Betrieb ein Heizbetrieb war, wird dieser danach nahtlos weitergeführt ohne den Verdichter neu zu starten.if (getState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val162").val != Hys1 - 0.5) setState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val162", Hys1 - 0.5); if (getState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val163").val != Hys2 - 0.5) setState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val162", Hys2 - 0.5); if (getState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val167").val != Asym) setState("stiebel-isg.0.Einstellungen.HEIZEN.HYSTERESEN.val162", Asym); if (getState("stiebel-isg.0.Einstellungen.HEIZEN.HEIZKURVE HK1.val16").val != Fusspunkt + 1) setState("stiebel-isg.0.Einstellungen.HEIZEN.HEIZKURVE HK1.val16", Fusspunkt + 1); if (getState("stiebel-isg.0.Einstellungen.FACHMANN.PUMPENZYKLEN.val154").val != Pumpemax) setState("stiebel-isg.0.Einstellungen.FACHMANN.PUMPENZYKLEN.val154", Pumpemax);
Nach dem Überprüfen, zum WW-Betrieb, mache ich diese Anpassung wieder Rückgängig und zusätzlich natürlich noch die WW-Werte.
if (getState("stiebel-isg.0.Einstellungen.WARMWASSER.WW-TEMPERATUREN.val161").val != WWTemp) setState("stiebel-isg.0.Einstellungen.WARMWASSER.WW-TEMPERATUREN.val161", WWTemp); if (getState("stiebel-isg.0.Einstellungen.WARMWASSER.GRUNDEINSTELLUNG.val60").val != WWHysmax) setState("stiebel-isg.0.Einstellungen.WARMWASSER.GRUNDEINSTELLUNG.val60", WWHysmax);
Ansonsten habe ich aber keine Probleme feststellen können. Ich war jetzt auch nur 2 Tage zuhause zum Testen und bin jetzt erst wieder ab Mai zum Testen bereit. Sorry dafür.
Evtl. hast du ja weitere Ideen woran diese Errors liegen können. Vielen Dank schonmal. -
Also ich vermute, dass es an zu vielen gleichzeitigen Aufrufen liegt. Die Werte können nur einzeln geschrieben werden, das lässt sich leider nicht anders lösen. Du könntest vllt. eine kurze Wartezeit einbauen. Vllt. 1-2 Sekunden. Im Moment rufst du im Prinzip 5 mal gleichzeitg das PHP-Skript auf und willst die Werte schreiben.
-
Damals habe ich dies so gemacht und da schreibt man meiner Meinung nach mehrere Werte gleichzeitig ins ISG (kann mich aber auch irren):
sendRequest2ISG('data=[{"name":"val154","value":"' + parseFloat(Pumpemax) + '"},{"name":"val162","value":"' + parseFloat(Hys1 - 0.5) + '"},{"name":"val163","value":"' + parseFloat(Hys2 - 0.5) + '"},{"name":"val167","value":"' + parseFloat(Asym) + '"},{"name":"val16","value":"' + parseFloat(Fusspunkt + 1) + '"}]');
oder so:
var Daten = "data=["; Daten += '{"name":"val161","value":"42"}'; Daten += ',{"name":"val162","value":"' + parseFloat(Hys1) + '"},{"name":"val163","value":"' + parseFloat(Hys2) + '"},{"name":"val167","value":"' + parseFloat(Asym) + '"},{"name":"val16","value":"' + parseFloat(Fusspunkt + 0.5) + '"}'; Daten += ',{"name":"val154","value":"' + parseFloat(Pumpe) + '"},{"name":"val60","value":"2,5"}]'; sendRequest2ISG(Daten);
mit dieser Funktion:
function sendRequest2ISG(data) { var request = require('request'); request.post( { url: 'http://x.x.x.x/save.php', form: data }, function(error, response, body) { if (!error && response.statusCode === 200) console.log("ISG response: " + JSON.stringify(body)); else { console.log("error during ISG request: " + error); console.log("response.statusCode: " + response.statusCode); console.log("response.statusText: " + response.statusText); } }); }
Kannst es dir ja nochmals anschauen. Wenn du bei deinem Adapter keine andere Möglichkeit siehst, dann werde ich mein Schreiben der Werte natürlich verzögern.
Ab jetzt geht's im Mai weiter. -
@JB_Mystery
Habe gerade eine neue Version eingestellt. (1.4.4)
Jetzt werden Befehle für 5 Sekunden gesammelt und dann gemeinsam an das ISG übermittelt, außerdem werden die Fehler jetzt besser geloggt. Habe deinen Code fürs Logging als Vorlage verwendet. -
@unltdnetworx
Habe deine neue Version jetzt seit ein paar Tagen am laufen und es sind keine Meldungen mehr aufgetaucht. Ich denke du kannst es so veröffentlichen. Da ich mir aber auch die Logs etwas angeschaut habe, habe ich die Aktualisierungsrate doch auch etwas nach oben gesetzt. Dies hilft auch und stört mich nicht. Es war echt dauerhaft traffic zum ISG.
Noch etwas in anderer Sache: Der Code ist nicht von mir, sondern er stammt von den ersten Scriptversuchen zum ISG. Den Autor kann ich gerade aber nicht mehr nennen.
Vielen Dank für die Anpassungen. -
@JB_Mystery
Super, vielen Dank für die Rückmeldung. -
Bei mir taucht kein Betriebsstatus für Kühlung in iobroker auf.
Wird der noch nicht abgefragt ?
-
@Qlink
Kannst du mir von der Weboberfläche des ISG einen Screenshot schicken? Ich habe leider keine Kühlung und kann daher nicht nachvollziehen, wie ich diesen Wert abfragen muss. -
Das ist ja genau das Problem an den Betriebsstati.
Diese werden traurigerweise im WebUI des ISG gar nicht angezeigt.Ich kann nicht sehen, ob gerade die Heizung läuft, ob Warmwasser aufgeheizt wird oder ob die Kühlung läuft.
Mein einziger Indikator ist aktuell die Symbolanzeige an meiner FES Komfort:
Da werden mir dann entsprechend die Symbole angezeigt, falls gerade geheizt, gekühlt, etc. wird:
Der Status müsste also genau so abfragbar sein wie Heizen. Im WebUI sehe ich dazu aber wie gesagt leider auch nix.
-
@Qlink
Wenn ich das richtig im Kopf habe, wird das schon angezeigt. Aber nur im Betrieb. Das ganze ist auf der Startseite zu finden. Ein Eintrag mit einem Punkt davor glaub ich. -
Wenn ich mich da kurz einklinken darf:
Es wird schon angezeigt unter Diagnose-Status am ISG.
Und im IOBroker sieht man den Datenpunkt erst wenn es im ISG auch einmal aufgetaucht ist.Hier ein Beispiel:
Das steht im ISG:
Den Datenpunkt Filterwechsel hatte ich Monate nicht im Iobroker, jetzt steht er aber drin,
weil es im ISG einmal aufgetaucht ist: -
ahh okay, d.h. ich muss noch ein paar Wochen warten bis sich die Kühlung mal aktiviert und dann sollte ich den Status auch in iobroker haben richtig ?
Wie ist das mit der Lüftungsstufe ?
Ich würde mir gerne in VIS anzeigen, welche Lüftungsstufe gerade aktiv ist. (also ob Stufe 1, 2 oder 3)
Und später eventuell auch mal steuerbar machen über vis ...Ich kann dazu aber auch keinen passenden Status finden.
Nur die Volumenströme:
oder sollte die Stufe bei "Lueften" angezeigt werden ? Hier wird mir aber gar kein Wert angezeigt, obwohl aktuell gerade die Stufe 1 aktiv ist ...
-
Genau so ist es.
Und die Lüftungsstufen findest du unter Einstellungen - Lüften - Lüftungsstufen: -
ja, das hab ich auch gefunden.
Da sehe ich aber nur welche Stufen ich eingestellt habe.Ich hätte gerne den Status, welche Stufe gerade jetzt (also live) aktiv ist ...