NEWS
js-controller 3.3 jetzt im STABLE!
-
schön wäre eine musterlösung für eine migration.
dann könnte man die genau so in den adapter einbauen
und es müsste sich nicht jeder eine eigene Funktion ausdenken.idee für eine Funktionssignatur wäre:
function migrateStateType(id,fromType,toType)oder müsste es eigentlich Object heißen?
-
@oliverio So weit ich das System durchschaue - aber da bist Du schlauer, muss man den Typ glaub in dem Objekt ändern.
-
@mickym sagte: muss man den Typ glaub in dem Objekt ändern.
Ja, common.type im Objekt vom Typ "state".
-
@paul53 Das Objekt ist doch das, was unter "raw" steht, das war mein Verständnis:

EDIT: Ach so ich verstehe was Du meinst vom Typ state (letzte Zeile). ;)
-
So noch ein Info - zum Info Adapter ;) - da gibt es auch wenn man sonst keine Systemdaten monitoren will noch 5 Objekte, die man auch löscht, damit der Adapter die korrekten Typen wieder anlegt:
info.0 2021-08-05 13:29:38.945 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l3" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.941 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l2" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.936 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l1i" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.886 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l1d" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.849 info (5272) State value to set for "info.0.sysinfo.cpu.info.speed" has to be type "string" but received type "number"Es langt aber wirklich nur diese 5 Punkte zu löschen!!!
Selbst als ich dann das Laden der Systemdaten mal kurzzeitig aktiviert habe, wurden keine weiteren Inkonsistenzen festgestellt.
-
So noch ein Info - zum Info Adapter ;) - da gibt es auch wenn man sonst keine Systemdaten monitoren will noch 5 Objekte, die man auch löscht, damit der Adapter die korrekten Typen wieder anlegt:
info.0 2021-08-05 13:29:38.945 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l3" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.941 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l2" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.936 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l1i" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.886 info (5272) State value to set for "info.0.sysinfo.cpu.info.cache-l1d" has to be type "number" but received type "string" info.0 2021-08-05 13:29:38.849 info (5272) State value to set for "info.0.sysinfo.cpu.info.speed" has to be type "string" but received type "number"Es langt aber wirklich nur diese 5 Punkte zu löschen!!!
Selbst als ich dann das Laden der Systemdaten mal kurzzeitig aktiviert habe, wurden keine weiteren Inkonsistenzen festgestellt.
-
@apollon77
Wer merged eigentlich meinen PR im Deconz-Adapter? -
@apollon77
Wer merged eigentlich meinen PR im Deconz-Adapter? -
@apollon77 Noch ein blöde Frage:
Wenn ich selbsterstellte Datenpunkte mit dem Typ: gemischt anlege:

unterbleibt dann die Typprüfung?
Ich könnte es zwar selbst ausprobieren, aber vielleicht wäre das einfach für alle eine wichtige Info.
-
@apollon77 Noch ein blöde Frage:
Wenn ich selbsterstellte Datenpunkte mit dem Typ: gemischt anlege:

unterbleibt dann die Typprüfung?
Ich könnte es zwar selbst ausprobieren, aber vielleicht wäre das einfach für alle eine wichtige Info.
-
@mickym Naja bei gemischt kann ja kein Datentyp geprüft werden ... also ja es wird auch nichts geprüft. man muss dann aber ahlt bei eigenen Skripten auch mit allem möglichen Klarkommen was man da selbst reinschreibt :-)
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
@mickym Naja bei gemischt kann ja kein Datentyp geprüft werden ... also ja es wird auch nichts geprüft. man muss dann aber ahlt bei eigenen Skripten auch mit allem möglichen Klarkommen was man da selbst reinschreibt :-)
OK danke - ich weiß ist sicher nicht im Sinne des Erfinders - nur habe ich eben festgestellt, dass sich manche Adapterentwickler dieser Methode bedienen. Aber alles gut. :)
-
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
@mickym Naja bei gemischt kann ja kein Datentyp geprüft werden ... also ja es wird auch nichts geprüft. man muss dann aber ahlt bei eigenen Skripten auch mit allem möglichen Klarkommen was man da selbst reinschreibt :-)
OK danke - ich weiß ist sicher nicht im Sinne des Erfinders - nur habe ich eben festgestellt, dass sich manche Adapterentwickler dieser Methode bedienen. Aber alles gut. :)
-
@apollon77 sagte in js-controller 3.3 jetzt im STABLE!:
Jain ... gibt auch genügend Fälle in Visus oder JavaScript wo User-Skripte komische und falsche Dinge tun.
Jo so habe ich heute festgestellt, dass mein NodeRed Flow Strings in ein Zahlenobjekt geschrieben hat. Ich finde diese Meldungen auch als "Nicht-Adapter" Entwickler durchaus nützlich. :)
@mickym Ich auch :) Und ich hab bei meinen eigenen Skripten auch schon nachgearbeitet. Darum ging es mir auch nicht, ich find es ja vom Prinzip eine super Sache. ABER guck dir z.B. mal den Radar2 Adapter an oder WLED oder Zigbee. Das sind Adapter die FAST jeder benutzt und trotzdem werfen sie zur Zeit noch MASSENHAFT infos ins LOG, man kann jetzt zwar auf warn umstellen, dann sieht man z.B. bei WLED und Zigbee aber im log auch nicht mehr, wenn sich Geräte neu verbunden haben. Und ich weiß halt nicht, ob das für den NORMALEN Anwender so clever ist, das jetzt so ins stable zu packen. Und es kann dann ja auch nicht sein, dass andere Leute hingehen, wie z.B. im Radar2 und die ganzen ack-flag fehler beseitigen und seit Mai nicht gemerged wird.
-
@mickym Ich auch :) Und ich hab bei meinen eigenen Skripten auch schon nachgearbeitet. Darum ging es mir auch nicht, ich find es ja vom Prinzip eine super Sache. ABER guck dir z.B. mal den Radar2 Adapter an oder WLED oder Zigbee. Das sind Adapter die FAST jeder benutzt und trotzdem werfen sie zur Zeit noch MASSENHAFT infos ins LOG, man kann jetzt zwar auf warn umstellen, dann sieht man z.B. bei WLED und Zigbee aber im log auch nicht mehr, wenn sich Geräte neu verbunden haben. Und ich weiß halt nicht, ob das für den NORMALEN Anwender so clever ist, das jetzt so ins stable zu packen. Und es kann dann ja auch nicht sein, dass andere Leute hingehen, wie z.B. im Radar2 und die ganzen ack-flag fehler beseitigen und seit Mai nicht gemerged wird.
-
@fabian1 na wie gut das es hier nochmals aufkommt. Im Beta Thread hat das die letzten Wochen keiner aufgebracht.
@apollon77 ich hab immer fleißig Github issues aufgemacht. :)
-
@apollon77 ich hab immer fleißig Github issues aufgemacht. :)
-
@apollon77 Type errors ja, dafür für jedes Gerät:
(0969) State value to set for "zigbee.0.xxx.link_quality" has value "255" greater than max "254"
Gibt aber schon ein issue.