ich fände eine Funktion „getDeviceRoom“ o.Ä. sehr hilfreich, der man eine Device-ID übergibt und die dann zu diesem Device den Namen des jeweils zugeordneten Raumes zurückliefert (z.B. „Flur“ oder „Wohnzimmer“).
Diese Funktionalität lässt sich zwar bereits mit den bestehenden Befehlen umsetzen, aber nur mit mehreren Zwischenschritten.
Wenn ich aktuell zu einem Device den Namen des Raumes abfragen möchte, dann muss ich immer zuerst die ID des Raumes mit über getDeviceDescription oder listDevices holen.
Dann habe ich zwar die ID, aber noch nicht den Klartext-Namen des Raumes.
Zusätzlich muss man dann noch mit getRooms alle angelegten Räume einlesen und erst dann kann man zu einer ID eines Raumes auch die Bezeichnung ausgeben
Trotz der Vielzahl von Funktionen, die bereits im Zusammenhang mit „Devices“ und „Rooms and Categories“ existieren konnte ich bisher keine einfachere Vorgehensweise finden – oder habe ich etwas übersehen ?
zunächst mal vielen Dank für das schnelle Feedback und den guten Support hier !
Hier schon mal meine ersten Ergebnisse:
Bei mir läuft jetzt das Nightly 0.8.0-2750 und die Abfrage der zugeordneten Räume zu Devices funktioniert - auch ohne, dass ich vorher mit setLanguage explizit eine Sprache gesetzt habe.
Ich glaube aber, in der Befehlszeile muss es “-1” heißen d.h. getDeviceDescription(3, -1, array("ROOMNAME"))
Ich baue die neue Funktion jetzt bei mir in den Programmen ein und beobachte weiter.
auch ohne, dass ich vorher mit setLanguage explizit eine Sprache gesetzt habe.
Ja, aber dann wird auf der Konsole immer en-US zurückgegeben.
Ich glaube aber, in der Befehlszeile muss es “-1” heißen d.h.
-1 gibt das Gerät selbst zurück. Du kannst aber auch einem Kanal einen Raum zuordnen (z. B. sinnvoll, wenn du einen 20-fach Schaltaktor im Schaltschrank hast).
die neue Funktionalität ist bei mir jetzt seit ca. 2 Wochen im Einsatz und bis jetzt funktioniert alles wie erwartet (sowohl in PHP-Skripten als auch in Node-Blue Flows).
Und jetzt weiß ich auch, warum es auch ohne setLanguage funktioniert hat: Ich habe vor längerer Zeit die Räume zu den Devices über die Kommandozeile zugeordnet und dabei wurden die Bezeichnungen der Räume per default unter „en-US“ gespeichert. Eine Abfrage hat dann natürlich auch (ohne dass ich es gemerkt habe) immer den Raum der Sprache „en-US“ zurückgeliefert.
Erst jetzt habe ich in der Admin-GUI gesehen, dass ich die Bezeichnungen unter der falschen Sprache angelegt hatte und habe das jetzt bei mir korrigiert.