NEWS
BUG "cacheSelector" ?
-
@paul53 sagte in BUG "cacheSelector" ?:
Das hat mit dem Selector nichts zu tun, denn der Wert wird in Zeile 4 eingelesen.
ok, aber warum stimmt die log Ausgabe nicht mit der Realität überein.
-
oder genauer:
Warum ergibt:
log (getState("javascript.0.scriptEnabled.Scripte.Licht.Sauna").val);
im log "false" obwohl lt. den Objekten "true" da steht.Da stimmt doch irgendwas im System nicht.
-
@bahnuhr sagte: im log "false" obwohl lt. den Objekten "true" da steht.
Starte mal die Admin- und die Javascript-Instanz neu.
-
@bahnuhr ist evtl ein cache problem - starte mal die javascript instanz neu und lass dann das script laufen - ist der wert dann richtig -> cacheproblem
-
So, admin und javascript neu gestartet.
Und es scheint geholfen zu haben.
Script ist nun im log auch true.Komisch das ganze.
mfg
Dieter -
kenn ich schon - meine tabellen scripte haben das thema auch. zb das sonoff tabellen script findet keine neu eingerichteten sonoffgeräte, da neu angelegte geräte nicht im cache der javascript-instanz sind. erst wenn ich instanz neustarte kommen auch die neu angelegten geräte in der tabelle (selektor) zum vorschein
wenn du die js-instanz startetst, siehst du im log, dass die objecte eingelesen und dann "gecached" werden
-
ok, aber irgendwie ist da trotzdem der Wurm drin.
Meine globalen Scripte (7 Stück) stehen alle auf true:
Unter den Objekten werden aber nur 5 !!?? angezeigt.
und diese stehen auch noch auf false.
Irgendwie ist das nicht zufriedenstellend.
Man muss sich drauf verlassen können, dass die Werte überein stimmen.
So ist es Murx. -
@bahnuhr der scriptenabled folder ist von anfang an etwas seltsam - ich habe mehrere js instanzen und unter jeder instanz hat jedes script (egal ob script in dieser instanz ist) die datenpunkte - also bei einem script habe ich 3 mal scriptenabled datenpunkte - in jeder instanz eines
hatte damals nachgefragt, was das bedeutet: die antwort: gehört zum system und ich solle mich nicht darum kümmern
ich denke, es hängt damit zusammen, wenn man scripte in den instanzen verschiebt
das ganze müllt auch noch die datenbank voll - siehe anzahl der objecte pro instanz - fast 10 000 objecte unter den instanzen - völlig unverständlich
-
Also Fazit für mich:
Damit kann man nix anfangen.
Denn wenn man schon vermutet, dass die Werte nicht stimmen, dann ist dies unbrauchbar.Ziel war es:
Ich wollte ermitteln, welche Script ein- bzw. ausgeschaltet sind.Vielleicht hat ja jemand ne andere Idee.
mfg
Dieter -
Oder um es ganz kritisch auszudrücken.
Kein BUG bei cacheSelector.
aber
BUG im System.
genauer: Ausweis von Datenpunkten mit falschen Zuständen. -
@bahnuhr
ich habe ein script, welches jedes script durchsucht um herauszufinden, ob alle trigger datenpunkte existieren - darin wird auch letztlich geprüft, ob das script überhaupt aktiv istdies passiert über:
- einlesen aller existierender scripte aus dem filesystem - wird im setting der js-instanz "backup folder für scripte) realisiert
- und es gibt den befehl "isScriptActive()"
das script ist kurz zusammengesammelt - weiß nicht, ob du es so willst - myPath ist im setting der instanz definiert
die undefined sind scripte, die ich verschoben habe und noch nicht aufgerufen habe
-
Danke dir,
ich schaue es mir an.