NEWS
[gelöst] Bug - Script wird ausgeführt, obwohl deaktiviert
-
Noch ein möglicher Bug.
Habe folgendes Script, an dem ich momentan am probieren bin (weil "cheerio" seit update nicht mehr läuft).
/* Photovoltaik: Piko 5.5 Anlage Diese Script stammt aus dem Homematic Forum. Von wem weiß ich nicht mehr. Lief bei mir als ccu.io.Script einwandfrei. Dieses Script habe ich nun auf iobroker umgeschrieben. @bahnuhr 02.01.2017 Dieter Müller */ //Variaben var idaktuell = 'javascript.0.Status.Photovoltaik.Leistung_aktuell'; var idTag = 'javascript.0.Status.Photovoltaik.Tagesleistung'; var idall = 'javascript.0.Status.Photovoltaik.Leistung_gesamt'; var idP1 = 'javascript.0.Status.Photovoltaik.Leistung_Strang1'; var idP2 = 'javascript.0.Status.Photovoltaik.Leistung_Strang2'; var NameAnlage = 'SN-Login'; // Nutzername der Photovoltaik-Anlage var PassAnlage = 'WGrZMkb'; // Password der Photovoltaik-Anlage var IPAnlage = '192.168.243.75'; // IP der Photovoltaik-Anlage var logging = true; Piko(); function Piko() { var cheerio = require('cheerio'); var request = require('request'); if (logging) log("Piko 5.5 auslesen"); //http://SN-Login:WGrZMkb@192.168.243.75 request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) { //log ("response= " + JSON.stringify(response)); log ("body=" + body); a = JSON.stringify(response); var d = a.split('>\r\n')[6]; //log (d); //var d = $("td"); //log (cheerio.load(body)); //var pwr = parseFloat(d.eq(14).text().trim()); // Energie aktuell in W //if(d) log ("d= " + JSON.stringify(d)); //var neu = JSON.parse(body); //log (d); //neu = $('li').slice(1).eq(0).text() //log (neu); //log ("neu = " + neu); //var t = neu.indexOf("Gesamtenergie"); //log ("t = " + t); // var d = $("td"); // log ("d= " + d); //var n = t.indexOf("Gesamtenergie"); //log ("d= " + d); //if(d) log ("d= " + JSON.stringify(d)); //log (d.eq(14).toString.trim()); //var pwr = $("td:eq(14)"); //log ("pwr = " + pwr.eq(14)); //$("p:eq(14)") // var pwr = parseFloat(d.eq(14).text().trim()); // Energie aktuell in W /* var day = parseFloat(d.eq(26).text().trim()); // Tagesenergie in kWh var all = parseFloat(d.eq(17).text().trim()); // Gesamtenergie in kWh var v1 = d.eq(56).text().trim(); // PV Generator Nr. 1 - Spannung in V var i1 = d.eq(65).text().trim(); // PV Generator Nr. 1 - Strom in A var p1 = parseInt(v1 * i1); var v2 = d.eq(82).text().trim(); // PV Generator Nr. 1 - Spannung in V var i2 = d.eq(91).text().trim(); // PV Generator Nr. 1 - Strom in A var p2 = parseInt(v2 * i2); if (isNaN(pwr)) pwr = 0; if (isNaN(p1)) p1 = 0; if (isNaN(p2)) p2 = 0; */ // if (logging) log("Leistung aktuell= " + pwr); /* if (logging) log("Tagesleistung= " + day); if (logging) log("Leistung gesamt= " + all); if (logging) log("Leistung Strang 1= " + p1); if (logging) log("Leistung Strang 2= " + p2); setState(idaktuell, pwr); setState(idTag, day); setState(idall, all); setState(idP1, p1); setState(idP2, p2); */ }); } schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () { log ("Auslöser: Schedule"); Piko(); }); schedule("3 0 * * *", function () { // Variablen löschen um 00:03 Uhr setState('javascript.0.Status.Photovoltaik.Tagesleistung', 0); });Das Script ist deaktiviert!

Lt. Log wird es aber trotzdem ausgeführt:

Frage:
Warum wird das Script ausgeführt obwohl es doch deaktiviert ist ? -
zumindest war die logik bis letzte Woche (vor dem update) so.
-> Das Script läuft doch nur wenn es links auch eingeschaltet wird <-
Und oben steht ja auch, dass es aus ist.
Aber trotzdem läuft es. -
Im script steht etwa von javascript.0 und im log javascript.1.
Hast du den Adapter mal neu gestartet? -
Eigentlich nicht; aber mach ich mal.
-
Ach ne.
Im Script speichert er die Variablen in "javascript.0"
aber das Script läuft doch auf Instanz 1.
(siehe oben). -

-
@bahnuhr
Das ist jetzt mal ein etwas größerer Ausschnitt.
Aber warum so geizig mit Übersicht?Ist es genau der Pfad, der im log angegeben wird?
- kann man auch jetzt noch nicht sehen
Was sagt das log denn ganz?
Piko 5.5 auslesen .......?....? -

war das gemeint ?
-
@bahnuhr
Das ist jetzt mal ein etwas größerer Ausschnitt.
Aber warum so geizig mit Übersicht?Ist es genau der Pfad, der im log angegeben wird?
- kann man auch jetzt noch nicht sehen
Was sagt das log denn ganz?
Piko 5.5 auslesen .......?....?@Homoran sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Was sagt das log denn ganz?
Piko 5.5 auslesen .......?....?versteh ich nicht.
Im Script steht:
if (logging) log("Piko 5.5 auslesen");und das erscheint im log.
Obwohl das Script ja nicht läuft und ausgeschaltet ist. -
@bahnuhr sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
war das gemeint ?
Auch! Danke dafür.
Jetzt fehlt noch was im log wirklich steht.
@Homoran sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Piko 5.5 auslesen .......?....?
Wird das Skript da gestartet (weil scheduled)
-
@bahnuhr sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
war das gemeint ?
Auch! Danke dafür.
Jetzt fehlt noch was im log wirklich steht.
@Homoran sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Piko 5.5 auslesen .......?....?
Wird das Skript da gestartet (weil scheduled)
@Homoran sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Wird das Skript da gestartet (weil scheduled)
Ja, ich weiß ja, dass es startet.
Dürfte es aber nicht; weil ja ausgeschaltet !
-
@Homoran sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Was sagt das log denn ganz?
Piko 5.5 auslesen .......?....?versteh ich nicht.
Im Script steht:
if (logging) log("Piko 5.5 auslesen");und das erscheint im log.
Obwohl das Script ja nicht läuft und ausgeschaltet ist.@bahnuhr sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
und das erscheint im log.
Aaah da kommt das her.
ok, ich hielt es für einen Anfang eines Satzes -
zumindest war die logik bis letzte Woche (vor dem update) so.
-> Das Script läuft doch nur wenn es links auch eingeschaltet wird <-
Und oben steht ja auch, dass es aus ist.
Aber trotzdem läuft es. -
zumindest war die logik bis letzte Woche (vor dem update) so.
-> Das Script läuft doch nur wenn es links auch eingeschaltet wird <-
Und oben steht ja auch, dass es aus ist.
Aber trotzdem läuft es. -
@bahnuhr Schedules werden nicht immer gelöscht. Starte die JS-Instanzen neu, und wenn das nicht hilft, starte ioBroker neu. Dann sollte der Spuk vorbei sein.
Hast Du mal die Instanz für das Skript gewechselt ?@paul53 sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Hast Du mal die Instanz für das Skript gewechselt ?
Ja, hatte ich.
Von 0 auf 1 (weil ja cheerio nicht läuft; und da bin ich mal auf 1 gegangen; damit die anderen Scripte nicht "gestört" werden)
-
Nachtrag:
Paul; hast du noch ne Idee wg. dem "cheerio"
(warum läuft der nicht mehr, vgl. auch anderer thread) -
@paul53 sagte in Bug - Script wird ausgeführt, obwohl deaktiviert:
Hast Du mal die Instanz für das Skript gewechselt ?
Ja, hatte ich.
Von 0 auf 1 (weil ja cheerio nicht läuft; und da bin ich mal auf 1 gegangen; damit die anderen Scripte nicht "gestört" werden)
-
Danke Paul, das wars.
Habe meinen win7 Laptop komplett neu gestartet.
Gewartet bis alle Instanzen grün waren und geschaut was im log passiert.Nix mehr. So is gut.
Nochmals Danke.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden