NEWS
[gelöst]State per Script löschen
-
@paul53
ich probiere nochmal. -
@dslraser sagte in [gelöst]State per Script löschen:
@paul53
ich probiere nochmal.ich jetzt auch nicht mehr, bleibt alles da. Da werde ich dann wohl beim probieren was falsch gehabt haben.
-
@paul53 sagte in [gelöst]State per Script löschen:
@dslraser sagte:
Oder habe ich was falsch gemacht ?
Nein, siehe hier. Wenn Du nur eine .each-Schleife haben möchtest, dann bau die Abfrage mit ein. Oder so:
const ids = $('javascript.0.*.Batterien_zaehlen.*'); ids.each(function(id, i) { if(existsState(id)) { if(id.startsWith('0_userdata.0.')) deleteState(id); else deleteState(id.substring(13)); } });
Ich habe jetzt eine Weile an einem Blockly was gemacht und als Ort zum erstellen und löschen der Datenpunkte immer javascript.0 benutzt, da funktioniert das löschen.
Eben habe ich dann mal die gleichen Datenpunkte in 0_userdata.0 erstellt und wollte diese anschließend mit dieser Schleife löschen, dort wird nicht gelöscht.
Nehme ich die zwei Schleifen wie hier funktioniert an beiden Orten das löschen. -
@dslraser sagte:
Datenpunkte in 0_userdata.0 erstellt und wollte diese anschließend mit dieser Schleife löschen, dort wird nicht gelöscht.
Habe es gerade getestet und die 3 Datenpunkte unter "0_userdata.0", die ".on_off" in der ID hatten, wurden gelöscht:
const ids = $('0_userdata.0.*.on_off*'); ids.each(function(id, i) { if(existsState(id)) { if(id.startsWith('0_userdata.0.')) deleteState(id); else deleteState(id.substring(13)); } });
-
verstehe ich das richtig, das man datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?
warum ich frage:
der unifi adapter löscht keine datenpunkte, da er nicht entscheiden kann, ob das ein "falscher" client ist - also z.b ein gast, der nur einmal im netz eingloggt war, und für ewig in den datenpunkten bleibt
habe ein tabellen script, welches mir alle clients anzeigt und wollte über dieses script/tabelle, die datenpunkte löschen lassen -
@liv-in-sky sagte:
datenpunkte, die nicht in javascript.x oder 0_userdata... niemals mit einem script löschen kann ?
Doch, mit deleteObject(id).
-
danke dir - funktioniert aber im editor wird das als fehler (cannot find name) angezeigt
-
könntest du mir nochmal helfen - das funktioniert doch nicht richtig
wie genau muss der befehl heißen, damit ich diese struktur wegbekomme (unifi.0.default.clients.b8:27:eb:57:0a:a7)
-
@liv-in-sky sagte:
wie genau muss der befehl heißen, damit ich diese struktur wegbekomme
Laut Doku
deleteObject('unifi.0.default.clients.b8:27:eb:57:0a:a7', true);
Selbst habe ich es noch nicht getestet.
-
-
@paul53 sagte in [gelöst]State per Script löschen:
@dslraser sagte:
In javascript.0 funktioniert es nicht
Ja, das kann ich nachvollziehen. Bitte Issue auf Github erstellen.
Mit 4.6.19 funktioniert bei mir das löschen.
-
@paul53 sagte in [gelöst]State per Script löschen:
@dslraser
Du kannst die Datenpunkte unter "javascript.0" und "0_userdata.0" so löschen:if(existsState(id)) { if(id.substring(0, 11) == 'javascript.') deleteState(id.substring(13)); else deleteState(id); }
Wie kann ich ein einzelnen Datenpunkt löschen, welcher mir Aufgrund falscher Schreibweise und einem "." am Schluß nun seit heute angemahnt wird:
javascript.0.scriptEnabled.common.Türe_Tor_Licht_Waschm.
Bei normalem Löschversuch über Skripte oder auch in den Objekten kommt eine Fehlermeldung: