NEWS
IoT-Adapter vergisst Geräte (Adapter ist unschuldig)
-
Servus,
ich habe seit längerem das Problem dass der IoT-Adapter Geräte vergisst.
Sie sind dann einfach nicht mehr in der "Alexa Devices"-Liste und können natürlich auch nicht mehr per Alexa gesteuert werden.
Mittlerweile weiß ich dass dies immer nach Serverneustart passiert oder wenn ich "iob stop" ausführe.Mittlerweile weiß ich auch dass vermutlich nicht der IoT-Adapter schuld ist sondern dass ioBroker "Kernsystem".
Hintergrund: der IoT-Adapter speichert die Smart Names nicht in seiner Adapter-Konfig sondern trägt sie in die Objekt-Daten des jeweiligen Datenpunktes ein (die man sieht wenn man sich die "Raw (Experts Only)"-Daten eines Datenpunktes ansieht).Das sieht dann z.B. so aus:
Die markierten Zeilen enthalten den Smart Name des Datenpunktes.
Und genau diese Zeilen gehen nach einem "iob stop" verloren und ich weiß nicht wieso.Was ich gemerkt habe: es sind nicht alle Alexa Devcies betroffen. Konkret geht es um zwei Datenpunkte die ich nach jedem Neustart immer wieder neu anlegen muss.
Ich hab noch 20 andere Geräte im IoT-Adapter, da gibt es keine Probleme.Hat jemand ne Idee was da los ist?
Wieso speichert ioBroker die Objekt-Daten nicht? -
@lugge86
was sind das denn für original Datenpunkte ? (also was für Geräte)Edit:
Werden diese Datenpunkte vielleicht bei jeden Neustart neu erstellt und haben dann eine neue id ? -
@dslraser
Die zwei Datenpunkte die das Fehlerbild zeigen wurden beide mittels createState() aus einem Javascript heraus erstellt.createState("0_userdata.0.scenes.Essen.trigger", false, {role: "switch", read: true, write: true, type: "boolean", def: false } );
Es handelt sich also nicht direkt um "echte" Geräte.
Ich denke nicht dass sie jedesmal neu erstellt werden denn soweit ich weiß macht createState() nichts wenn der zu erstellende Datenpunkt bereits existiert.
Ich habe viele andere Datenpunkte mit Javascript erstellt, bei denen gibt es keine Probleme. -
@lugge86 sagte in IoT-Adapter vergisst Geräte (Adapter ist unschuldig):
@dslraser
Die zwei Datenpunkte die das Fehlerbild zeigen wurden beide mittels createState() aus einem Javascript heraus erstellt.createState("0_userdata.0.scenes.Essen.trigger", false, {role: "switch", read: true, write: true, type: "boolean", def: false } );
Es handelt sich also nicht direkt um "echte" Geräte.
Ich denke nicht dass sie jedesmal neu erstellt werden denn soweit ich weiß macht createState() nichts wenn der zu erstellende Datenpunkt bereits existiert.Ja, das sollte so sein.
Ich habe viele andere Datenpunkte mit Javascript erstellt, bei denen gibt es keine Probleme.
Dann lasse doch zur Sicherheit gleich den SmartNamen für iot mit vom Script erstellen und schaue ob es dann wieder so ist.