Hallo,
ich möchte die Rollo für eine maximale Zeit verfahren solange die Taste gedrückt ist bzw. unterbrechen wenn die Schalter wieder aus sind.
Irgendwie überlappt sich aber alles und es verfährt gar nicht oder nur ein Fenster. Das on-for-timer funktioniert irgendwiue gar nicht. Vielleicht gibt es auch eine einfachere Lösung für mein Problem. Wäre für Lösungsansätze dankbar.
define Rollo_auf_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.off { fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_12 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_13 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_11 on-for-timer 20";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_14 on-for-timer 20";; }
define Rollo_zu_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.off { fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_11 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_14 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_12 on-for-timer 20";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_13 on-for-timer 20";; }
define Rollo_auf_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.on { fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_11 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_14 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_12 off";; fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_13 off";; }
Hi,
ich habe keinen 12/14 und weiß daher auch nicht so genau, wie das ganze funktioniert. Ich kann mir dazu nur das Geräte-XML betrachten und dann ins Coding schauen. ...aber so ganz schlau werde ich daraus nicht. Folgendes fällt mir auf:
- Dein drittes Notify heißt genauso wie das erste.
- Ich weiß, dass Kanäle mit dem Typ "switch" on/off haben. Beim 12/14 ist das aber digital_output. Da bin ich mir nicht so sicher. Funktioniert denn ein manuelles "set HMW_IO_12_Sw14_DR_MEQ0370281_12 on" bzw ... off?
- So ähnlich für die Eingänge: Gehe mal auf den Event-Monitor und drücke auf den Tasten rum.
- on-for-timer ist in FHEM selbst implementiert, aber nur für switch-Kanäle. Ich würde mich wundern, wenn das für den 12/14 überhaupt funktioniert.
Könntest Du das ganze mal für einen einzelnen Rollo machen und auch beschreiben, welche Ein-Ausgänge was genau bewirken sollen.
Gruß,
Thorsten
Hallo,
- falsch kopiert :-(
- nein, das was du geschrieben hast könnte natürlich die Antwort sein, ginge es über eine dummy on/off Variable
Eigentlich will ich nichts Wettbewegendes machen, ich habe zwei Schalter an denm 12/14 HMW_IO_12_Sw14_DR_MEQ0370281_16 und 18, wenn einer betätigt ist sollte für eine gewisse Zeit der Ausgang HMW_IO_12_Sw14_DR_MEQ0370281_11 und 14 angesteuert werden bzw. wenn die Schalter aus sind alles aus sein, wenn der andere Eingang ein, dann sollten die anderen beiden Ausgänge 12 und 13 ein sein.
Hallo,
ich habe auch keinen 12/14 aber ich kann mir nicht vorstellen, dass Dein Ansatz funktioniert. Die digitalen Eingänge dienen zur Erfassung 0 und 1. Für das was Du willst ist ein notify falsch, das reagiert auf die Änderung, der Status ist doch egal. Du musst den Status auswerten und dann den Ausgang schalten. Direkt verknüpfen kann man das ja leider nicht. Also musst Du einfach mit logischer Verknüpfung aus on am Eingang ein on am Ausgang machen. Oder liege ich komplett neben der Spur?
Gruß Otto
Hi,
das mit direkten Verknüpfen funktioniert einwandfrei mit dem notify, eins für on in die eine Richtung, das andere für on in die Gegenrichtung. Nur sollte nach einer definierten Zeit alles auf aus gehen und das mag anscheinend das 12/14 Ding nicht, da es sich nicht um digitale on/off Ausgänge handelt, warum keine Ahnung. Muß noch eine Weile damit spielen bis ich dahintersteige.
Gruß
Mario
Zitat von: Maxl am 23 Dezember 2015, 14:20:32das mit direkten Verknüpfen funktioniert einwandfrei mit dem notify, eins für on in die eine Richtung, das andere für on in die Gegenrichtung. Nur sollte nach einer definierten Zeit alles auf aus gehen und das mag anscheinend das 12/14 Ding nicht, da es sich nicht um digitale on/off Ausgänge handelt, warum keine Ahnung. Muß noch eine Weile damit spielen bis ich dahintersteige.
Jetzt wird es aber immer verwirrender. Meinst Du jetzt direkte Verknüpfungen oder Notify? Eins hat mit dem Anderen recht wenig gemeinsam.
Vielleicht könntest Du hier mal posten, was denn nun genau funktioniert und was nicht.
Gruß,
Thorsten
Zitat von: Maxl am 23 Dezember 2015, 14:20:32
da es sich nicht um digitale on/off Ausgänge handelt, warum keine Ahnung.
Hä? - Ich kann mich Thorsten nur anschließen.
Zitat von: Maxl am 23 Dezember 2015, 10:15:23
ich möchte die Rollo für eine maximale Zeit verfahren solange die Taste gedrückt ist bzw. unterbrechen wenn die Schalter wieder aus sind.
Ich dachte Du willst so etwas wie den "normalen" Rolladen Taster:
kurz drücken -> ganz hoch oder ganz runter.
lang drücken -> solange fahren wie gedrückt.
Gruß Otto
Hallo,
ganz einfach:
es funktioniert direkte Verknüpfung wenn Schalter ein dann Ausgang ein und umgekehrt bzw.
Verknüpfung über notify mit Schalter ein dann Ausgang ein und umgekehrt. Ich möchte aber den Ausgang auch ausschalten nach einer bestimmten Zeit obwohl die Eingänge noch an sind, einfach um die Antrieben stromlos zu haben.
Da dachte ich eben an das on-for-timer, aber das geht eben mit den 12/14 Ding nicht :-(
Der Vorschlag von Otto klingt auch nett, aber hier möchte ich eben wieder die antriebe nach der max. Laufzeit stromlos haben.
Gruß
Mario
Schau mal hier (http://www.fhemwiki.de/wiki/HomeMatic_Register_programmieren) vielleicht gibt es diese Register auch bei dem 12/14.
Dann kannst Du die maximale Zeit direkt programmieren.
Und dann solltest Du die Idee vom normalen Rolladen Taster umsetzen. Irgendwie musst Du ja die Tastenabfrage unterscheiden. Ich habe allerdings keine Ahnung was der 12/14 da wirklich liefert?
Das musst Du im Eventmonitor anschauen oder es ist irgendwo beschrieben.
Das mit der direkten Verknüpfung wundert mich, ich glaubte überall gelesen zu haben, dass genau das nicht geht.
Gruß Otto
Zitat von: Maxl am 23 Dezember 2015, 17:02:17Da dachte ich eben an das on-for-timer, aber das geht eben mit den 12/14 Ding nicht :-(
Der Vorschlag von Otto klingt auch nett, aber hier möchte ich eben wieder die antriebe nach der max. Laufzeit stromlos haben.
Du kannst im notify ein at anlegen, das den Ausgang nach der gewünschten Zeit abschaltet.
Gruß,
Thorsten
Hi,
dumme Frage, kann man eigentlich eine NOTIFY Abfrage in einer DOIF verschachteln, wie beispielsweise
define Rollo_stop_Zimmer2 DOIF ( [notify Temp2] eq "off" and
[notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.on] and\
[notify HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.on] )\
( dann machen wir irgendetwas ... )
notify ist keine Abfrage.
Du könntest den Status des notifys abfragen also<name des notify> eq ""
aber das notify läuft ja nicht. Das reagiert und löst etwas aus.
Vielleicht ist es besser Du erklärst was Du willst.
Gruß Otto
wenn irgendein NOTIFY kommt soll alles aus sein, Temp2 habe ich als dummy
define Zeit_Temp2 notify Temp1 set Temp2 on-for-timer 5
welcher immer startet wenn was läuft
define Rollo_stop_Zimmer2 DOIF ( [notify Temp2:STATE:.off] or\
[notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.on] or\
[notify HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.on] )\
( set HMW_IO_12_Sw14_DR_MEQ0370281_11 off;\
set HMW_IO_12_Sw14_DR_MEQ0370281_12 off;\
set HMW_IO_12_Sw14_DR_MEQ0370281_13 off;\
set HMW_IO_12_Sw14_DR_MEQ0370281_14 off;\
set Temp1 off; )
weiterer Versuch
define Rollo_stop_Zimmer2 notify ([HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.on]|\
[HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.on]|\
[Temp2:STATE:.off]) {\....
es kommt aber immer eine Fehlermeldung das irgendetwas nicht paßt.
So was könnte gehen, also alle notify Trigger um die es geht noch einmal in einem notify - diese schaltet dann einfach alle Ausgänge auf off:
define nty_Stop notify HMW_IO_12_Sw14_DR_MEQ0370281_16:.on|HMW_IO_12_Sw14_DR_MEQ0370281_18:.on set HMW_IO_12_Sw14_DR_MEQ0370281_1.* off
oder einzeln
set HMW_IO_12_Sw14_DR_MEQ0370281_11,HMW_IO_12_Sw14_DR_MEQ0370281_12,HMW_IO_12_Sw14_DR_MEQ0370281_13,HMW_IO_12_Sw14_DR_MEQ0370281_14 off
btw: Hast Du schon mal rename probiert? ;D
Hi,
funktioniert, aber wenn ich einen den Timer einbaue dann wird nichts mehr zurückgesetzt,
define Temp1 dummy
attr Temp1 webCmd on:off
define Temp2 dummy
attr Temp2 webCmd on:off
define Rollo_auf_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.off {\
fhem "set Temp1 on";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_11 on";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_14 on";;}
define Rollo_ab_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.off {\
fhem "set Temp1 on";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_12 on";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_13 on";;}
define Zeit_Temp2 notify Temp1:on.* {\
fhem "set Temp2 on-for-timer 5";;\
fhem "set Temp1 off";; }
define Rollo_stopp_Zimmer2 notify HMW_IO_12_Sw14_DR_MEQ0370281_16:STATE:.on|HMW_IO_12_Sw14_DR_MEQ0370281_18:STATE:.on|Temp2:off.* {\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_11 off";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_12 off";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_13 off";;\
fhem "set HMW_IO_12_Sw14_DR_MEQ0370281_14 off";; }
wie ist das mit den NOTIFY zu verstehen, wird die ganze ODER-Verknüpfung als notify gesehen oder die einzelnen Abfragen auf on oder off?
Wenn die gesamte Verknüpfung gesehen wird, dann kann es nicht gehen. Aber wie kann man dann einzelne NOTIFYs verknüpfen.
Notify erster Satz in der commandref:
ZitatFührt eine oder mehrere Anweisungen aus, wenn ein Event generiert wurde, was dem <Suchmuster> (Gerätename oder Gerätename:Event) entspricht. Die Anweisung ist einer der FHEM Befehlstypen. Zum Test dient das trigger-Kommando.
Ich könnte es nicht besser beschreiben, Du kannst notifys nicht an sich verknüpfen.
In meinem Beispiel werden beide Trigger ausgewertet, also wenn einer der beiden Eingänge nach "on" geht, wird das notify getriggert.
Was meinst Du mit Timer, wozu soll der sein? Ich dachte, Du willst sobald die Taste gedrückt wird auf Stop gehen. Oder willst du auf Stop gehen wenn die Taste lange gedrückt wird?
Schreib doch mal bitte auf, was Du willst. Ohne code. ich habe es entweder nicht kapiert oder Du redest immer wieder von einem anderen Fall.
Hallo Otto,
Zitatwenn ein Event generiert wurde, was dem <Suchmuster>
heißt also nicht ganz
Zitatwenn einer der beiden Eingänge nach "on" geht, wird das notify getriggert
sondern wenn einer schon oben wäre das kein NOTIFY ausgelöst wird, sehr schade, jetzt muß ich wieder überlegen wie ich das umgehe :-(
doch, notify reagiert auf events nicht auf Stati. Also Wechsel von off auf on. Hauptsache diese Eingänge produzieren überhaupt welche.
Mach Dir doch ganz einfache notifys mit Dummys und schau im Eventmonitor parallel was passiert.