NEWS
[Neuer Adapter] LinkedDevices
-
`Hallo,
zu og. Problem noch das Debug Log des Linked Devices Adapters.
Es scheint ja irgendwie eine Konvertierung im Hintergrund statt zu finden.
'7.087T 08h 01m'Hubert
2022-08-26 18:50:10.260 warn Read-only state "linkeddevices.0.Monitor.Laufzeit.SHLY01_1L" has been written without ack-flag with value "Invalid date" linkeddevices.0 2022-08-26 18:50:10.251 debug [onStateChange] parentObject state 'shelly.0.SHSW-L#483FDAA21385#1.uptime' changed to '612345678' (ack = false) --> set linkedObject state 'linkeddevices.0.Monitor.Laufzeit.SHLY01_1L' to 'Invalid date' linkeddevices.0 2022-08-26 18:50:10.238 debug [getConvertedValue] parentObject state 'shelly.0.SHSW-L#483FDAA21385#1.uptime' changed to '612345678', using format 'dd[T] hh[h] mm[m]', lang 'de' -> linkedObject value is 'Invalid date' linkeddevices.0 2022-08-26 18:50:10.236 debug [getConvertedValue] parentObject state 'shelly.0.SHSW-L#483FDAA21385#1.uptime' changed to '612345678', using format 'dd[T] hh[h] mm[m]', lang 'de' -> linkedObject value is '7.087T 08h 01m'
-
Fehler gefunden
Wenn ich ein neues Linked Device anlege, vorerst ohne Konvertierung des Datenpunktes, steht bereits folgendes im Originaldatenpunkt:
"custom": { "linkeddevices.0": { "enabled": true, "number_convertTo": "", "number_to_duration_format": "dd[T] hh[h] mm[m]", "number_to_datetime_format": "dd[T] hh[h] mm[m]", "boolean_convertTo": "", "string_convertTo": "", "linkedId": "Monitor.Laufzeit.SHLY01_1L", "_prefixId": "", "_stateId": "uptime", "name": "SHLY01 Uptime" } }
Also beide Formatierungsvorschriften einer Number, sowohl zu datetime als auch zu duration.
Lediglich die Konvertierung ist noch nicht aktiv "number_convertTo": "".Aktiviere ich jetzt die Konvertierung in eine Dauer/Duration, bleiben trotzdem beide Formatanweisungen erhalten.
"number_convertTo": "duration", "number_to_duration_format": "dd[T] hh[h] mm[m]", "number_to_datetime_format": "dd[T] hh[h] mm[m]", "boolean_convertTo": "", "string_convertTo": "",
Lt. Log im Debug level wird dann zweimal konvertiert, was schief geht und zu "Invalid date" im verlinkten Datenpunkt führt.
Lösche ich im Originaldatenpunkt die Zeile mit der Formatanweisung für number_to_datetime_format händisch raus, so dass nur noch
"number_convertTo": "duration", "number_to_duration_format": "dd[T] hh[h] mm[m]", "boolean_convertTo": "", "string_convertTo": "",
stehen bleibt, funktioniert die Umwandlung wie erwartet.
Im Log findet man nach dieser manuellen Änderung auch die richtigen Meldungen (Ausgabeformat angepasst auf dd[T]hh:mm:ss).
linkeddevices.0 2022-08-28 22:43:03.684 debug [onStateChange] parentObject state 'shelly.0.SHSW-L#483FDAA21385#1.uptime' changed to '6583541' (ack = true) --> set linkedObject state 'linkeddevices.0.Monitor.Laufzeit.SHLY01_1L' to '76T04:45:41' linkeddevices.0 2022-08-28 22:43:03.677 debug [getConvertedValue] parentObject state 'shelly.0.SHSW-L#483FDAA21385#1.uptime' changed to '6583541', using format 'dd[T]hh:mm:ss', lang 'de' -> linkedObject value is '76T04:45:41'
Hier muss ein Fehler im Adapter vorliegen, denn wenn ich eine Konvertierungsart festlege (in meinem Fall duration), sollte auch nur die zugehörige Formatierungsanweisung wirksam sein, und nicht beide number_to_ simultan.
Hubert
-
Moin zusammen,
ich habe den Adapter heute installiert:
Wenn ich nun in den Objekten eine Verknüfung erstellen möchte, dann gibt es da keinen Bereich für LinkedDevices:
Hier wird angeraten, beim Admin auf die alte GUI umzustellen, die Option habe ich bei mir nicht:
Was kann ich tun? Alles im Stable Release.
-
mit dem neuen Admin Adapter ist auch die alte Oberfläche gestorben. RiP
du kannst nur an den Entwickler schreiben, das er den Adapter anpasst.
alternativ gibt es auch den Devicemanager oder Alias-manager. Was möchtest du genau machen?
-
@tt-tom Mir war die Funktionalität neu und da mir gerade ein Aqara Sensor kaputt gegangen ist, musste ich alle Scripte öffnen, die mit dem Sensor verknüpft waren.
Da hat mir die Lösung mit den LinkedDevices recht gut gefallen und ich wollte es mal ausprobieren.
-
@myssv Inzwischen gibts aber Aliases auch generisch ...
-
dann schau dir mal die Alternativen an. Sie legen beide eine Struktur unter Alias.0. an und können bei Gerätewechsel auch die DP anpassen.
Edit: oder Per Hand wie @apollon77 schreibt
-
Habt Ihr da einen Link zu einem Howto im ioBroker selber?
Wenn ich auf Zusatzadapter verzichten kann, tue ich das immer gerne.
-
@myssv
wenn du ein Gerät mit mehreren Datenpunkten hast, ist es mit den alternativen schneller und einfacher.wenn du nur einen Punkt anlegen willst kannst du das in der Objekt Ansicht mit dem "+" erstellen und dann verknüpfen
-
@tt-tom OK, dann schaue ich mir beide erst mal in Ruhe an.
Vielen Dank!
-
Ich hatte das Problem vor einiger Zeit, als ich den LinkedDevices Adapter erkundet hatte.
Damals war die Kombination glaube ich admin 5.3.38 und linkeddevices 1.4.2 oder 1.4.3.
Das ging im Admin nur mit der alten GUI.Habe dann experimentierfreudig den linkeddevices auf 1.5.2 aus dem Beta Repository aktualisiert,
dann hat es auch mit der neuen Admin GUI funktioniert.Derzeit läuft bei mir in der produktiven Umgebung admin 6.2.20 (stable) + linkeddevices 1.5.2 (beta).
Wobei im Beta inzwischen schon die linkeddevices 1.5.5 steht (Stand vorgestern abend).
Die Kombination 6.2.20 (stable) + linkeddevices 1.5.5 (beta) habe ich in einer Spielumgebung laufen, kann da momentan nichts negatives feststellen.Hubert
-
@myssv Die VErsion 1.5.5 funktioniert wieder mit der neuen GUI
-
-
Eine Frage ist jetzt aufgetreten:
Ich habe per LinkedDevices von einem Sensor mehrere Datenpunkte gespiegelt. Nun geht der Sensor kaputt und ich muss die gespiegelten Punkte auf einen anderen Sensor umstellen. Wie mache ich das?
-
@myssv Beim neuen Sensor wieder anlegen mit dem gleichen Namen unter Linked Device.
Sensor 1 (defekt)
ich.bin.Sensor.0.Temp --> als "Außentemperatur" im Linked DeviceSensor 1 (nun neu)
ich.bin.derneue.0.Temp --> als "Außentemperatur" im Linked DeviceDeine VIS, Skripte, what else greifen ja nur pauschal auf "Außentemperatur" zu, egal von woher der Wert kommt. Aber einmalig muss man halt definieren wo er herkommt
-
@sborg Ah ok.
Ich habe immer im Alias versucht, diesen einem neuen Datenpunkt zuzuweisen.
Vielen Dank für die verständliche Erklärung!
-
@myssv ich mache das in den Einstellungen von der Adapter Instanz... Da geht das auch wunderbar einfach
MfG
eMd -
Hi,
Ich gebs frei raus zu, habe den thread nicht im ganzen gelesen zu haben
Ich will mich auch in die Alias Welt einlesen und möchte sicherstellen das richtige Tool zu installieren.
Bin ich mit dem Adapter „linked devices“ richtig?
Es gibt ja noch den- Alias manager, und auch
- geräte verwalten
Danke euch
-
@dos1973 Der Alias ist intern, der linked-devices ein Adapter, musst gucken was dir liegt
-
habe gestern die halbe Nacht verbracht alle Aliase (habe intern Alias genutz) anzulegen, das artet ja richtig in Arbeit aus....