NEWS
[Neuer Adapter] LinkedDevices
-
-
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....
-
@dos1973
Ja, ist am Anfang so. Der Mehrwert im Anschluss über alle Scripte und Visualisierungen ist aber enorm. Vor allem wenn man mal Geräte tauscht oder durch neue ersetzt!MfG
eMd -
@dos1973 der devices Adapter kann das wenn Räume und Funktionen zugewiesen sind auch automatisch ;-))
-
@apollon77
Danke dir, aber jetzt habe ich manuell angefangen und setze alle DP pico-bello neu auf.
Musste aber bereits einmal alles löschenFrage.
ich habe DP die kommen als json{"motion":false,"timestamp":1663495651,"active":false,"vibration":false,"lux":102,"bat":70}
aktuell schreibe ich mir via node-red die einzelnen DP in
0_userdata.0.mqttich würde diese DP gerne in den alias DP schreiben... klappt aber nicht, weil (bei mir) node-red nur in "0_userdata" schreiben kann?
hat jemand eine Idee wie cih das umsetzen kann?
@mickym
ich adde dich mal hier, da du mir mit node-red schon geholfen hastDanke
-
@dos1973 Ich glaube nicht, dass ich da helfen kann zudem das auch keinen Sinn macht. Aber Du kannst doch in deinem Alias bei Lesen auf den 0_userdata.0.xx verweisen und beim Schreiben musst Du meines Erachtens sowieso in einen anderen Datenpunkt schreiben. Und im Alias hast Du doch die Möglichkeit unterschiedliche Datenpunkte anzugeben.
Eigentlich und das betone ich ja auch immer wieder brauchst Du die Datenpunkte im Alias auch nicht mehr Einzeln. Deswegen, wenn Du eh Aliase manuell anlegst - dann kannst die auch direkt aus dem JSON von mqtt auslesen.
Wenn Du also in einem Alias so wie in Deinem Beispiel die Bewegung brauchst aus Deinem JSON brauchst - dann definierst Du eine Konvertierungsfunktion:
Du wirst aber die Alias(e) in jedem Fall manuell anlegen müssen, wenn Du es tun willst.
Wenn Du keinen Sensor hast - sonder aktiv schalten willst, dann brauchst Du sowohl unterschiedliche Datenpunkte als auch unterschiedliche Konvertierungsfunktionen.
Ob man allerdings mehrere Alias auf den gleichen Datenpunkt verlinken - kann und diese auf unterschiedliche Eigenschaften in einem Alias verwenden kann - das kann ich Dir nicht beantworten. Da brauchst Du ggf. wieder deine Logikmaschine dazwischen. - Ich probiere es gleich mal.
Hier mal mein JSON zigbee2mqtt meiner Tischlampe.
{ "brightness": 102, "color_mode": "color_temp", "color_temp": 370, "color_temp_startup": 370, "device": { "applicationVersion": 33, "dateCode": "20220112", "friendlyName": "licht/wohnzimmer/tischlampe", "hardwareVersion": 1, "ieeeAddr": "0xcccccccccccccccc", "manufacturerID": 4476, "manufacturerName": "IKEA of Sweden", "model": "LED1732G11", "networkAddress": "xxxxx", "powerSource": "Mains (single phase)", "softwareBuildID": "2.3.091", "stackVersion": 98, "type": "Router", "zclVersion": 2 }, "last_seen": "2022-09-18T15:42:01+02:00", "linkquality": 255, "power_on_behavior": "off", "state": "OFF", "update": { "state": "idle" }, "update_available": false }
-
@mickym
schau ich mir an. Danke dir*edit: mein Kopf verknotet eben ...
-
@dos1973 Also es scheint zu gehen, wenn man unterscheidliche Eigenschaften eines JSON beschreibt:
Du musst aber für jeden Zustand einen eigenen Alias anlegen - viel Spaß.
-
@dos1973 sagte in [Neuer Adapter] LinkedDevices:
*edit: mein Kopf verknotet eben ...
Wenn ich helfen kann - versuchs mal mit einem praktischen Beispiel
-
ich erkläre mal der Reihe nach...
ich habe den mqqt DP, alles Super
jetzte erstelle ich mir im Alias die notwenidgen DP, damit ich von dort aus alles an einem zentralen Punkt habe
ab hier beginnt mein Kopfkopten:
mir fehlen mir Infos aus dem "INFO" DP der das json enthält. dort will ich die IP Adresse etc.
jetzt nehme ich node red (Dank Dir) und baue mir mir die DP der Info Json Struktur nach 0.userdata.mqttDa ich ja Aliase haben will ich die IP und andere Infos ja dort zusammen haben.
Also erstelle ich einen Alias die auf 0.userdata.mqtt zeigen.Warum die DP nicht gleich im Alias Ordner anlegen??
das ist meine Frage -
ok, das klappt.
ich brauche ja nur 2-3 Werte, die würde ich mir manuell da raus holen und hätte dann an zentraler stelle alle DP die für mich relevant sind.
-
@dos1973 In meinen Augen dienen Alias nur dazu, um Datenpunkte geräteunabhängig schalten zu können. Ansonsten sind unter Alias die Datenpunkte - eben keine normalen Datenpunkte. Jeder Datenpunkt unter Alias muss zwingend mit einem "Originaldatenpunkt" verbunden sein.
Sonst bekommst Du solche Fehlermeldungen:
admin.0 2022-09-18 15:51:37.243 warn cannot subscribe on alias "alias.0.licht.wohnzimmer.tischlampe.brightness": Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 12 admin.0 2022-09-18 15:51:37.240 warn Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 12 admin.0 2022-09-18 15:51:36.696 warn Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 9 javascript.0 2022-09-18 15:51:36.698 warn Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 9 javascript.0 2022-09-18 15:51:36.689 warn Could not add alias subscription: Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 12 javascript.0 2022-09-18 15:51:36.687 warn Alias alias.0.licht.wohnzimmer.tischlampe.brightness has no target 12
Es würde also gar keinen Sinn machen - diese Datenpunkte mit irgendwas in den Alias Datenbaum zu schreiben, da die Verknüpfung zu einem Original fehlt.
Wenn Du Dir wirklich die Mühe machen willst - all möglichen Infos zu "aliasen" - dann musst Du wie gesagt - Verzeichnisse für jedes Device machen und jede Eigenschaft dann als Alias-Datenpunkt definieren. Das ist im iobroker soweit ich verstanden habe auch gewollt. Das heißt - Du machst eigentlich statt eines Verzeichnisses ein "Gerät" - als Folder und darunter die einzelnen States.
-
@mickym sagte in [Neuer Adapter] LinkedDevices:
statt eines Verzeichnisses ein "Gerät" - als Folder
ohhhjjeeee, mir schwant böses...
-
@dos1973 sagte in [Neuer Adapter] LinkedDevices:
@mickym sagte in [Neuer Adapter] LinkedDevices:
statt eines Verzeichnisses ein "Gerät" - als Folder
ohhhjjeeee, mir schwant böses...
Habs Dir gerade gepostet - wie das aussehen soll - siehe Tischlampe.
Falls Du Verzeichnisse - Folder gemacht hast - kann man das ggf. leicht wieder beheben:
Allerdings fehlen dann ein paar Attribute unter common.
Besser also wenn man statt Verzeichnis
Geräte anlegt.
Eventuell ist es SINNVOLLER alles über den Geräte-Manager anzulegen und ggf. noch eigene Eigenschaften dazu anzulegen.