NEWS
SOLVED CacheSelector findet nicht alle Datenpunkte bzw. States
-
Moin,
ich experimentiere gerade mit dem CacheSelector und der bringt mich zum Verzweifeln.
//Gibt nur 6 Geräte aus var dps = $('state[id=sonoff.0.*.alive]'); dps.each(function(id, i) { var val = getObject(id); log("Sonoff: " + id); });
//Zeigt alle 25 Devices an var dps = $('state[id=sonoff.0.*.POWER]'); dps.each(function(id, i) { var val = getObject(id); log("Sonoff: " + id); });
Mit den ZigBee Geräten (15 Stck.) habe ich das gleiche Problem.
$('state[id=zigbee.0.*.battery]'); //meldet 6 Geräte zurück. $('state[id=zigbee.0.*.contact]'); // meldet 0 Geräte zurück $('state[id=zigbee.0.*.link_quality]'); //meldet 0 Geräte zurück
Hat jemand evtl. eine Idee?
Bei den Homematic Komponenten scheint es keine Probleme zu geben.
Gruß,
MarkScriptEngine 4.1.12
zigbee 0.10.3
sonoff 2.2.2
js-controller 1.5.8 -
Moin,
habe gerade die Tage wieder damit experimentiert.
Irgendwo hatte ich auch noch Probleme damit, weiß nur leider nicht mehr genau, welche Datenpunkte es genau waren.
Sie ließen sich nur dann auslesen, wenn das Logging über History/SQL aktiviert war.Habe vor 5 Minuten mal die Versionen 4.1.14 und 4.3.1 probiert und da, wo ich es benötige, nichts auffälliges festgestellt.
Für mich scheint es zu laufen.
Am einfachsten ließ sich das testen, mit einem Slave (z.B. RPi), auf dem eine andere Version installiert ist, dann kann man immer zwischen den Instanzen wechseln.
Gruß,
Mark -
@mark77 Wie verhält es sich bei einem Downgrade des JS-Adapters auf Version 3.6.4 ?
-
@paul53 Werde ich morgen probieren, da ich unterwegs bin und per VPN arbeite.
Mit welchen Problemen ist bei einem Downgrade zu rechnen?
-
Oder kann man auf einem Slave eine andere Version installieren?
-
@mark77 sagte:
Mit welchen Problemen ist bei einem Downgrade zu rechnen?
Wenn Du Sachen verwendest, die erst in JS 4.x implementiert sind, werden diese nicht funktionieren. Was mir dazu einfällt: setState() mit einem Objekt / Array funktioniert in JS 3.x noch nicht.
-
@paul53 sorry, hat etwas gedauert.
Habe jetzt einen "Slave" mit Javascript 3.6.4 ausgestattet, bei dem werden alle Datenpunkte gefunden.
Wechsel ich zum Master mit der Version 4.1.12, wir nur ein kleiner teil angezeigt.Ich danke Dir!!
Wenn ich noch etwas anderes versuchen kann, gerne melden...
Gruß,
Mark -
@mark77 sagte in CacheSelector findet nicht alle Datenpunkte bzw. States:
Wechsel ich zum Master mit der Version 4.1.12, wir nur ein kleiner teil angezeigt.
Kannst du bitte eine Liste der Datenpunkt posten, die gefunden werden sollten? Dann könnten wir das Problem ggf beheben.
-
also:
var dps = $('[state.id=sonoff.0.*.alive]'); dps.each(function(id, i) { var val = getObject(id); log("Sonoff: " + id); });
Ergebinis Version 4.1.12:
18:32:41.109 [info] javascript.1 script.js.CacheTest: Sonoff: sonoff.0.Sonoff-163.alive 18:32:41.109 [info] javascript.1 script.js.CacheTest: Sonoff: sonoff.0.Sonoff-166.alive 18:32:41.109 [info] javascript.1 script.js.CacheTest: Sonoff: sonoff.0.WiFi-RPi-POE.alive
Ergebins Version 3.6.4:
18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.3D-Drucker.alive 18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.DunstAbzgHaube.alive 18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.EnergyPow1.alive 18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.GasStrom.alive 18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Kompressor.alive 18:33:13.212 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Luefter-1.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Luefter-2.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.NachtlichtJohanna.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.NachtlichtPaulina.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.RGB-Controller-1.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.RGB-Controller-2.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.RGB-Controller-3.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Sonoff-163.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Sonoff-166.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Sonoff-167.alive 18:33:13.213 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Bohrmaschine.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Kodi-Johanna.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Kodi-Schlafz.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Messgeraete.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Nextion.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Printserver.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-RPi-Server.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.Switch-Schleifmaschinen.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.TuerKlingel.alive 18:33:13.214 [info] javascript.2 script.js.CacheTest: Sonoff: sonoff.0.WiFi-RPi-POE.alive
Meinst du so?
-
@mark77 Ja sieht gut aus. Kannst du mir noch je von einem der Objekte die gefunden werden und einem, die nicht mehr gefunden werden, die Objektdefinition zeigen? (Objekte -> Bearbeiten-Pfeil -> Reiter "Raw")
-
Geht:
{ "_id": "sonoff.0.Sonoff-163.alive", "common": { "name": "Sonoff-163 alive", "type": "boolean", "role": "indicator.connected", "read": true, "write": true }, "type": "state", "from": "system.adapter.sonoff.0", "user": "system.user.admin", "ts": 1539845127231, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "native": {} }
Geht nicht:
{ "_id": "sonoff.0.Sonoff-167.alive", "common": { "type": "boolean", "role": "indicator.connected", "read": true, "write": false, "name": "Sonoff-167 alive" }, "type": "state", "from": "system.adapter.sonoff.0", "user": "system.user.admin", "ts": 1539845147409, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} }
-
@mark77 Danke. Das find ich schon sehr seltsam. Nur um sicher zu gehen, dass das kein bekannter Bug ist:
Die Datenpunkte existieren schon vor dem Start des Skript-Adapters, und werden nicht erst während der Laufzeit durch einen anderen Adapter angelegt - richtig? -
@AlCalzone Ja, ist richtig, alles wurde vom Adapter selber angelegt.
Hilft es, wenn ich das gleich mit dem ZigBee Adapter mache?
Da gibt es die gleichen Probleme. -
@mark77 jo mach bitte
-
@AlCalzone sagte in CacheSelector findet nicht alle Datenpunkte bzw. States:
nicht erst während der Laufzeit
@mark77 Das ist der entscheidende Punkt. Der Sonoff-Adapter lief, die Objekte waren da, und dann hast du den Skript-Adapter gestartet?
-
@AlCalzone ja, korrekt
-
Der geht:
{ "from": "system.adapter.zigbee.0", "ts": 1557846957200, "common": { "name": "Battery percent", "type": "number", "unit": "%", "role": "battery.percent", "min": 0, "max": 100, "read": true, "write": false, "icon": "img/battery_p.png", "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "10000", "maxLength": "960", "retention": "63072000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" }, "sql.1": { "enabled": true, "changesOnly": true, "debounce": "10000", "retention": "63072000", "changesRelogInterval": 0, "changesMinDelta": 0, "storageType": "", "aliasId": "" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "zigbee.0.HierStehtDieId.battery", "type": "state", "user": "system.user.admin" }
Der geht nicht:
{ "type": "state", "common": { "name": "Battery percent", "type": "number", "unit": "%", "read": true, "write": false, "role": "battery.percent", "min": 0, "max": 100, "icon": "img/battery_p.png", "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "10000", "maxLength": "960", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } }, "from": "system.adapter.zigbee.0", "ts": 1557846957223, "_id": "zigbee.0.HierStehtDieId.battery", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "user": "system.user.admin", "native": {} }
-
Gibt es eigentlich einen Grund, dass sich der Aufbau der Objekte, bei eigentlich gleichen Typen, unterscheidet?
-
@mark77 Hallo! Ich habe die selben Probleme mit Sonoff. Hast du es irgendwie gelöst?
ScriptEngine 4.1.12
sonoff 2.2.2
js-controller 1.5.14 -
-
Moin,
habe gerade die Tage wieder damit experimentiert.
Irgendwo hatte ich auch noch Probleme damit, weiß nur leider nicht mehr genau, welche Datenpunkte es genau waren.
Sie ließen sich nur dann auslesen, wenn das Logging über History/SQL aktiviert war.Habe vor 5 Minuten mal die Versionen 4.1.14 und 4.3.1 probiert und da, wo ich es benötige, nichts auffälliges festgestellt.
Für mich scheint es zu laufen.
Am einfachsten ließ sich das testen, mit einem Slave (z.B. RPi), auf dem eine andere Version installiert ist, dann kann man immer zwischen den Instanzen wechseln.
Gruß,
Mark