UP-RollladenSchaltaktor mit zweitem Tastendruck neuen Befehl auslösen

Begonnen von copy-and-paste, 15 August 2017, 15:11:29

Vorheriges Thema - Nächstes Thema

copy-and-paste

Hallo!

Ich bin relativer FHEM Neuling und probier mich in die Materie rein zu beißen - auch wenn es so gar nicht meine Welt ist.
Ich bin eher der Handwerker, als der Software und Befehlszeilenkonfigurator.

Alles das ich bis jetzt mit FHEM gemacht habe basiert auf angepastem copy and paste - und das hat mich schon echt Nerven gekostet - ich bitte also um Nachsicht - und vor allem um eine Sprache für eure (hoffentlich) Antworten, die auch ein EDV-Halbidiot versteht ;-)

Jetzt stehe ich vor einem Problem, zu dem ich noch keine für mich verwertbare Lösung gefunden habe und hoffe auf das häufig gelobte Forum!

Ich habe unter anderem einige "Unterputz Rollladen-Schaltaktoren für Markenschalter" HM-LC BI1PBU-FM in meine Installation nachgerüstet, und entsprechend auf "Automatik wie ich mir das wünsche" programmiert.
Das Öffnen einiger meiner Rollläden kann ich derzeit aber aus meinen Familien-Aufstehgewohnheiten nicht mit einer Zeit fixieren, oder benennen. Ich öffne also täglich mit einem Tastendruck pro Fenster den jeweiligen Rollladen.
Das hätte ich gerne komfortabler - dahingehend, dass ich z.b. Nachdem ich mich fertig gemacht habe und meinen Badrollladen geöffnet habe - der Schaltaktor also State "ON" erreicht hat - durch einen erneuten Tastendruck die restlichen Rolladen der gesamten Wohnung ebenfalls hochfahre.

Wenn ich meine Logdateien in FHEM anschaue, bilde ich mir ein, dass der Schaltaktor den Tastendruck registriert und sendet - aber wie ich den auswerten und weiterverarbeiten kann habe ich leider noch nicht herasugefunden.

Gibt es da eine Lösung?

Danke Vielmals!

Wuppi68

Hi,

der Aktor sendet KEINE Events vom Schalter NUR den Zustand des Rolladen.

Du könntest also nur darauf reagieren, dass der Rolladen komplett geöffnet ist ...

also ungefähr so:

define ntyBadRolloOben notify AktorBad:Level\ 100 set AktorRolloIrgendwo pct 100, set AktorRolloWoanders pct 100

just aus dem Kopf - korrekturen möglich
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

nils_

halllo :)

erstmal vorab: du hast im Homematic Unterforum gepostet (du nutzt ja HM, also ok), aber deine Frage passt denke ich besser in das Anfängerforum ;)
sei es drum, auch hier tummeln sich ja einige leute :)

Zitat von: copy-and-paste am 15 August 2017, 15:11:29
Wenn ich meine Logdateien in FHEM anschaue, bilde ich mir ein, dass der Schaltaktor den Tastendruck registriert und sendet - aber wie ich den auswerten und weiterverarbeiten kann habe ich leider noch nicht herasugefunden.

Gibt es da eine Lösung?
viele wege führen nach rom  ::)
du könntest auf die tastendrücke mit einem notify oder DOIF reagieren. die geschmäcker sind da verschieden, für die einen ist ein notify (mit at) einfacher, für die anderen ein DOIF.

zum anlegen der dinger ;) ;) kannst du den eventmonitor nutzen.
in diesem dann vielleicht noch einen filter setzen (regex!! info: mit regex solltest du dich irgendwann einmal befassen!), dann sind es nicht so viele (je nachdem wie umfangreich dein system ist)
dann den event von deinem schalter markieren und Create klicken....
und in dem notify dann entsprechend deine rollos hochfahren. (Rollos zusammenfassen geht vmtl. am einfachsten mit structure)

schlagwortsuche --> https://fhem.de/commandref_DE.html


define nty_hoch <devicename>:up if($NAME:pct > 98) set restlicheRollos up
achtung: pseudocode, funktioniert so nicht!!


//Edit:
wuppi war schneller
Zitat von: Wuppi68 am 15 August 2017, 15:30:30
der Aktor sendet KEINE Events vom Schalter NUR den Zustand des Rolladen.
da hab ich auch wieder was gelernt!
viele Wege in FHEM es gibt!

Otto123

Hi,

ergänzend zu meinen Vorrednern: Du kannst set <Rolladen> on mit einem Befehl für alle ausführen, vor allem von deine Namen halbwegs clever gewählt sind.
Schau Dir in der Doku devspec an (einfach mit ctrl f suchen) oder nimm ein simples regEx. Geht bei mir mit Rollo.* :)
Das habe ich probiert
define di_AlleRollos DOIF ([RolloBad:pct] ==100 and [RolloBad:"on"]) (set Rollo.*:FILTER=STATE!=on on)
attr di_AlleRollos do always


:FILTER=STATE!=on im Ausführungsteil verhindert einen Dauerlauf, ist also zwingend in dem Fall! Weil RolloBad immer wieder mitgetriggert wird. Könnet man auch explizit ausschließen.

Wie Du siehst: viele Wege gibt es in FHEM  8)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

copy-and-paste

Ui - schon Antworten!

Danke dafür erstmal!

Okay - leider sind die eher ernüchternd ausgefallen. Aber es erklärt zumindest, dass ich noch nichts entsprechendes gefunden hatte :-(

Die Wege die ihr mir aufzeigt haben ja die Eigenschaft, dass Die Rollos grundsätzlich IMMER mit aufgehen würden - das geht an meinem Ziel leider vorbei...
Vielleicht strick ich es noch so um, dass "Schlafzimmer und Bad gleichzeitig oben" den Rest triggern... Ist aber auch nicht der Weisheit letzter Schluss.

Danke euch auf jeden Fall!

Otto123

Zitat von: copy-and-paste am 15 August 2017, 15:11:29
durch einen erneuten Tastendruck die restlichen Rolladen der gesamten Wohnung ebenfalls hochfahre.
Du hattest doch gesagt ganze Wohnung!?
Du kannst im Ausführungsteil natürlich machen was Du willst: set Bad on;;set Wohnzimmer on;;set Bettdecke hoch;; set AlleKaffetassen aus dem Schrank

Und das nicht "IMMER mit", sondern nur wenn das Rollo im Bad oben ist und Du noch einmal hoch drückst! Das war doch die Aufgabe!?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

nils_

Zitat von: copy-and-paste am 15 August 2017, 17:29:55
Die Wege die ihr mir aufzeigt haben ja die Eigenschaft, dass Die Rollos grundsätzlich IMMER mit aufgehen würden - das geht an meinem Ziel leider vorbei...

äähm... nein machen sie nicht, es wird ja extra abgefragt wo sich das rollo im bad befindet.
im grunde kannst du alles abbilden (auf verschiendenen wegen), du musst nur wissen was du wie und wann möchtest.
(anmerkung: es müssen dafür natürlich die entsprechenden informationen in fhem vorliegen auf die reagiert werden kann bzw. die verarbeitet werden können. hellsehen geht leider (noch) nicht!)


Zitat von: Otto123 am 15 August 2017, 19:15:43
Du kannst im Ausführungsteil natürlich machen was Du willst: set Bad on;;set Wohnzimmer on;;set Bettdecke hoch;; set AlleKaffetassen aus dem Schrank
lol  8)
viele Wege in FHEM es gibt!

copy-and-paste

Oookay ...

Otto - danke ich habe Deine Zeile gestern mal zum testen so übernommen (logisch - mit meinen eigenen Aktornamen - und als den "fremdgesteuerten" mal nur meinen Küchenrollladen) und ne "Testfahrt" gemacht.
Das Resultat war so, dass ich meinen Bad Rollo ein mal aufgedrückt habe. Der ist in die Endlage nach oben gefahren. Etwa eine, eineinhalb Sekunden später (mit dem Abschalten meines Schaltaktors, das er immer erst kurz nach der Endlage macht) ist dann ohne weiteren Tastendruck mein Küchenrollladen angesteuert worden. Also leider nicht so, wie ich mir das erhofft habe.
Aber Du hast die Aufgabe völlig richtig erfasst!
Dass ich den Ausführungsteil recht frei gestalten kann ist sogar mir klar (wobei - wo gibt´s die Homematic-Tassen?!)
Daher kam dann meine Laien-Alternative "Wenn im Schlafzimmer offen ist, ist meine Frau wach AND wenn ich im Bad fertig bin seh ich wieder tageslichttauglich aus - dann kann ich die restlichen Rollos hochfahren und wecke die Kids damit."

Wo liegt mein Fehler hier (nicht für das tageslichttaugliche Aussehen - sondern für die Grundaufgabe!) ?!
Du fragst den Stand ab - das ist ja pct 100 ... entspricht aber gleichzeitig STATE "ON" - wird das erst übermittelt, wenn der Schaltaktor abschaltet und damit dann als der zusätzliche Schaltbefehl gelesen?

Danke - Gruß Martin

Otto123

Hallo Martin,

stimmt, der Aktor bringt nach Abschluss nochmal die Fertigmeldung, da ist das on nochmal drin. Ich hatte nicht genau so einen Aktor mit internen Tasten in der Nähe und habe das mit einem extern gepeerten gemacht.
Da musst Du bitte mal konkret im Eventmonitor schauen und die Events so rausfischen das es passt. Sollte schon gehen.

Vielleicht geht es mit [RolloBad:"set_on"] als Starttrigger.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Hallo,

habt Ihr mal über eine sequence nachgedacht?
Die Events erscheinen mir sonst nicht unterscheidbar. Also: Wenn innerhalb von einer Minute nach einem "on" ein zweites "on" kommt, mache alle auf...

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Wuppi68

die internen Taster eines Rolladenaktors erzeugen keine Events

Nur der (errechnete) Zustand ergibt einen Event ....

Das kommt wenn die Rollade oeben angekommen ist ...

2017-08-16 21:55:08 CUL_HM hm.rollade.1 deviceMsg: on (to hm.vccu)
2017-08-16 21:55:08 CUL_HM hm.rollade.1 level: 100
2017-08-16 21:55:08 CUL_HM hm.rollade.1 motor: stop:on
2017-08-16 21:55:08 CUL_HM hm.rollade.1 pct: 100
2017-08-16 21:55:08 CUL_HM hm.rollade.1 on


und KEINE Events wenn der Rolladen oben ist und noch einmal gedrückt wird

just my 2cents
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Otto123

Das der interne Taster keinen Event erzeugt ist klar.
Das mit dem set_on war ein Trugschluss, der kommt wegen meiner Bedienung über die FHEM Oberfläche.
Aber wenn er oben ist und man nochmal drückt kommt schon ein Event. Bloß auswertbar wäre der wirklich bloß mit Sequence. Der ist identisch mit dem letzten Event nach dem Fahren ganz nach oben.
Beispiel mit Kommentaren:

# Rollade steht bei 81 und ich drücke hoch kein Event
# Rolllade kommt oben an
2017-08-16 22:19:38 CUL_HM RolloKUL deviceMsg: 99 (to VCCU)
2017-08-16 22:19:38 CUL_HM RolloKUL level: 99
2017-08-16 22:19:38 CUL_HM RolloKUL motor: up:99
2017-08-16 22:19:38 CUL_HM RolloKUL pct: 99
2017-08-16 22:19:38 CUL_HM RolloKUL 99
2017-08-16 22:19:38 CUL_HM RolloKUL timedOn: zu
Rolllade schon oben, es kommt noch ein Abschlussevent
2017-08-16 22:19:43 CUL_HM RolloKUL deviceMsg: auf (to VCCU)
2017-08-16 22:19:43 CUL_HM RolloKUL level: 100
2017-08-16 22:19:43 CUL_HM RolloKUL motor: stop:auf
2017-08-16 22:19:43 CUL_HM RolloKUL pct: 100
2017-08-16 22:19:43 CUL_HM RolloKUL auf
2017-08-16 22:19:43 CUL_HM RolloKUL timedOn: zu
#Rolllade oben und nochmal gedrückt
2017-08-16 22:19:57 CUL_HM RolloKUL deviceMsg: auf (to VCCU)
2017-08-16 22:19:57 CUL_HM RolloKUL level: 100
2017-08-16 22:19:57 CUL_HM RolloKUL motor: stop:auf
2017-08-16 22:19:57 CUL_HM RolloKUL pct: 100
2017-08-16 22:19:57 CUL_HM RolloKUL auf
2017-08-16 22:19:57 CUL_HM RolloKUL timedOn: zu


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Zitat von: Wuppi68 am 16 August 2017, 22:00:26
die internen Taster eines Rolladenaktors erzeugen keine Events
Das stimmt absolut und war auch nie bezweifelt, aber es werden im Ergebnis nach einem Tastendruck einige Events ausgelöst (ob man die alle mitbekommt, ist eine weitere Frage, während des Fahrens bekomme ich z.B. bei unterschiedlichen Interfaces auch unterschiedliche viele Zwischenstände).

ABER: Ist der Rolladen bereits oben und ich drücke EINMAL "hoch", habe ich nach einer gewissen Zeit ZWEI "on" Events, die vom Rolladenaktor direkt kommen!

Das mit Sequence ginge also, aber bitte vorher prüfen, wieviele passende Events jetzt wirklich ausgelöst werden. Zur Erläuterung: ich habe 3 HM-Interfaces, zwei direkt am PI und einen mapleCUN. Evtl. kommt das 2. Event von der Zeitverzögerung im Netz, bis das vom mapleCUN da ist.

So long,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Pfriemler

#13
ZitatGibt es da eine Lösung?

Ich sach mal "nein". Warum?
Das Problem ist und bleibt, dass die direktbedienten Aktoren keine Tastendrücke senden und also auch keine verwertbaren Informationen liefern. Vermutlich ist es einfacher, ein anderes Event zu erzeugen (mit einem zusätzlichen Taster z.B.) Denkbar wäre auch, dass der nächste erreichbare öffnende Rolladen (also nicht der im Bad) indirekt in FHEM Folgereaktionen auslöst (im Sinne "der Rolladen geht auf und der im Bad ist schon auf, also fahre alle anderen auch mit hoch").

Eine mögliche Idee hätte ich aber noch, ungeprüft: Bei Dimmaktoren nutze ich reduzierte Einschaltschwellen bei kurzer Betätigung, die man dann mit längerem Drücken "überdimmen" kann. Evtl. ist es möglich, den Bad-Rolladenaktor bei lokalem kurzen Knopfdruck bspw. nur auf 99 oder 98 % öffnen zu lassen (per Registerprogrammierung - bzw. 1 oder 2%, denn bei HM ist die Logik default andersrum - jedenfalls auf fast-auf) und bei längerem Druck wird diese Schwelle überfahren. Ablauf wäre dann: morgens ins Bad, kurzer Druck - Rolladen öffnet, wenn fertig dann langer Druck - Rolladen öffnet ganz und FHEM erkennt das und fährt die anderen Rolläden auch hoch. Dann darf man nur nie den Bad-Rolladen von anderen Aktionen auf "auf" setzen lassen, sonst fahren dann natürlich auch wieder alle anderen hoch ...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

copy-and-paste

Hallo!

Ich les das alles mit und bilde mir ein, das auch soweit verstanden zu haben.

Die Möglichkeit von Pfriemler
Zitat(im Sinne "der Rolladen geht auf und der im Bad ist schon auf, also fahre alle anderen auch mit hoch").

trifft recht genau meinen Alternativvorschlag...
Zitat"Wenn im Schlafzimmer offen ist, ist meine Frau wach AND wenn ich im Bad fertig bin seh ich wieder tageslichttauglich aus - dann kann ich die restlichen Rollos hochfahren und wecke die Kids damit."
... geht aber wie erwähnt knapp am Ziel vorbei.

Die Idee von Beta-User passt am genauesten zu meiner Grundidee - lediglich dass dann nicht durch ein "zweites schalten", sondern durch eine "zweite Endabschaltung" innerhalb einer vorgegebenen Zeit der Vorgang ausgelöst wird.
Den einzigen (für mich verkraftbaren) Nachteil erkenne ich darin, dass mein Rollladenmotor in Endlage nochmal für ein, zwei Sekunden bestromt wird - das sehe ich aber aufgrund einer mechanischen Endlagenabschaltung im Rohrmotor als unkritisch.

Da werd ich jetzt mal auf die Suche nach "Sequence" gehen und mich da probieren reinzulesen... Das klingt (für mich) zumindest erheblich realisierbarer, als Pfriemlers Idee mit langem / kurzem Tastendruck - so viel schlau lesen kann ich mich gar nicht ...


Vielen Dank an euch!