NEWS
Test Adapter weishaupt WEM Portal v0.0.x
-
@tombox
Ich muss aber bei den normalen Befehlen für die Temperatur auch 205 oder 215 eingeben. Ansonsten funktioniert es nicht.Ok, ich werde das mit dem forken mal versuchen.
Wie gesagt, ein großer Grundstein ist ja schon gelegt. Vielen Dank nochmal dafür.
-
@Sp0b1e Bei mir geht 21.5 du darfst nur kein Komma verwenden.
-
@tombox
Ich habe mir den Code mal etwas detaillierter angesehen und verstehe den Ablauf und die Befehle grundsätzlich. Das Einzige bei dem ich Verständnisprobleme habe, ist der Login und das wechseln auf die Fachmannseite. Entsprechend finde ich gerade auch keine Lösung auf die anderen Untermenüs zu gelangen. Dazu fehlt mir einfach die Erfahrung in JS und Java ist auch schon etwas länger her...
Kannst du hier vielleicht eine kleine Funktion bereit stellen, die in die entsprechenden Untermenüs wie "Systembetreibsart", "Heizkreis", "Warmwasser", etc.. wechselt? -
@Sp0b1e du brauchst nur __EVENTTARGET und __EVENTARGUMENT das kannst du mit einem proxy wie charles oder mitm proxy oder in dem network von der chrome dev console.
Heizkrei ist zb
__EVENTTARGET: ctl00$rdMain$C$controlExtension$iconMenu$rmMenuLayer
__EVENTARGUMENT: 2 -
Der Adapter ist ja sehr interessant, habe ich schon lange gesucht.
Ist es möglich, über ioBroker die Vorlauftemperatur des Brennwertkessels zu
verändern, so ca. +- 10K zusätzlich zur bestehenden Aussentemperatur-Führung?Ich möchte damit die Leistung über die bereits installierte Einzelraumregelung
entsprechend dem Bedarf korrigieren. -
@hanss
Du kannst nur die Parameter ändern, die Du auch im Wem-Portal ändern kannst. Würde mich wundern, wenn Du die Vorlauf Solltemperatur direkt einstellen könntest. Du kannst die Raumsolltemperaturen oder die Heizkurve anpassen.... -
@Tg-71
Wenn man die Raumsolltemperatur ändern kann, dann wäre das doch was ich brauche:
Raumsolltemperatur +1K entspricht doch Vorlaufsolltemperatur +2K oder nicht? -
@Tg-71
@hanss
Ich kann bei mir die Anforderung unter Heizkreis auf Festwert stellen. Dann kann ich direkt den Sollwert für die Vorlauftemperatur vorgeben. Diese ist dann aber nicht mehr abhängig von der Witterung.
Ich kann aber auch eine Anforderungsüberhöhung zwischen +-5K im witterungsgeführten Betreibsmodus vorgeben. Das wäre in Grunde genau das was du suchst.
Ich habe ein Split-Wärmepumpe, vielleicht gibt es die Einstellungen bei deinem Bennwertkessel auch....
-
@Sp0b1e
Vielen Dank, aber die Möglichkeiten der Einstellung sind natürlich abhängig von der Steuerung/Regelung
mit der man es zu tun hat. In meinem Fall benötige ich die Info für die Weishaupt WTC 15A. -
@tombox said in Test Adapter weishaupt WEM Portal v0.0.x:
@Sp0b1e du brauchst nur __EVENTTARGET und __EVENTARGUMENT das kannst du mit einem proxy wie charles oder mitm proxy oder in dem network von der chrome dev console.
Heizkrei ist zb
__EVENTTARGET: ctl00$rdMain$C$controlExtension$iconMenu$rmMenuLayer
__EVENTARGUMENT: 2Ja ich hatte __EVENTTARGET und __EVENTARGUMENT schon mit der chrom dec console ausgelesen. Bin aber noch zu keinem funktionierenden Ergebnis gekommen. Du hattest noch den "ClientState" gesetzt, muss ich das beim Wechseln ins Untermenü auch setzt?
Ich hatte versucht mit deiner switchFachmann()-Funktion im normalen Benutzermodus auf das Untermenü Heizkreis zuzugreifen, indem ich das von dir definierte __EVENTTARGET und __EVENTARGUMENT mit den ausgelesenen Werten ersetzt habe.
//form["__EVENTTARGET"] = "ctl00$SubMenuControl1$subMenu"; //form["__EVENTARGUMENT"] = "3"; //form["ctl00_SubMenuControl1_subMenu_ClientState"] = '{"logEntries":[{"Type":3},{"Type":1,"Index":"0","Data":{"text":"Übersicht","value":"110"}},{"Type":1,"Index":"1","Data":{"text":"Anlage:","value":""}},{"Type":1,"Index":"2","Data":{"text":"Benutzer","value":"222"}},{"Type":1,"Index":"3","Data":{"text":"Fachmann","value":"223","selected":true}},{"Type":1,"Index":"4","Data":{"text":"Statistik","value":"225"}},{"Type":1,"Index":"5","Data":{"text":"Datenlogger","value":"224"}}],"selectedItemIndex":"3"}' form["__EVENTTARGET"] = "ctl00$rdMain$C$controlExtension$iconMenu$rmMenuLayer"; form["__EVENTARGUMENT"] = "2"; form["ctl00_rdMain_C_controlExtension_iconMenu_rmMenuLayer_ClientState"] = '{"logEntries":[],"selectedItemIndex":"2"}'
Leider geht es wohl nicht so einfach oder ich habe einen Denkfehler. Ich bin mit der Syntax auch nicht wirklich vertraut.
Ergbniss ist, dass in den logs im ioBroker der body als debug-Information ausgeworfen wird... -
@Sp0b1e Ich habe . mir das mal kurz angeschaut und sieht soweit gut aus er liefert direkt die html datei mit den werten man müsste jetze direkt danach
for (const dataCell of dom.window.document.querySelectorAll(".simpleDataIconCell")) {
ausführen um die werte abzugreifen.
Bzw es gibt dann kein
if (body.indexOf('Object moved to <a href="https://www.wemportal.com/Web/Default.aspx"') !== -1) {
mehr das resolve muss also davor passieren.
Es wäre besser wenn man followAllRedirects: false auf true setzen und dann ist auch bei switch auf fachmann gleich der body mit den inhalten da und muss nicht erst nochmal in getStatus requested werden. dem getStatus könnte man den jeweiligen body übergeben.
-
Kleiner Bug
Bei mir läuft der Adapter jetzt seit drei Wochen problemlos. Ich logge die relevanten Daten mit und sehe dass diese korrekt sind. Auch habe ich eine Vis erstellt, so dass man jetzt vom Wohnzimmer die Heizung steuern kann ohne in den Keller gehen zu müssen.
Einen kleinen Fehler habe ich gefunden, über dessen Korrektur ich mich freuen würde:
Unter "Status" wird der Status des Warmwassers (müsste eigentlich bei StatusWW erscheinen) angezeigt. Es wäre schön, wenn der Status der Heizung (Zeitprogramm/Absenk/Normal/Komfort) dort und der WW Status unter der entsprechenden Rubrik (Status WW) angezeigt würde.
@tombox wenn Du dazu nochmal einen Zugang zu meinem System brauchst, stelle ich diesen gerne her. -
@Olivbus Werden diese Information auf der Fachmann Seite angezeigt?
-
@tombox Ja, ich glaube der eine Wert ist im Adapter vertauscht und der andere nicht angelegt. Kann das sein?
-
@Olivbus Aber ich sehe diese Werte nicht auf der Infoseite von Fachmann hast du ein Screenshot?
-
@tombox ![Bild Text](Bild Link)
-
@Olivbus Ich habe mal versucht in der neusten Version das Problem zu lösen in dem ich die Status durchnummeriere
-
@tombox Habe die neue Version geladen, sehe aber keinen Unterschied bei "Status" und "StatusWW". Bei Betriebsart erscheint jetzt eine Zahl hinter Zeitprogramm 1?
-
@Olivbus Du müsstest jetzt ein Feld Status0 und Status1 haben.
-
@tombox Seit dem Update wird in meinem Log jede Minute folgende angezeigt:
history.0 2019-12-09 11:05:32.562 info (4210) enabled logging of weishaupt-wem.3.Im Strasse.WarmwassertemperaturAktuell, Alias=false
Und das von allen Werten die ich logge. Hat das mit dem Update zu tun?
Die Felder Status0 und 1 sehe ich nicht