Rollo HM-LC-BL1-FM per Trigger von Peer öffnen

Begonnen von discoebbe, 30 April 2017, 14:40:49

Vorheriges Thema - Nächstes Thema

discoebbe

Mein Rolladenaktor (HM-LC-BL1-FM) ist mit einem Wind-Sensor direkt gepeert. Der Windsensor sendet Trigger an meinen Rolladen-Aktor mit Werten zwischen 0 und 200.

Beispiel:
2017-04-30_14:27:08 RolloBueroArbeiten trigLast: Wetterstation:27

Wie muss ich den Aktor konfigurieren, dass er bei Werten ab 15 auf 100% (offen) fährt? Bei Werten unter 15 soll er eigentlich gar nichts machen.

discoebbe

So, ein Blick in die Einsteiger Docu gibt Aufschluss. Ich habe mir die Register shCtValHi und shCtValLo entsprechend auf 15 bzw. 200 eingestellt und dann die Register shCtOff und shCtOn auf "between" gestellt. Abschließend noch shOffLevel auf 100%, damit das Rollo auch auf geht.

martinp876

Nun, es wäre wohl etwas einfacher gegangen.
High oder Low value ( egal, sind beide gleich) auf 30 setzen. Entspricht 15%.
Und dann anstatt between das ge (greater equal) nutzen.
Die 200 sind nicht notwendig.

Mizaru

Hallo,

ich habe ein sehr sehr ähnliches Thema und gefühlt auch schon fast gelöst....aber eben nur fast  ;)   
...vielleicht habt Ihr ja noch eine Idee.

Worum es geht: Ich habe ebenfalls eine Wetterstation HM-WDS100-C6-O-2 und einen Homematic Aktor HM-LC-Bl1PBU-FM. Beide sind soweit in FHEM eingerichtet und funktionieren auch problemlos. Der Aktor "fährt" eine Markise und diese möchte ich jetzt - Ihr ahnt es schon - bei "Sturm" automatisch einfahren.

Folgendes habe ich gemacht:

- Bei der Wetterstation ist der Aktor als Peer eingetragen und taucht dort in der peerList auf

- Bei der Markise bzw. dem entsprechenden Aktor ist gleichzeitig ein neuer Satz an Registern entstanden und dort taucht nun wiederum die Wetterstation als Mitglied der peerList auf - soweit, so gut

- Wenn ich jetzt Sturm "mache" (Fon), dann sendet die Wetterstation auch den entsprechenden Trigger ab - je nachdem ob die Wetterstation mit oder ohne "-2" am Ende in der fhem.cfg eingetragen ist heißt es dann "storm: -" bzw. z.B. "unknown:23" - soweit im Grunde auch keine neue Erkenntniss
- Die Markise (bzw. der Aktor) registriert den Trigger wohl auch und sendet Ihren aktuellen Status zurück

CUL_HM Markise_Balkon deviceMsg: 27 (to Wetterstation)
CUL_HM Markise_Balkon level: 27
CUL_HM Markise_Balkon motor: stop:27
CUL_HM Markise_Balkon pct: 27
CUL_HM Markise_Balkon 27

aber weiters passiert nichts

- Als nächstes habe ich diverse Register gesetzt - hier bin ich dem Weg von discoebbe gefolgt, weil mir die Anregung von martin876 nicht final klar war..
ZitatIch habe mir die Register shCtValHi und shCtValLo entsprechend auf 15 bzw. 200 eingestellt und dann die Register shCtOff und shCtOn auf "between" gestellt. Abschließend noch shOffLevel auf 100%, damit das Rollo auch auf geht.

Die Register sind soweit alle gesetzt:
R-Wetterstation_chn-01-shCtValHi 15
R-Wetterstation_chn-01-shCtValLo 200
R-Wetterstation_chn-01-shCtOff between
R-Wetterstation_chn-01-shCtOn between
R-Wetterstation_chn-01-shOffLevel 0 % (steht bei mir jetzt mal auf 0% - sollte aber ja erstmal egal sein)

Habt Ihr noch irgendwelche Tipps was ich tun soll?
Übersehe ich irgendwas?
Wenn Ihr noch weitere Daten benötigt, auch das jederzeit gerne....

Jetzt hoffe ich mal, das jemand den Fehler findet - ich bin schon seit Tagen am probieren.

Danke jedenfalls schonmal!

martinp876

nun,
1) das mit storm ist unklar und muss geloest werden. ich erwarte einen trigger mit wert. kannst du mir die messages sniffen?
2) die ct dew aktors muss auf die werte eingestellt werden. Du willst einfahren bei sturm. ausfahren nie. korrekt? warum also 2 wert?
3) der aktor muss auf zufahren programmiert werden in der jt. hier kannst du dich am template anlehnen. das ist unabhaengig von der ct. ob das stimmt kannst du mit pressS <peer> testen.

also erst 1, dann 3 erledigen. dann 2 einstellen. dann alles in ein template, sonst geht es dir verloren und du wirst probleme mein austausch eines defekten aktors in probleme kommen.

Mizaru

Hallo Martin,

hab vielen Dank für Deine schnelle Antwort.
das mit 1) sollte ich hinbekommen - poste ich dann sobald erledigt.

zu 2: also setze ich shCtValHi UND shCtValLo beide auf den gewünschten Wert (15)? oder shCtValHi auf "15" und shCtValLo auf "0"?

zu3: ich steh total auf dem schlauch....mit templates habe ich mich bisher noch nicht beschäftigt aber das kann man ja nachholen.
was bedeutet "jt" und was "ct"

Danke!

Mizaru

so hier mal die daten zu punkt 1) - ich hoffe das hilft der erstmal weiter?
Ich habe die Wetterstation mit beiden Modellvarianten eingetragen und dann den jeweiligen Output dazu gepackt.

attr Wetterstation model HM-WDS100-C6-O

FHEM Monitor:
2017-05-30 20:58:17.756 CUL_HM Markise_Balkon trigLast: Wetterstation:27
2017-05-30 20:58:17.756 CUL_HM Markise_Balkon trig_Wetterstation: 27_33
2017-05-30 20:58:17.782 CUL_HM Wetterstation battery: ok
2017-05-30 20:58:17.782 CUL_HM Wetterstation storm: -
2017-05-30 20:58:17.782 CUL_HM Wetterstation trig_01: Markise_Balkon
2017-05-30 20:58:17.782 CUL_HM Wetterstation trigger_cnt: 33
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon deviceMsg: 8 (to Wetterstation)
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon level: 8
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon motor: stop:8
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon pct: 8
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon 8
2017-05-30 20:58:17.877 CUL_HM Markise_Balkon timedOn: rein

fhem.log:
2017.05.30 20:58:17.735 4: CUL_Parse: CUL_1 A 0D 3E A441 50B4AA 3B6A97 01211B0015 -63.5
2017.05.30 20:58:17.744 1: PERL WARNING: Use of uninitialized value $txt in concatenation (.) or string at ./FHEM/10_CUL_HM.pm line 1467.
2017.05.30 20:58:17.745 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/10_CUL_HM.pm line 1470.
2017.05.30 20:58:17.860 4: CUL_Parse: CUL_1 A 0E 3E 8002 3B6A97 50B4AA 0101B800321C -60
2017.05.30 20:58:48.494 4: CUL_Parse: CUL_1 A 13 9C 8670 50B4AA 000000 00E7320026C11206B80026 -55
2017.05.30 20:58:49.995 4: CUL_Parse: CUL_1 A 0D 40 A410 3B6A97 1BEEF1 0601C31001 -73.5
2017.05.30 20:58:58.145 4: CUL_Parse: CUL_1 A 0D 41 A410 3B6A97 1BEEF1 0601C80014 -64
2017.05.30 20:59:28.620 4: CUL_Parse: CUL_1 A 0C B9 8670 27BAA4 000000 00ED321F -58.5



attr Wetterstation model HM-WDS100-C6-O-2

FHEM Monitor:
2017-05-30 21:04:37.754 CUL_HM Markise_Balkon trigLast: Wetterstation:21
2017-05-30 21:04:37.754 CUL_HM Markise_Balkon trig_Wetterstation: 21_35
2017-05-30 21:04:37.777 CUL_HM Wetterstation battery: ok
2017-05-30 21:04:37.777 CUL_HM Wetterstation storm: unknown:15
2017-05-30 21:04:37.777 CUL_HM Wetterstation trig_01: Markise_Balkon
2017-05-30 21:04:37.777 CUL_HM Wetterstation trigger_cnt: 35
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon deviceMsg: rein (to Wetterstation)
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon level: 0
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon motor: stop:rein
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon pct: 0
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon rein
2017-05-30 21:04:37.880 CUL_HM Markise_Balkon timedOn: rein

fhem.log:
2017.05.30 21:04:37.740 4: CUL_Parse: CUL_1 A 0D 40 A441 50B4AA 3B6A97 0123150016 -63
2017.05.30 21:04:37.744 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/10_CUL_HM.pm line 1470.
2017.05.30 21:04:37.866 4: CUL_Parse: CUL_1 A 0E 40 8002 3B6A97 50B4AA 0101C8003418 -62
2017.05.30 21:04:49.121 4: CUL_Parse: CUL_1 A 0C BB 8670 27BAA4 000000 00EB3312 -65
2017.05.30 21:05:17.614 4: CUL_Parse: CUL_1 A 27 10 008E A8784A BF1232 00005EF33652E305458B4592882BD24F33A9CC7D1A01B2EAB123744958D322 -57
2017.05.30 21:05:17.619 3: CUL_1: Unknown code A2710008EA8784ABF123200005EF33652E305458B4592882BD24F33A9CC7D1A01B2EAB123744958D3::-57:CUL_1, help me!
2017.05.30 21:05:17.633 4: CUL_Parse: CUL_1 A 06 A8 784A BF1232 27  -54.5
2017.05.30 21:05:17.637 3: CUL_1: Unknown code A06A8784ABF1232, help me!

martinp876

nun, da ist etwas zu tun. fehlermendungen aus dem code-und die events müsste gleich sein.

die register CT ist eine gruppe welche events filtert. also manche nicht zulaesst.
jt Gruppe legt die Aktionen fest. also das "zu"

die messages der statio en helfen​ weiter. allerdings ist mir aktuell nicht klar, wqnn sie genau kommen​.
schalte dir ct einfach ab indem du low auf 0setzt und alles auf gelow. dann kansst du dich erst einmal auf den jt konzentrieren.

Mizaru

ehrlich gesagt verstehe ich teilweise nur bahnhof - ich habe versucht das am lebenden objekt nachzuvollziehen aber der satz
Zitatschalte dir ct einfach ab indem du low auf 0setzt und alles auf gelow
macht mir nur ??? im kopf ... sorry.
gibt es zu dem thema irgendwo doku? Auf die Schnelle habe ich da jetzt nichts gefunden...

was die messages angeht: die tauchen auf sobald ich den windmesser entsprechend auf touren bringe - beantwortet das deine frage?

martinp876

das Einsteigerdoc erklärt CT und JT.
M.E. ist das immer noch der Einstieg zum Verständniss von HM Devices. Aber vielleicht gibt es schon irgendwo eine bessere Einführung.

CT Abschalten kann man indem man alle Register shCT... und/oder lgCT... auf geLo setzt. Dann noch lgCtValLo auf 0 und shCtValLo auf 0.
Was passiert? Ein kommender Trigger "mit Wert" (nicht alle trigger liefern einen "wert") werden geprüft. Falls der Wert greater or equal "0" ist darf der Trigger passieren. Also immer.
=> der Filter ist "aus" - wir können (erst einmal) die "aktion" definieren.

Die Aktion wird in der JT definiert.
Du kannst das selbst machen - oder du nutzt ein Template
https://wiki.fhem.de/wiki/HomeMatic_HmInfo_Templates_erstellen#Blind_.28Rollo.29_Templates
die stellen eine Sinnvolle Zusammensetzung zu Verfügung - und ich muss es n icht mehrfach beschreiben.

Mizaru

Hallo und danke für die ausführliche Antwort - ich konnte mein Thema damit jetzt erstmal lösen.

Nachdem ich die entsprechenden Teile der Einsteigerdoku durchgearbeitet hatte, wurde mir so manches klar.
Plötzlich ergaben auch manche der zuvor völlig konfus klingenden Tipps einen Sinn.

im Wesentlichen habe ich jetzt - wie vorgeschlagen - folgendes gemacht:

  • alle CT Register auf geLo gesetzt. Zusätzlich *CtValLo auf 0 gesetzt. Damit werden also jetzt alle Trigger zugelassen. 
  • in der JT Konfig hatte ich den ActionType aus Versehen noch auf "off" - hier wurde wieder "jmpToTarget" eingestellt.
  • als letztes hatte ich noch den Effekt, das der Trigger der Wetterstation als Toggle funktioniert hat. Also ist die Markise beim ersten Trigger reingefahren und beim nächsten dann raus..nicht gut. Da ich nicht im Zustandsautomaten herumschrauben wollte, habe ich einfach "OffLevel" und "OnLevel" (jeweils für sh und lg) auf 100% gesetzt. Damit fährt jetzt bei mir die Markise immer rein - so soll es sein. 

Für mich funktioniert das jetzt so erstmal prima. Das die CT alles "durchläßt" sehe ich in dem Fall auch nicht wirklich als Problem. Sobald die Wetterstation einen Trigger sendet, wird eingefahren - lieber so als die Markise aus Nachbars Garten abzuholen  ;D
Beim welchem Schwellwert ein Trigger gesendet wird, kann ich ja auf Seite der Wetterstation einstellen.

Die Geschichte mit den Templates habe ich mir bisher nur kurz angeschaut - sollte im Grunde ja nur eine Sammlung der gemachten Einstellungen sein.
Wenn ich Zeit hatte ein Template zu basteln, melde ich mich.

Danke jedenfalls für Eure Hilfe!