Hallo,
ich habe mehrere MQTT Devices mit unterschiedlichen Full Topics (Sonoffs)
Gibt es eine Möglichkeit alles auf einmal anzusprechen also z.B. alle Power on bzw. off?
Die Lösung die mir dazu eingefallen ist:
Alle mit einem Notify zu überwachen und wenn sich eines ändert auch die anderen ändern. Wird aber mit der Zeit etwas viel. Geht das einfacher?
Danke und Grüße
Christian
Hmm, das sind eigentlich zwei Fragen auf einmal:
- von FHEM aus würde ich tendenziell alle in eine structure packen, um gemeinsam zu schalten (Ausnahme: s.u.). Jedenfalls mit MQTT2_DEVICE kann man nicht ohne weiteres mehrere Topics auf einmal adressieren (das ginge mit etwas Perl, das ist aber nicht einfacher, als mit structure oder einer Master-Slave-notify-Logik zu arbeiten.
- Willst du auch lokale Schaltvorgänge berücksichtigen, ist es einfacher, das mit notify zu tun und dann schlicht alle anderen mit einem FILTER anzusprechen (schalte alle Geräte, die einer devspec entsprechen, aber nicht auf $EVENT stehen).
Damit könntest du zum Schalten auch aus FHEM heraus auch statt einer structure eben ein Gerät als "Master-Device" definieren, das dann über das notify seine Schaltvorgänge an alle aus der devspec "vererbt".
Beispiel für ein notify siehe hier: https://forum.fhem.de/index.php/topic,104758.msg986683.html#msg986683
Hoffe, das ist einigermaßen verständlich, sonst nachfragen.
Zitat von: Beta-User am 13 November 2019, 11:14:02
- von FHEM aus würde ich tendenziell alle in eine structure packen, um gemeinsam zu schalten (Ausnahme: s.u.).
Meinst du structure oder group?
Ich habe meine Rollo in einer structure und die Lampen in einer group, gibt es da eigentlich Vorteile für irgendeine Lösung?
? Das sind doch zwei Ebenen, die nichts bzw. wenig gemein haben:
- structure ist ein Modul. Kann man nutzen, um in einem Gerät die Zustände mehrerer anderer Geräte zu visualisieren und diese damit zentral (und ggf. etwas zeitversetzt) zu schalten; (Ergo: wenn man sowas braucht, ist structure das Mittel der Wahl).
- group ist eigentlich nur zur Strukturierung in FHEMWEB da (ohne group-Attribut wird eben nach TYPE gruppiert), (unmittelbar) darüber schalten kann man nicht. Man kann aber das group-Attribut z.B. als FILTER-Teil nutzen, um via devspec zu schalten; ich vermute aber, das wolltest du hier nicht wissen/fragen; hier kann es in manchen Fällen sinnvoll sein, das zu nutzen - ggf. als Teil einer FILTER-Kette.
Das Schalten via devspec ist eine super Sache und (vor allen Dingen) nicht auf group beschränkt. Früher hatte ich z.B. einzelne Rollläden aus der automatisierten Steuerung genommen, indem ich via setreading einfach eigene Readingnamen und -inhalte gesetzt hatte und die dann in FILTER-Anweisungen verwendet...
Wie dem auch sei, structure war in meinem vorherigen Beitrag technisch zu verstehen, in der Regel solltest du davon ausgehen, dass Dinge, die wie technische Begrifflichkeiten aussehen, als solche gemeint sind und nicht zufällig gewählt sind.
Die Structure konnte mein Begehren dann doch voll und ganz befriedigen ;D
Vielen Dank
Zitat von: Beta-User am 13 November 2019, 12:45:27
? Das sind doch zwei Ebenen, die nichts bzw. wenig gemein haben:
Danke für die Informationen und Erklärung der Unterschiede!
So kann man beides gezielt einsetzen.
Das könnte man doch auch über das group-topic in tasmota lösen.
Gruß
Carlos
Das wird aber von Tasmota vorgegeben, oder? D. h. Ich kann keine eigenen Gruppen machen.
Btw: ich habe es probiert und noch hinbekommen
Kannst du natürlich mit dem Befehl "GroupTopic XYZ" in der Konsole selbst vergeben.
Default ist sonoffs.
Aus dem Tasmota Wiki:
ZitatHaving two devices with the same topic allowed for MQTT commands to be sent once to make the devices act in conjunction. That inspired a third topic to subscribe to called GROUPTOPIC. The default GROUPTOPIC is sonoffs. Devices with the same GROUPTOPIC will react to the same MQTT command. You can use this to take actions (e.g., update firmware) devices using different groups (e.g., sonoff, sonoff-sensors, etc.).
Gruß
Carlos