NEWS
[gelöst] Skriptfehler nach iobroker Update
-
@ticaki hier noch mal von hc1, der Pfad sieht für mich vollständig aus:
javascript.0 ist die Instanz
-
@mwolle wo ist der knoten davor ??
km200: heatingCircuits.hc2.activeSwitchProgram
zeigmal das getState von dem Datenpunkt im Script.. oder zeig das Script mal
-
@arteck der ganze Pfad sieht so aus. Der Adapter liest zwei Geräte aus, die dann in separaten Pfaden da gestellt werden, EMS-ESP und km200
-
@mwolle sagte in Skriptfehler nach iobroker Update:
Der Adapter liest zwei Geräte aus,
zeigmal das Script
-
@arteck ist etwas unaufgeräumt...
//createState("javascript.0.Merker_Heizleistung", 0, { // name: "Merker_Heizleistung", // type: 'int' //}); on({ id: "javascript.0.minutenZwischenBrennerStarts", change: "ne" }, async function (obj) { var Element2 = (getState("javascript.0.Merker_Heizleistung").val); // var Element3; var Counterschleife = 0; var Leistungswert2 = 41; // (getState("km200.0.heatSources.actualModulation").val); var Heat_on = (getState("km200:heatSources.hs1.flameStatus").val); var WWtemperatur = (getState("ems-esp.0.dhwCircuits.dhw1.wwcurtemp").val); var Leistungswert = (getState("km200:heatSources.hs1.burnerModulationSetpoint").val); var Brennerstarts = (getState("javascript.0.minutenZwischenBrennerStarts").val); var actualPower = (getState("km200:heatSources.hs1.actualPower").val); // var Raumtemperatur = (getState("fritzdect.0.DECT_116300132384.celsius").val); // Weitere Prüfung auf Heizprogramm, Programm soll nur laufen, wenn Heizung aktiv ist var Zeit = new Date(); var Stunden = Zeit.getHours(); var Minuten = Zeit.getMinutes(); var Minuten_Tag = (Stunden * 60) + Minuten; var temp = 360; //Heizprogramm_E[703]; // 300 Minuten ab Mitternacht -> 5 Uhr var temp_2 = 1200; //Heizprogramm_E[45]; // 1200 Minuten ab Mitternacht -> 20 Uhr geht Heizung aus console.log(WWtemperatur); console.log(Leistungswert); console.log(actualPower); console.log(Leistungswert2); if (actualPower <= Leistungswert && actualPower <= Leistungswert2 && WWtemperatur < 41){ // Prüfen ob Leistung für Warmwasser ist //if (Heat_on == 0) { //Prüfen ob Heizung an ist //Counterschleife = 1; if (Minuten_Tag > temp && Minuten_Tag < temp_2) { Counterschleife = 1; // Prüfung, ob Heizung Taktet, wenn ja, Heizleistung um 2 verringern. if (Brennerstarts <= 30) { Element2 += 1; setState("javascript.0.Merker_Heizleistung", (Element2),true); Counterschleife = 2; } else { Element2 = 0; setState("javascript.0.Merker_Heizleistung", (Element2),true); Counterschleife = 3; } if (Element2 >= 2){ //setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 5, true); setState("km200:heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 1, true); setState("km200:heatingCircuits.hc1.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 1, true); Element2 = 0; setState("javascript.0.Merker_Heizleistung", (Element2),); Counterschleife = 4; sendTo("whatsapp-cmb", "send", { text: 'Heizung ausgeschaltet. Folgende Parameter:' + (Brennerstarts) +' Minuten Brennerstarts und ' + (actualPower) + ' Heizung an' }); } } // } } // console.log(Heat_on); // console.log(Minuten_Tag); // console.log(Leistungswert); // console.log(actualPower); // console.log(Brennerstarts); // console.log(Raumtemperatur); // console.log(Element2); // console.log(Element3); console.log(Counterschleife); }); // Wenn Raumtemperatur aber unter 20 Grad ist, Heizleistung erhöhen, // wenn Heizung taktet wird Heizleistung dennoch niedriger da Thermostate ausgedreht on({ id: "km200:heatingCircuits.hc2.roomtemperature", change: "ne" }, async function (obj) { // on({ // id: "fritzdect.0.DECT_116300132384.celsius", // change: "ne" // }, async function (obj) { // var Element2 = 1; var Counterschleife = 0; var Heat_on = (getState("km200.0.heatSources.hs1.flameStatus").val); // var Leistungswert = (getState("km200.0.heatSources.powerSetpoint").val); //var Brennerstarts = (getState("javascript.0.minutenZwischenBrennerStarts").val); var Raumtemperatur_Mila = (getState("fritzdect.0.DECT_116300142272.celsius").val); var Raumtemperatur2_Wohnz = (getState("km200:heatingCircuits.hc2.roomtemperature").val); var Aussentemp = (getState("km200:system.sensors.temperatures.outdoor_t1").val) // Weitere Prüfung auf Heizprogramm, Programm soll nur laufen, wenn Heizung aktiv ist var Zeit = new Date(); var Stunden = Zeit.getHours(); var Minuten = Zeit.getMinutes(); var Minuten_Tag = (Stunden * 60) + Minuten; //var Heizprogramm_E = (getState("km200.0.heatingCircuits.hc2.switchPrograms.E").val); // getState("von allen Heizprogrammen") -> später, erst mal das Programm nehmen, welches durchgängig an ist. // getState("km200.0.heatingCircuits.hc2.activeSwitchProgram") wir später benötigt, wenn andere Heizprogramme auch aktiviert sind var temp = 420; //Heizprogramm_E[703]; // 300 Minuten ab Mitternacht -> 5 Uhr var temp_2 = 1200; //Heizprogramm_E[45]; // 1200 Minuten ab Mitternacht -> 20 Uhr geht Heizung aus //if (Heat_on == 1) { // Counterschleife = 7; if (Minuten_Tag > temp && Minuten_Tag < temp_2) { Counterschleife = 5; if (Raumtemperatur_Mila <= 20 && Raumtemperatur2_Wohnz <= 18.5 || Raumtemperatur2_Wohnz <= 18.3 && Aussentemp <= 9 || Raumtemperatur2_Wohnz < 19.0 && Aussentemp > 9.1) { //setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 4, true); setState("km200:heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 0,true ); setState("km200:heatingCircuits.hc1.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 0,true ); Counterschleife = 6; sendTo("whatsapp-cmb", "send", { text: 'Heizung eingeschaltet.' + (Raumtemperatur_Mila)+ ' Raumtemperatur Mila und' + (Raumtemperatur2_Wohnz) +'Raumtemperatur Wohnzimmer' }); } } //} console.log(Heat_on); console.log(Minuten_Tag); console.log(temp); console.log(temp_2); //console.log(actualPower); //console.log(Leitungswert); console.log(Raumtemperatur_Mila); console.log(Raumtemperatur2_Wohnz); console.log(Counterschleife); }); //});
-
@mwolle sagte in Skriptfehler nach iobroker Update:
ems-esp.0.dhwCircuits.dhw1.wwcurtem
seh nur ich den nicht?
edit: ist ja nicht aufgeklappt, sorry
-
@mwolle sagte in Skriptfehler nach iobroker Update:
km200:
nicht km200: <-- doppelpunkt
sondern km200. <-- da muss ein Punkt hin
in Zeile 14, 16, 18, 54, 55,80, 93, 94,121, 122
und die insanznummer fehlt da auch
also alle km200: auf km200.0. ersetzen... wie in Zeile 13 steht
wenn du schon was Editierst dann achte drauf das du es richtig machst
-
@homoran das ist der hier:
die ID heißt so: ems-esp.0.dhwCircuits.dhw1.wwcurtemp
-
Ich bin echt gerade verwirrt...
lese bildet
-
@arteck ich habe die IDs einfach kopiert...der hat den Doppelpunkt im Bauch. Ich hatte den Datenbaum gelöscht und noch mal neu aufbauen lassen, da ich den Heizungsregler neu getauscht hatte.
-
Du hast noch kein Bild gezeigt wo der gesamte Pfad über km200: bis zum Enddatenpunkt zu sehen ist
sowas z.B.
Edit: da könnt ich mal all die ungenutzen States löschen
-
@mwolle sagte in Skriptfehler nach iobroker Update:
ich habe die IDs einfach kopiert.
never... es gibt keinen Datenbaum mit : im object..dann bist du auf caps lock gekommen.. und so ist der : reingekommen anstatt .
ist der gleiche knopp
-
@arteck ja du hast absolut recht...ich habe den Namen kopiert und nicht die ID...der Name der ID ist dann km200:XXX, die ID ist dann richtigerweise ems-esp.0.XXX...