@lucky_esa
Das war die Lösung, jetzt funktioniert's !
Danke.
NEWS
Best posts made by io2345
-
RE: Test Adapter LG ThinQ v0.0.1
-
RE: Test ViessmannAPI v2.0.0
@ilovegym
Na ja, ein Restrisiko besteht natürlich weiterhin. Solange man sein Gerät nicht aus der Tuya-Cloud befreit, ist man mit einer Steckdose aber weiterhin von einem Provider abhängig.
Über die Viessmann API hätte halt den Charme, dass man nicht noch ein weiteres Gerät haben muss und wäre somit meine favorisierte Lösung.Der Wassermelder läuft im Übrigen mit einer Batterie (vermutlich alle haben eine)
==========================
Update: Dank eines Hinweises auf "rustimation.eu" habe ich es jetzt für mich zufriedenstellend hinbekommen. Die Abschaltung ist zwar nicht 100%ig, da zumindest bei Frostgefahr in der Anlage diese sich wieder aktivieren würde. Aber eine Zeitlang wäre zumindest "aus" und somit ausreichend Gelegenheit, zu reagieren.
Script hierzu://Bei Wasser am Sensor neben dem Primärwärmetauscher wird die //Wärmepumpe abgeschalten. Zum Einschalten in der Steuerung der WP //die Betriebsart "Warmwasser, Heizen und Kühlen" einstellen oder Datenpunkt //"viessmannapi.0.133000.0.features.heating.circuits.1.operating.modes.active.commands.setMode.setValue" //auf "dhwAndHeatingCooling" setzen on({ id: [].concat(['tuya.0.bf709929d1fb102bc7am0v.1'/*watersensor state*/]), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == false) { setState('viessmannapi.0.133000.0.features.heating.circuits.1.operating.modes.active.commands.setMode.setValue', "standby"); sendTo("email", "send", { text: 'Heizung Alarm. Leckage an Primärpumpe oder Heizung?', to: '<deineMailAdresse>@<provider.com>', subject: 'Alarm Heizung Leckage', from: '<deineMailAdresse>@<provider.com>' }); } });
-
RE: Test ViessmannAPI v2.0.0
@io2345 said in Test ViessmannAPI v2.0.0:
Zur Info, nicht dass andere sich wundern: Das Zirkulationspumpenscript (fünf Posts weiter oben) bringt mittlerweile nicht mehr den gewünschten Effekt, warum auch immer.
Mit
pump_on = '{"mon":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"tue":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"wed":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"thu":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"fri":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"sat":[{"start":"00:00","end":"23:59","mode":"on","position":0}],"sun":[{"start":"00:00","end":"23:59","mode":"on","position":0}]}' setState('viessmannapi.0.133000.0.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue', JSON.parse(pump_on));
kann ich den setValue-Datenpunkt zwar beschreiben, die Zirkulationspumpe startet jedoch nicht (zumindest bei mir). Den Grund hierfür kenne ich noch nicht, wollte aber die Info weitergeben.
Latest posts made by io2345
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr Ein weiser Mann sagte mal "Mach es richtig, dann läuft es auch". Und so war es auch.
Ich hatte zwar Option 2 gewählt und - statt neue Datenpunkte anzulegen - die bisherigen aus dem alten Script weiterverwendet. Aber ansonsten keine Probleme. -
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr
Könnte es das sein?: -
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr
Die Logeinträge sind gekommen, bevor ich die Zeilen auskommentiert hatte.Ich lass einfach das alte Script, solange "request" noch funktioniert. Manchmal muss man einfach pragmatisch sein.
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr
Na, da gibt's halt nicht viel zu zeigen. Ist dein komplettes Script ohne die beiden besprochenen Blöcke:// Photovoltaik: Piko 5.5 Anlage (alte Firmware) // Danke an homoran für den regex // @bahnuhr; 03/2019 Dieter Müller //Variaben var idaktuell = 'javascript.0.Geräte.Photovoltaik.2012_Leistung_alt_aktuell'; var idTag = 'javascript.0.Geräte.Photovoltaik.2012_Tagesleistung'; var idall = 'javascript.0.Geräte.Photovoltaik.2012_Leistung_alt_gesamt'; var idP1 = 'javascript.0.Geräte.Photovoltaik.2012_Leistung_Strang1'; var idP2 = 'javascript.0.Geräte.Photovoltaik.2012_Leistung_Strang2'; var NameAnlage = 'pvserver'; // Nutzername der Photovoltaik-Anlage var PassAnlage = 'pvwr'; // Password der Photovoltaik-Anlage var IPAnlage = '192.168.0.20'; // IP der Photovoltaik-Anlage var logging = false; function Piko() { // log("Piko 5.5 auslesen"); var results = []; httpGet('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, { timeout: 10000, responseType: 'document' }, (err, response) => { if (err) { if (err.indexOf("size of -1") != -1) { log (err,"info"); } else { console.error(err); } } else { var d = (response.data).toString(); if (logging) log (d); var reg = /#FFFFFF">[^\d]+([^<]+)/g var z = reg.exec(d); while(z != null) { if (isNaN(z[1])) { if (logging) log("keine Zahl= "+ z[1]); z[1] = 0; } else { if (logging) log("Zahl= "+ z[1]); parseFloat(z[1]); } results[results.length] = z[1]; z = reg.exec(d); } if (logging) log("results= "+ results); // Werte zuordnen var pwr = results[0]; // Energie aktuell in W var day = results[2]; // Tagesenergie in kWh var all = results[1]; // Gesamtenergie in kWh var v1 = results[3]; // PV Generator Nr. 1 - Spannung in V var i1 = results[5]; // PV Generator Nr. 1 - Strom in A var p1 = parseInt(v1 * i1); var v2 = results[7]; // PV Generator Nr. 2 - Spannung in V var i2 = results[9]; // PV Generator Nr. 2 - Strom in A var p2 = parseInt(v2 * i2); // geändert: in pwr wird die aktuelle Energie angezeigt; dies passt aber nicht mit p1 + p2 überein. // vermutlich wird die W des Wechselrichters abgezogen. neu habe ich nun pwr = p1 + p2 pwr = p1 + p2; // if (logging) log("aktuell -> Leistung aktuell= " + pwr + " W // Tagesleistung= " + day + " kWh // Leistung alt gesamt= " + all + " kWh // Leistung Strang 1= " + p1 + " W // Leistung Strang 2= " + p2 + " W"); // setState(idaktuell, parseFloat(pwr)); // setState(idTag, parseFloat(day)); // setState(idall, parseFloat(all)); // setState(idP1, parseFloat(p1)); // setState(idP2, parseFloat(p2)); } }); } schedule('5 * * * * *', function () { //log ("Auslöser: Schedule"); Piko(); }); /* schedule("3 0 * * *", function () { // Variablen löschen um 00:03 Uhr setState('javascript.0.Geräte.Photovoltaik.2012_Tagesleistung', 0); }); */ //Piko();
Und wenn der Text im Script-Log gelb ist und davor "warn" steht (die fünf unteren Zeilen), ist es keine Info - oder irre ich?
javascript.0 17:37:15.385 info Start JavaScript script.js.common.Kostal_Piko_55_WR_auslesen_neu (Javascript/js) javascript.0 17:37:15.394 info script.js.common.Kostal_Piko_55_WR_auslesen_neu: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 17:38:05.539 warn at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:66:9) javascript.0 17:38:05.540 warn at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:67:9) javascript.0 17:38:05.541 warn at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:68:9) javascript.0 17:38:05.541 warn at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:69:9) javascript.0 17:38:05.541 warn at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:70:9)
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr
Danke für Info.
Das musste auch noch raus, sonst kommt minütlich eine Warnung:// if (logging) log("aktuell -> Leistung aktuell= " + pwr + " W // Tagesleistung= " + day + " kWh // Leistung alt gesamt= " + all + " kWh // Leistung Strang 1= " + p1 + " W // Leistung Strang 2= " + p2 + " W"); // setState(idaktuell, parseFloat(pwr)); // setState(idTag, parseFloat(day)); // setState(idall, parseFloat(all)); // setState(idP1, parseFloat(p1)); // setState(idP2, parseFloat(p2));
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@homoran Ah, sorry, gestern war Kindergeburtstag.
Ja, genau, die obere Leerzeile habe ich natürlich weggelassen. Ansonsten Script komplett kopiert und nur die drei Werte Name, Passwort und IP befüllt.
Das Script startet, nach 37 Sekunden kommt die Meldung das erste Mal, dann jede Minute.16.11.2024, 08:22:28.236 [info ]: javascript.0 (1210) Start JavaScript script.js.common.Kostal_Piko_55_WR_auslesen_neu (Javascript/js) 16.11.2024, 08:22:28.248 [info ]: javascript.0 (1210) script.js.common.Kostal_Piko_55_WR_auslesen_neu: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions 16.11.2024, 08:23:05.336 [error]: javascript.0 (1210) at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:60:25) 16.11.2024, 08:24:05.544 [error]: javascript.0 (1210) at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:60:25) 16.11.2024, 08:25:05.544 [error]: javascript.0 (1210) at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:60:25)
...und natürlich hatte ich als Erstes versucht, nur den Block "function Piko()" auszutauschen. Da kommt dann ein anderer Fehler.
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@bahnuhr
Danke für das angepasste Script. Habe ich so bei mir reinkopiert und nur die drei Variablen mit "Anlage" im Namen korrigiert. Aber jede Minute kommt nun die Meldung*javascript.0 15:53:05.603 error at Object.<anonymous> (script.js.common.Kostal_Piko_55_WR_auslesen_neu:60:25)*
In Zeile 60 ist das Zeichen 25 das Leerzeichen zwischen & und pwr.
*...if (Zeit1 && pwr == 0...*
Kapier ich nicht, was da das Problem sein soll.
-
RE: Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
@homoran Seit kurzem kommt regelmäßig folgende Meldung bei diesem Script:
"request package is deprecated - please use httpGet (or a stable lib like axios) instead"
Weiß einer der Nutzer, wie das anzupassen wäre? Ich vermute mal schwer, es geht um den Abschnitt, der mitrequest('http://' + NameAnlage + ':' + PassAnla...
beginnt. Aber was man da jetzt genau ändern müsste ???
-
RE: Backitup Error
@codierknecht OK, habe gesehen, dass es unter dem genannten Link ein Kapitel gibt "Warnungen / Fehlermeldungen bzgl. nicht gestarteter Services beheben". Da kann ich mich mal dran versuchen.
Backup wird jede Nacht erstellt, ist also aktuell. Einfach in einen neuen Container einspielen?
Witzig, das heißt LXC. Ich hatte es als LXCI gelesen, dabei ist das kein großes i sondern ein kleines L. Sorry für meine Unwissenheit...
-
RE: Backitup Error
@thomas-braun Puhh, verstehe leider nix. Was ist LXCI ? Und in welcher Abteilung kann ich jemand was dazu fragen?