Hallo zusammen, ich habe ein Dummy mit On und off,
darauf lauscht ein Notify , dass im Falle von zb off mehrere Rolläden und terassenlichter gleichzeitig schaltet. Soweit ok , aber ich würde eigentlich gern
einen Befehl abgeben : Alle_Rollaeden 30% . Dann sollten alle Rolläden auf 30% und die Lichter aus. Wie kann ich das realisieren ?
Hier mein Notify:
Roll_EG:off set WZ_ROLL_KLEIN,WZ_ROLL_GR,EZ_ROLL,KUE_ROLL,Ter_Dim_Hinten_sw,Ter_Dim_Vorn_sw off
Könnte so gehen,
set .*_ROLL.* pct 30;set .*_sw off
notfalls musst Du die Geräte explizit schreiben
set dev1,dev2 pct 30; set dev3,dev4 off
jo vielen dank, aber ich würde es gern dynamisch haben, das mit 30 % war nur ein Beispiel. Am Ende will ich mir einen anzeigen lassen und über einen URL Aufruf im Browser sowas wie set Rollaedem 24 aufrufen können ....
Moin,
defmod n_Rollaeden notify Rollaeden:\d+ set .*_ROLL.* pct $EVENT;;set .*_sw off
attr n_Rollaeden room testr
defmod Rollaeden dummy
attr Rollaeden room testr
Gruß Otto
Hi Otto, irgendwas fehlt mir noch : ich habe in meinem dummy jetzt einen slider in dem ich einen prozwert einstellen kann :
attr Roll_UG setList value:slider,0,1,100 on off
der erscheint in meinem dummy dann als Reading State in dem mit value dann der eingestellte Wert erscheint, aber mein Notify wertet den nicht aus... ich weiß auch nicht so richtig, wie ich da dran komme :
defmod n_UG notify Roll_UG:\d+ set .*GZ_ROLL.* pct $EVENT
Zitat von: lynckmeister am 02 Dezember 2020, 21:23:58
der erscheint in meinem dummy dann als Reading State
das würde mich sehr wundern...
ja doch :
naja mein Beispiel triggert nur auf Zahlen -> kannst Du hier testen https://regex101.com/
Du erzeugst jetzt aber einen Event value 25 damit müsstest Du auf Roll_UG:value.\d+ triggern und anstatt den gesamten $EVENT nur $EVTPART1 verwenden.
Warum Du value da einstreust ist mir nicht klar - braucht dein Rollo das? Oder wolltest Du ein Reading damit erzeugen?
ZitatWarum Du value da einstreust ist mir nicht klar - braucht dein Rollo das? Oder wolltest Du ein Reading damit erzeugen?
Bei dem Umfang in FHEM kann man ja nicht alles wissen was alles geht.
Wenn man value in state ändert und dann noch einen ReadingList-Eintrag vornimmt bin ich der Meinung klappts auch mit dem ersten Vorschlag, aber nicht getestet.
So mein ich:
attr Roll_UG readingList state
attr Roll_UG setList state:slider,0,1,100 on off
Gruß
Thomas
Zitat von: TomLee am 03 Dezember 2020, 12:58:12
Wenn man value in state ändert und dann noch einen ReadingList-Eintrag vornimmt bin ich der Meinung klappts auch mit dem ersten Vorschlag, aber nicht getestet.
stimmt und vielleicht eleganter als mein Vorschlag: der ganz ohne readingList auch geht :)
attr Roll_UG setList :slider,0,1,100 on off
aber verwirrend aussieht und vielleicht nicht nachhaltig ist (es besteht kein Anspruch auf die Beibehaltung nicht dokumentierter Features :) )
Gruß Otto
Die ist aber schon schräg die Lösung mit dem setter :P
@lynckmeister: eine "simple" structure kommt nicht in Frage?
(vermutlich bekommt man auch die "anderen Devices" da irgendwie rein, aber irgendwie scheint es zuletzt eigentlich nur noch um die Rollläden gegangen zu sein...?)
ne ich brauch nicht diese Struktur, ich kannte das halt von einer anderen Stelle ... was würdet ihr denn Empfehlen? Es sind nur Rolläden die halt mit einem Prozentwert einstellbar sein sollen ...
Zitat von: lynckmeister am 03 Dezember 2020, 13:56:58
ne ich brauch nicht diese Struktur, ich kannte das halt von einer anderen Stelle ... was würdet ihr denn Empfehlen? Es sind nur Rolläden die halt mit einem Prozentwert einstellbar sein sollen ...
??? Ich kapiere diese Äußerung nicht. Wenn es nur Rollläden sind, die per Prozentwert zusammen gesteuert werden sollen, ist "structure" mAn. das Mittel der Wahl, und dann auch kaum zu toppen (auch, was das Entzerren eventueller Funkbefehle angeht, v.a. falls da 433MHz-Geräte im Spiel sind).
Wenn es doch zusätzlich noch was anderes ist, würde ich ggf. (zusätzlich?) nach lightscene schielen.
Aber: nur meine 2 pfg.
@Beta-User... Die Äußerung war auch quatsch, ich hatte das falsch verstanden , sorry... Ich kannte structure garnicht... jetzt habe ich es mal damit probiert , komme aber nicht so ganz zurecht, vielleicht seht ihr das Problem ?
define ROLL_UG2 structure GZ_ROLL_GARAGE GZ_ROLL_VORN
attr ROLL_UG2 async_delay
Wenn ich nun den PCT Wert setzte, schaltet aber nur einer der beiden Rolläden ... ( VORN) der andere nicht.... Delay bringt auch nix, hatte gedacht, dass es vielleicht an der Funkübertragung liegen könnte...
Da fehlt auch noch was vor den Mitgliedern der structure...
Und in der fhem.cfg muss man nichts editieren.
Setz das Attribut async_delay über FHEMWEB, dort geht das gar nicht ohne einen Wert anzugeben.
Gruß
Thomas
Zitat von: commandref
define <name> structure <struct_type> <dev1> <dev2> ...
Tipp:
Weil ich damals lange gerätselt habe was man denn jetzt genau als <struct_type> angibt: -> irgendeinen beliebigen Namen
Danke Leute,
ich hatte irgendwie angenommen, dass dieser Typ optional ist und ihn weggelassen. Das führte dazu , dass mein erstes Device als Typ verstanden wurde.... nachdem ich den Typ room eingefügt habe gings dann wie gedacht ;)
Wenn es optional wäre hätte es so in der commandref gestanden:
define <name> structure [<struct_type>] <dev1> <dev2> ...
Wobei ich noch die den eigentlichen Zweck oder die Auswirkung von struct_type verstanden habe ??? Wahrscheinlich kann das an andere Stelle ausgewertet werden anhand der attr die gesetzt werden. Was aber vielleicht nur wenige wirklich nutzen?
Ähm, noch ein kurzer Hinweis zu dem hier:
Zitat von: TomLee am 06 Dezember 2020, 19:42:36
Weil ich damals lange gerätselt habe was man denn jetzt genau als <struct_type> angibt: -> irgendeinen beliebigen Namen
Ganz beliebig ist es m.E. nicht, weil man einzelne Geräte nämlich auch in unterschiedlichen structure-Devices eingebunden haben kann mit unterschiedlichen Mappings: <struct_type>_map (https://fhem.de/commandref_modular.html#structure)
Und dann macht das durchaus einen Unterschied bzw. Sinn, was aussagekräftiges zu haben...
Ansonsten gibt es in der cref die gute Regel, dass optionale Argumente auch als solche gekennzeichnet sind:
[optional parameter]
Grade, wenn was nicht erwartungsgemäß funktioniert, sollte man solche "Annahmen" (hier frei übersetzt: der Modulautor hat es mit der Syntax nicht ernst gemeint) nochmal sehr kritisch hinterfragen ;) .
Ansonsten ist es wie Otto schreibt: So richtig erklärt ist es afaik nirgends, welchen Zweck <struct_type> (vermutlich) hat...