Hi,
nachdem ich jetzt meine Funksteckdosen angelernt habe und alles Schalten kann, brauche ich nun Hilfe wie ich folgendes machen kann:
1. (Gelöst) Wenn ich Multimedia Wand auf ON drücke, dann werden die Steckdosen TV, Soundbar und SubwooferSB eingeschaltet, das sind meine Standart Geräte die ich zum "normalen" TV gucken benutze. Das klappt auch soweit. Es kann aber sein, das ich zwischen durch das ein oder andere ausschalte und dafür ein anderes Gerät aus der Gruppe "Multimedia" an machen. Der Status von Multimedia Wand soll sich da durch nicht ändern. Beim drücken von Multimedia Wand OFF sollen dann alle Geräte der Gruppe ausgeschaltet werden.Wie mache ich das am besten?
Lösung:
Habe ich jetzt wie in Punkt 2 gelöst, nur das halt hier nur die "Multimedia" Geräte in der Struktur sind. Den Rest wird dann mit Tablet UI gemacht
define mwaus structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR
attr mwaus clientstate_behavior relativeKnown
attr mwaus clientstate_priority An|On|on Aus|Off|off
attr mwaus devStateIcon Aus|Off|off:general_aus@red An|On|on:general_aus@green
attr mwaus room Wohnzimmer
attr mwaus webCmd off
2. (Gelöst) Bei Wohnzimmer alles aus werden alle Steckdosen ausgeschaltet. Möchte hier aber gerne nicht die Auswahl on/off haben, sondern nur ein Symbol das Signalisiert das wenn mindestens eine Steckdose aus den Gruppen Multimedia und Licht eingeschaltet ist, und wenn ich auf das Symbol drücke dann alle ausgehen und sich das Symbol ändert.
Lösung:
define WZ structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr WZ clientstate_behavior relativeKnown
attr WZ clientstate_priority An|On|on Aus|Off|off
attr WZ devStateIcon Aus|Off|off:general_aus An|On|on:general_aus@red
attr WZ room Wohnzimmer
attr WZ webCmd off
3. (Gelöst) Meine Leinwand wird durch einen IT CMR-500 gesteuert, d.h. Wenn ich auf ON drücke, dann fährt die Leinwand runter, nochmal On das stoppt die. Wenn ich auf Off drücke, dann fährt die hoch bis zum Endpunkt. Hier möchte ich gerne so machen, das wenn ich z.B. auf ein Pfeilrunter Symbol drücke die Leinwand runter fährt und nach eine bestimmten Zeit anhält also "ON, 10 Sekunden warten und dann nochmal ON"
Lösung:
define lw_dummy dummy
attr lw_dummy webCmd on
define LWR1 notify lw_dummy:.* set Leinwand on ;;sleep 2;; set Leinwand on
Hallo chris76e,
das sind ganz schön viele Fragen auf einmal.
Was 1. angeht, würde ich vermutlich einen Dummy definieren und dann unterschiedliche Aktionen ausführen, wenn der an bzw. ausgeschaltet wird.
Für 2. solltest Du mal sehen, ob Du das mit einer Structure gelöst bekommst (und dem Attribut clientstate_priority), evtl. mußt Du dann das webcmd noch anpassen
Für 3. kannst Du entweder ein Dummy mit notify und einem mehrstufigen Befehl (wait(10)) nehmen, besser ist es aber uU., schlicht die korrekte Ausfahrlänge der Leinwand an dieser selbst einzustellen (meine hat dazu eine Einstellschraube).
Sicher gibt es aber auch noch andere Optionen, wie die se Themen angegangen werden können 8).
Gruß, Beta-User
Zitat von: chris76e am 14 Februar 2017, 21:58:34
...Der Status von Multimedia Wand soll sich da durch nicht ändern. Beim drücken von Multimedia Wand OFF sollen dann alle Geräte der Gruppe ausgeschaltet werden.Wie mache ich das am besten?
Guck mal in die commandref zu structure. Dort gibt es ein Attribut "relative", mit dem die Struktur ON ist, sobald 1 Gerät davon on ist, und OFF sobald alle Geräte off sind.
Zitat...wenn mindestens eine Steckdose aus den Gruppen Multimedia und Licht eingeschaltet ist, und wenn ich auf das Symbol drücke dann alle ausgehen und sich das Symbol ändert...
Dann mach eine structure, in der die Strukturen Multimedia und Licht enthalten sind; ebenfalls mit dem relative.
Zitat von: chris76e am 14 Februar 2017, 21:58:34
3. Meine Leinwand wird durch einen IT CMR-500 gesteuert, d.h. Wenn ich auf ON drücke, dann fährt die Leinwand runter, nochmal On das stoppt die. Wenn ich auf Off drücke, dann fährt die hoch bis zum Endpunkt. Hier möchte ich gerne so machen, das wenn ich z.B. auf ein Pfeilrunter Symbol drücke die Leinwand runter fährt und nach eine bestimmten Zeit anhält also "ON, 10 Sekunden warten und dann nochmal ON"
Zu den ersten beiden würde ich auch structure empfehlen. Beim dritten Punkt kann man z.B. ein "set ... on;;sleep 10;; set ...on" oder ähnlich machen. Wenn man das Ding aber während der 10 Sekunden stoppen können will, dann im Kommando ein tempräres at anlegen, das man auch wieder löschen kann.
Gruß,
Thorsten
Habe jetzt mal einige Sachen ausprobiert. Ist doch was viel für den Anfang.
Möchte jetzt erstmal Punkt 2 meiner Liste erledigen :)
Habe es hinbekommen das wenn 1 Gerät aus Wohnzimmer an mir das auch angezeigt wird.
define TV_Wand2 structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr TV_Wand2 clientstate_behavior relativ
attr TV_Wand2 clientstate_priority Any_On|An All_Off|Aus
Jetzt bekomme ich 3 Verschieden Symbole angezeigt, bei AUS - mindestens 1 An - Alle AN
Das möchte ich aber ändern das nur 2 Verschieden angezeigt werden. Habe versucht das wie bei den Fensterkontakte zu machen, das funktioniert hier aber nicht.
attr devStateIcon off:fts_general_aus@red on:fts_general_aus@green
Hi,
versuch mal beim Attribut clientstate_behaviour "relative" (mit e am Ende) oder "relaiveKnown".
Gruß,
Thorsten
Danke, so habe ich es hinbekommen das sich auch das Symbol ändert.
define WZ structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr WZ clientstate_behavior relativeKnown
attr WZ clientstate_priority An|On|on Aus|Off|off
attr WZ devStateIcon off:general_aus An:general_aus@red
attr WZ room Wohnzimmer
Gibt es jetzt auch noch die möglichkeit das ich den Schalter "On" wegbekomme? Möchte halt nur alles Auschalten können.
Zitat von: Thorsten Pferdekaemper am 15 Februar 2017, 13:23:52
Wenn man das Ding aber während der 10 Sekunden stoppen können will, dann im Kommando ein tempräres at anlegen, das man auch wieder löschen kann.
Oder ein benanntes sleep (https://fhem.de/commandref.html#sleep) verwenden, das kann mit cancel (https://fhem.de/commandref.html#cancel) bei Bedarf auch abgebrochen werden
Zitat von: chris76e am 15 Februar 2017, 17:47:13
...
define TV_Wand2 structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr TV_Wand2 clientstate_behavior relativ
attr TV_Wand2 clientstate_priority Any_On|An All_Off|Aus
Jetzt bekomme ich 3 Verschieden Symbole angezeigt, bei AUS - mindestens 1 An - Alle AN
Das möchte ich aber ändern das nur 2 Verschieden angezeigt werden. Habe versucht das wie bei den Fensterkontakte zu machen, das funktioniert hier aber nicht.
...
Hast meinen Beitrag aber schon gelesen, oder? :D
Guck mal in die commandref zu structure. Dort gibt es ein Attribut "relative", mit dem die Struktur ON ist, sobald 1 Gerät davon on ist, und OFF sobald alle Geräte off sind.
@Hollo
Das habe ich doch hier geschafft. Oder meinst du was anderes?
Zitat von: chris76e am 15 Februar 2017, 23:31:08
Danke, so habe ich es hinbekommen das sich auch das Symbol ändert.
define WZ structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr WZ clientstate_behavior relativeKnown
attr WZ clientstate_priority An|On|on Aus|Off|off
attr WZ devStateIcon off:general_aus An:general_aus@red
attr WZ room Wohnzimmer
Gibt es jetzt auch noch die möglichkeit das ich den Schalter "On" wegbekomme? Möchte halt nur alles Auschalten können.
Zitat von: chris76e am 15 Februar 2017, 23:31:08Gibt es jetzt auch noch die möglichkeit das ich den Schalter "On" wegbekomme? Möchte halt nur alles Auschalten können.
Drück halt einfach nicht drauf...
Zitat von: Hollo am 16 Februar 2017, 09:30:52
Hast meinen Beitrag aber schon gelesen, oder? :D
Ich glaube, dass sein Fehler hauptsächlich war, dass er "relativ" statt "relative" geschrieben hatte.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 16 Februar 2017, 10:22:49
Drück halt einfach nicht drauf...
Hmm, gibt es dafür keinen Befehl in Fhem? Wenn nein, kann man das Später in Tablet UI machen?
So sieht meine Losung für Punkt 2 zur Zeit aus
define WZ structure room wz_TV wz_SubSB wz_Soundbar wz_AVR wz_SubAVR wz_Fluter wz_Schrank
attr WZ clientstate_behavior relativeKnown
attr WZ clientstate_priority An|On|on Aus|Off|off
attr WZ devStateIcon Aus|Off|off:general_aus An|On|on:general_aus@red
attr WZ room Wohnzimmer
attr WZ webCmd off
Zitat von: chris76e am 16 Februar 2017, 10:35:26
Hmm, gibt es dafür keinen Befehl in Fhem?
Attribut webCmd (https://fhem.de/commandref_DE.html#webCmd)
Zitat von: chris76e am 16 Februar 2017, 10:35:26
Hmm, gibt es dafür keinen Befehl in Fhem?
Siehe Benni.
Ich meinte damit eigentlich eher: Warum den Aufwand?
ZitatWenn nein, kann man das Später in Tablet UI machen?
Ja, da kannst Du sozusagen den Befehl für "on" leer lassen.
Gruß,
Thorsten
OK, die Antwort gefällt mir 8)
Dann kann ich Punkt 2 als gelöst sehen.
Jetzt kommen noch die beiden anderen Punkte :)
Mit Tablet UI werde ich mich erst beschäftigen wenn alles andere nach meinen Vorstellungen läuft.
Punkte 1 und 2 sind erstmal gelöst, vielen Dank für die Hilfe.
Jetzt zu Punkt 3
habe mal versucht folgendes zumachen:
define LWR notify Leinwand :set Leinwand on ;sleep 2; set Leinwand on
Wenn ich auf Leinwand on klicken, dann ist die Leinwand in einer schleife drinn.
Fährt 2 sekunden runter, bleibt kurz stehen, dann wieder 2 sekunden runter usw.
Kann die auch nicht durch off anhalten, muss das devices löschen.
Hast Du mal nachgesehen, ob Du die Ausfahrlänge an der Leinwand selbst einstellen kannst?
Das kann ich nicht.
Ich steuer die Leinwand zur Zeit mit einer Harmony 900 über den Lightmanager mini von JBMedia. Da habe ich eine Szene angelegt mit: Leinwand runter - Präzise Pause 31 Sekunden - Leinwand runter.
Das möchte ich halt gerne mit Fhem machen.
Zitat von: chris76e am 16 Februar 2017, 13:41:08
define LWR notify Leinwand :set Leinwand on ;sleep 2; set Leinwand on
Wenn ich das richtig sehe, triggert sich das selbst wieder...
Du solltest einen Dummy oä. nehmen, auf den Du das notify reagieren läßt ;).
Wie mache ich das am besten?
Habe folgendes Probiert, aber das funktioniert nicht bzw. die Leinwand geht nur auf on
define lw_dummy dummy
define LWR1 notify lw_dummy :set Leinwand on ;;sleep 2;; set Leinwand on
Warum steht in der fhem.cfg das hier
lw_dummy :set Leinwand on ;;sleep 2;; set Leinwand on
und im notify selbst das hier
lw_dummy :set Leinwand on ;sleep 2; set Leinwand on
liegt da vieleicht der Fehler?
Ich nehme mal an, die ;; und Leerzeichen sind nicht richtig gesetzt.
Commandref zu sleep:
define n3 notify btn3.* set lamp toggle;;sleep 0.5;;set lamp toggle
define a3 at +*00:05 set Windsensor 1w_measure;; sleep 2 quiet;; get Windsensor 1w_temp
und der ":" vor set kommt mir auch seltsam vor...
Hi,
ich würde mal sagen, es sollte so heißen:
define LWR1 notify lw_dummy:.* set Leinwand on ;;sleep 2;; set Leinwand on
Die Strichpunktverdopplung macht FHEM wahrscheinlich von selbst, wenn man das im DEF editiert. D.h. in FHEMWEB sieht man nur ein ";", während im Define aber zwei stehen müssen.
Gruß,
Thorsten
funktioniert nicht oder ich mach was falsch.
Muss ich beim dummy auch nochwas einstellen?
define lw_dummy dummy
define LWR1 notify lw_dummy:.* set Leinwand on ;;sleep 2;; set Leinwand on
EDIT:
Fehler gefunden
habe vergessen den dummy an webcmd zugeben, jetzt funktioniert es
Danke ;D ;D ;D