NEWS
[gelöst] adapter.getState bei Boolean immer false?
-
@AlCalzone
Sorry, hatte am Code nichts geändert.
Nach langer Suche habe ich das Problem entdeckt :-)
Mit adapter.setObject zB{_id: 'info.Settings.logCheckObject', type: 'state', common: {name: 'LOG "check channel ....." ', type: 'boolean', read: true, write: true, role: 'switch'}, native: {}}wird mit js-controller 2.0.29 das zugehörige State immer auf false gesetzt.
Hat das einen bestimmten Grund?Danke und Gruß
LausiD -
Hallo zusammen,
bin am verzweifeln ......mit adapter.getState bei type: boolean bekomme ich immer ein false zurück.
Ist erst seit den letzten Updates so....
admin 3.6.9
js-controller 2.0.25Jemand eine Idee?
Danke und Gruß
LausiD -
@AlCalzone
Sorry, hatte am Code nichts geändert.
Nach langer Suche habe ich das Problem entdeckt :-)
Mit adapter.setObject zB{_id: 'info.Settings.logCheckObject', type: 'state', common: {name: 'LOG "check channel ....." ', type: 'boolean', read: true, write: true, role: 'switch'}, native: {}}wird mit js-controller 2.0.29 das zugehörige State immer auf false gesetzt.
Hat das einen bestimmten Grund?Danke und Gruß
LausiD -
@AlCalzone
Sorry, hatte am Code nichts geändert.
Nach langer Suche habe ich das Problem entdeckt :-)
Mit adapter.setObject zB{_id: 'info.Settings.logCheckObject', type: 'state', common: {name: 'LOG "check channel ....." ', type: 'boolean', read: true, write: true, role: 'switch'}, native: {}}wird mit js-controller 2.0.29 das zugehörige State immer auf false gesetzt.
Hat das einen bestimmten Grund?Danke und Gruß
LausiD -
@LausiD "It's a feature"
Es gibt bestimnte Defaults für bestimmte Rollen: siehe https://github.com/ioBroker/ioBroker.js-controller/blob/master/lib/defaultObjs.js#L49
Unter anderen die Rolle "switch" und da kommt der Default "false" her. Der einzige Unterschied zu früher ist das mit controller 2.0 der Default Wert auch gesetzt wird.
Was ist denn dein Problem mit dem Default-Wert?
-
Ooookkkk ... wir haben Intern nochmal gesprochen und ja es wird wohl oft "get/setObject" genutzt anstelle get/set/extendObject. Ich habe als schnelle Lösung für die rollen "switch" und "level.dimmer" die Default Werte rausgenommen die intern vorgegeben sind. Es gibt jetzt noch einige "indicator.* "Rollen wo es gemacht wird.
2.0.34 vom controller ist auf GitHub und wird noch final diskutiert und geht dann raus. Falls sich etwas ändert melde ich mich hier nochmals.
-
Ooookkkk ... wir haben Intern nochmal gesprochen und ja es wird wohl oft "get/setObject" genutzt anstelle get/set/extendObject. Ich habe als schnelle Lösung für die rollen "switch" und "level.dimmer" die Default Werte rausgenommen die intern vorgegeben sind. Es gibt jetzt noch einige "indicator.* "Rollen wo es gemacht wird.
2.0.34 vom controller ist auf GitHub und wird noch final diskutiert und geht dann raus. Falls sich etwas ändert melde ich mich hier nochmals.
@apollon77 sagte in adapter.getState bei Boolean immer false?:
2.0.34 vom controller ist auf GitHub und wird noch final diskutiert und geht dann raus. Falls sich etwas ändert melde ich mich hier nochmals.
@AlCalzoneSuper, läuft mit 2.0.34 wieder einwandfrei :-)
Vielen Dank auch für die Erklärungen, konnte wieder einiges dazu lernen.
Was ich bisher mache:
Bei Anlage neuer Instanz werden die vorgegeben Werte aus Variablen in die jeweiligen Objekte geschrieben.
Die States können jetzt jederzeit geändert werden und sind beim nächsten Start Adapter in den Objekten gespeichert.
setObject verwende bei jedem Start Adapter um von den Setings,Configuration usw über den Adapter auch den Namen der Objekes ändern zu können.
Bisher wurden eben keine States automatisch angelegt und alles war gut.
Gerne auch Vorschläge zur besseren Lösung.Finde den js-adapter sehr gelungen, weniger Speicherbedarf freut den PI User....Vielen Dank für die Arbeit
Gruß
LausiD