NEWS
Zombie-Objekte löschen oder wiederbeleben
-
Ich habe mir per Skript Objekte angelegt. Aus den Leistungswerten habe ich im Javaskript Objektbaum Datenpunkte für die Energie angelegt. Irgend etwas muss dabei aber schief gegangen sein, denn von 10 Objekten sind 6 sichtbar und "leben", 4 sind vorhanden, werden aber in "Objekte" nicht angezeigt (auch nicht nach mehrmaligem Aktualisieren) und lassen sich zwar lesen, aber nicht beschreiben.
var ObjectName = 'javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy'; console.log('**' + getState(ObjectName).val); setState(ObjectName, 545); if (existsState(ObjectName )) { console.log(ObjectName + ' existiert'); } else { console.log(ObjectName + ' existiert nicht'); }liefert:
19:05:55.187 info javascript.0 (1383) Start javascript script.js.Programmieren.Objekte.StateExists 19:05:55.192 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: **546.6285373555555 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:4:1 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:14:3 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy existiert 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: registered 0 subscriptions and 0 schedulesDer Wert bleibt konsequent bei 546.6285373555555 egal wie oft ich das Skript ausführe. Was mich auch irritiert ist die Warnung bei 14:3, diese Stelle gibt es im Skript überhaupt nicht.
Wie bekomme ich die Zombies wieder los?
Gruß Wolfgang
-
Ich habe mir per Skript Objekte angelegt. Aus den Leistungswerten habe ich im Javaskript Objektbaum Datenpunkte für die Energie angelegt. Irgend etwas muss dabei aber schief gegangen sein, denn von 10 Objekten sind 6 sichtbar und "leben", 4 sind vorhanden, werden aber in "Objekte" nicht angezeigt (auch nicht nach mehrmaligem Aktualisieren) und lassen sich zwar lesen, aber nicht beschreiben.
var ObjectName = 'javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy'; console.log('**' + getState(ObjectName).val); setState(ObjectName, 545); if (existsState(ObjectName )) { console.log(ObjectName + ' existiert'); } else { console.log(ObjectName + ' existiert nicht'); }liefert:
19:05:55.187 info javascript.0 (1383) Start javascript script.js.Programmieren.Objekte.StateExists 19:05:55.192 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: **546.6285373555555 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:4:1 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:14:3 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy existiert 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: registered 0 subscriptions and 0 schedulesDer Wert bleibt konsequent bei 546.6285373555555 egal wie oft ich das Skript ausführe. Was mich auch irritiert ist die Warnung bei 14:3, diese Stelle gibt es im Skript überhaupt nicht.
Wie bekomme ich die Zombies wieder los?
Gruß Wolfgang
@WolfgangFB
Prüfe besser vor getState() und setState():const ObjectName = 'javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy'; if (existsState(ObjectName)) { console.log('**' + getState(ObjectName).val); setState(ObjectName, 545, true); } else console.log(ObjectName + ' existiert nicht'); -
Ich habe mir per Skript Objekte angelegt. Aus den Leistungswerten habe ich im Javaskript Objektbaum Datenpunkte für die Energie angelegt. Irgend etwas muss dabei aber schief gegangen sein, denn von 10 Objekten sind 6 sichtbar und "leben", 4 sind vorhanden, werden aber in "Objekte" nicht angezeigt (auch nicht nach mehrmaligem Aktualisieren) und lassen sich zwar lesen, aber nicht beschreiben.
var ObjectName = 'javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy'; console.log('**' + getState(ObjectName).val); setState(ObjectName, 545); if (existsState(ObjectName )) { console.log(ObjectName + ' existiert'); } else { console.log(ObjectName + ' existiert nicht'); }liefert:
19:05:55.187 info javascript.0 (1383) Start javascript script.js.Programmieren.Objekte.StateExists 19:05:55.192 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: **546.6285373555555 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:4:1 19:05:55.198 warn javascript.0 (1383) at script.js.Programmieren.Objekte.StateExists:14:3 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: javascript.0.Energy.meross_0_1912241193820425188148e1e91465ef.Energy existiert 19:05:55.203 info javascript.0 (1383) script.js.Programmieren.Objekte.StateExists: registered 0 subscriptions and 0 schedulesDer Wert bleibt konsequent bei 546.6285373555555 egal wie oft ich das Skript ausführe. Was mich auch irritiert ist die Warnung bei 14:3, diese Stelle gibt es im Skript überhaupt nicht.
Wie bekomme ich die Zombies wieder los?
Gruß Wolfgang
Das ändert nichts. Ich habe ja in meinem Skript hinterher auf die Existenz geprüft und die wird mir bestätigt.
Aber auch Dein Code 1:1 rüberkopiert liefert genau das gleiche Ergebnis: Objekt ist da, liefert Wert, lässt sich aber nicht beschreiben und taucht nicht in der Objektinstanz auf. -
Das ändert nichts. Ich habe ja in meinem Skript hinterher auf die Existenz geprüft und die wird mir bestätigt.
Aber auch Dein Code 1:1 rüberkopiert liefert genau das gleiche Ergebnis: Objekt ist da, liefert Wert, lässt sich aber nicht beschreiben und taucht nicht in der Objektinstanz auf.@wolfgangfb sagte: taucht nicht in der Objektinstanz auf.
Was bedeutet das? Ist im Tab "Objekte" nicht zu sehen? Was ergibt?
log(existsObject(ObjectName));Die Javascript-Instanz mal neu gestartet?
-
@wolfgangfb sagte: taucht nicht in der Objektinstanz auf.
Was bedeutet das? Ist im Tab "Objekte" nicht zu sehen? Was ergibt?
log(existsObject(ObjectName));Die Javascript-Instanz mal neu gestartet?
Ich habe jetzt nochmal die Javascript Instanz neu gestartet (hatte ich davor schon einmal gemacht), jetzt sind die Zombies verschwunden! (Ich kann die Objekte jetzt wieder neu anlegen und auch beschrieben.
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