(gelöst) Neigungssensor mit Relaisaktor peeren - toggelt aber nur - ?

Begonnen von Pfriemler, 26 März 2014, 18:43:12

Vorheriges Thema - Nächstes Thema

Pfriemler

Hallo allseits,
ich möchte den Status meines Garagentors über ein Relais direkt anzeigen und das zur konsequenten Lastvermeidung per peer erledigen statt mit einem Notify
Das Peeren mit dem Kanal 4 "4RelaisN4" des Relaismoduls HM-LC-Sw4 war einfach:
set Garagentor peerChan 0 4RelaisN4 single
Kippe ich den Sensor, zeigt er das ACK mit grün auch umgehend an. Das Relais toggelt aber nur bei Öffnen, statt dem Zustand direkt zu folgen.
Bei einem Button wäre das Verhalten klar, aber bei einem Zustandssensor?

BTW: wieso ist das ein "threeStateSensor"? Das Ding kennt genau zwei Zustände: opened und close. (kopfkratz)
"Ä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 ..."

martinp876

ZitatBTW: wieso ist das ein "threeStateSensor"? Das Ding kennt genau zwei Zustände: opened und close. (kopfkratz)
Guter Punkt. Im Prinzip tut er aber das Identische.  Kannst du einmal
attr global showInternalValues 1
list <tis>
machen?

ZitatDas Relais toggelt aber nur bei Öffnen, statt dem Zustand direkt zu folgen.
da hast du das Prinzip von HM nicht verstanden. Ein sensor sendet "trigger" und einen Wert dazu. Ein Button sendet trigger ohne wert, aber mit Zähler.
Alles andere ist im Aktor einzustellen.
Der Aktor ist wie bei einem Button eingestellt - der Wert interessiert nicht. Das solltest du Ändern.

Dein Sensor sendet bei closed 0 und bei open 200 (^= 100%). Kontrollieren das, konnte auch umgekehrt sein. Steht aber in den Readings.
Der Sensor sendet einen Short trigger - also musst du die Register sh... des Aktors ansehen.

Achte auf die ConditionTable, also alles was mit shCt beginnt.
shCtValLo 50
das ist einer der beiden Vergleichwerte, genannt 'Lo'. Name ist egal, default Wert ist 50 (25%).

Und mit der Table stellst du ein, wann ein trigger gültig ist.
shCtDlyOff geLo
shCtDlyOn geLo
shCtOff geLo
shCtOn geLo

Dein Tis sendet 200 bei offen - das ist gröesser also 50 - also
shCtValLo=50
Vergleich (alle) stehen auf "geLo" = Geater or Equal Val Lo . Tis meldet 200 => trigger ist gültig

Kommt ein Closed ist der wert des Tis 0. Die Bedingung ist falsch, der Trigger wird nicht ausgeführt

Ich hoffe das Prinzip ist klar.
Wenn das Licht an ist soll nur ein Trigger mit closed (0) gültig sein
shCtDlyOn ltLo
Prosa: wenn Schalter = 'on' - Nur Trigger LTLO (less than low) sollen gültig sein.

Wenn das Licht aus ist soll nur ein Trigger mit open(200) gültig sein
shCtDlyOff geLo
Prosa: wenn Schalter = 'off' - Nur Trigger geLO (greater equal low) sollen gültig sein.

Die beiden anderen Zustände meist irrelevant
shCtDlyOff geLo
shCtDlyOn geLo
Wenn du mit Delays arbeitest könntest du auch hier noch unterscheiden, was du willst.
Normal willst du das Licht nach dem Schliessen noch ein paar sec anlassen.  Dann ist mehr zu tun und diese Trigger werden benötigt

Gruss Martin

Pfriemler

#2
Das ist so schön wie eine Privatvorlesung. Ich bin echt begeistert. Warum findet man das nicht im Wiki oder sonstwo? (oder finde ich das einfach nur nicht?)

Also: list liefert
Internals:
   .triggerUsed 1
   CFGFN     
   DEF        111111
   HMLAN1_MSGCNT 60
   HMLAN1_RAWMSG E23BDA6,0000,05862ADC,FF,FFBD,3CA44123BDA61411AB0133C8
   HMLAN1_RSSI -67
   HMLAN1_TIME 2014-03-26 20:18:16
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     60
   NAME       Garagentor
   NR         263
   STATE      open
   TYPE       CUL_HM
   lastMsg    No:3C - t:41 s:111111 d:222222 0133C8
   protLastRcv 2014-03-26 20:18:16
   protSnd    49 last_at:2014-03-26 20:18:16
   protState  CMDs_done
   rssi_at_HMLAN1 avg:-54.63 min:-67 max:-45 lst:-67 cnt:60
   Readings:
     2014-03-26 18:12:34   .D-devInfo      010101
     2014-03-26 18:12:34   .D-stc          80
     2014-03-26 20:18:16   .protLastRcv    2014-03-26 20:18:16
     2014-03-26 18:12:34   Activity        alive
     2014-03-26 18:12:34   CommandAccepted yes
     2014-03-26 18:12:34   D-firmware      1.4
     2014-03-26 18:12:34   D-serialNr      KEQxxxxxx
     2014-03-26 18:12:35   PairedTo        0x222222
     2014-03-26 18:11:11   R-4RelaisN4-expectAES off
     2014-03-26 18:11:11   R-4RelaisN4-peerNeedsBurst off
     2014-03-26 18:11:10   R-cyclicInfoMsg off
     2014-03-26 18:11:10   R-eventFilterTime 0 s
     2014-03-26 18:11:10   R-ledOnTime     0.5 s
     2014-03-26 18:11:10   R-msgScPosA     closed
     2014-03-26 18:11:10   R-msgScPosB     open
     2014-03-26 18:11:10   R-pairCentral   0x222222
     2014-03-26 18:11:10   R-sabotageMsg   on
     2014-03-26 18:11:10   R-transmDevTryMax 6
     2014-03-26 18:11:10   R-transmitTryMax 6
     2014-03-26 18:12:35   RegL_00:          02:01 09:00 0A:22 0B:22 0C:22 10:01 14:06 00:00
     2014-03-26 18:12:35   RegL_01:          08:00 20:60 22:64 23:00 30:06 00:00
     2014-03-26 20:18:16   contact         open (to HMLAN1)
     2014-03-26 20:18:16   state           open
   Helper:
     cSnd       02222221111110103
     mId        0043
     peerIDsRaw ,00000000
     rxType     12
     Io:
       newChn     +222222,00,01,1E
       nextSend   1395861496.26665
     Prt:
       bErr       0
       sProc      0
       sleeping   1
       try        1
       Rspwait:
     Q:
       qReqConf   
       qReqStat   
     Role:
       chn        1
       dev        1
     Rpt:
       IO         HMLAN1
       flg        A
       ts         1395861496.19095
       ack:
         HASH(0x1d45920)
         3C80021111112222220101C800
     Rssi:
       At_hmlan1:
         avg        -54.6333333333333
         cnt        60
         lst        -67
         max        -45
         min        -67
     Shadowreg:
Attributes:
   IODev      HMLAN1
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.4
   model      HM-SEC-TIS
   peerIDs    00000000,
   room       CUL_HM
   serialNr   KEQ0804130
   subType    threeStateSensor

Ich hab dabei mal versucht, meine Zentrale durch 111111 und den TIS durch 222222 zu ersetzen ... Datenschutz? Egal.

ZitatDein Sensor sendet bei closed 0 und bei open 200 (^= 100%). Kontrollieren das, konnte auch umgekehrt sein. Steht aber in den Readings.
Finde ich nicht.

In den Registern des Aktors bin ich fündig geworden: (HM-LC-Sw4-Ba-PCB)
CommandAccepted
yes...
R-Garagentor_chn-01-shActionType  jmpToTarget
R-Garagentor_chn-01-shCtDlyOff  geLo
R-Garagentor_chn-01-shCtDlyOn  geLo
R-Garagentor_chn-01-shCtOff  geLo
R-Garagentor_chn-01-shCtOn  geLo
R-Garagentor_chn-01-shCtValHi 100
R-Garagentor_chn-01-shCtValLo 50
R-Garagentor_chn-01-shOffDly 0 s
...
R-Garagentor_chn-01-shOnTime
peerList  Garagentor,
...
trigLast  Garagentor :closed
trig_Garagentor  closed


Kann es sein, dass bei Deiner Anleitung:
ZitatWenn das Licht an ist soll nur ein Trigger mit closed (0) gültig sein
shCtDlyOn ltLo
Prosa: wenn Schalter = 'on' - Nur Trigger LTLO (less than low) sollen gültig sein.

Wenn das Licht aus ist soll nur ein Trigger mit open(200) gültig sein
shCtDlyOff geLo
Prosa: wenn Schalter = 'off' - Nur Trigger geLO (greater equal low) sollen gültig sein.

eigentlich shCtOn und shCtOff gemeint waren? Also ohne Dly...

Wenn ich das richtig gesehen habe, muss ich also nur shCtOn auf ltLo setzen?
edit: so gemacht, und Relais schaltet wie gewünscht. Ich bin mal wieder begeistert.


BTW: ist shOnTime das Register, bei dem ich einen Aktor von Dauer-Ein auf eine Länge begrenzen kann?
"Ä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 ..."

Martin Thomas Schrott

BTW: ist shOnTime das Register, bei dem ich einen Aktor von Dauer-Ein auf eine Länge
begrenzen kann?

Ja :-) genau so ist es.
Liebe Grüße
Martin

martinp876

Zitat... Datenschutz? Egal.
ist nicht so schlimm. 1) mein HMLAN sendet nicht bis zu deinem Haus und 2) dein Nachbar kann mit seinem HMLAN alles mitsniffen (er kann es noch nicht einmal verhindern).
Datenschutz wäre angebracht für AES keys.

ZitatDein Sensor sendet bei closed 0 und bei open 200 (^= 100%). Kontrollieren das, konnte auch umgekehrt sein. Steht aber in den Readings.
Finde ich nicht.
open und closed gibt es in messages nie. da wird ein wert mitgesendet, entweder 0 oder 200, was open oder closed entspricht. Bin mir gerade unsicher, was was ist,eigentlich sollte 0 closed und 200 open sein.

Zitat2014-03-26 18:11:10   R-msgScPosA     closed
     2014-03-26 18:11:10   R-msgScPosB     open
Der TIS kann in position A oder B sein. Entsprechend den Registern sendet er in der Position die open oder closed message. oder beide male open oder closed...
Zwischenwerte kannst du nicht senden lassen.

Unklar ist auch, on A gekippt und B gerade ist oder umgekehrt.... kannst du aber einfach testen

ZitatIn den Registern des Aktors bin ich fündig geworden: (HM-LC-Sw4-Ba-PCB)
das ist der Empfänger - klar, hoffe ich. Der muss auf den Sender abgestimmt werden - was wir hier gerade machen.

Zitat... shCtOn und shCtOff gemeint waren? Also ohne Dly...
ja - gut aufgepasst. Der Mechanismus scheint verstanden :)


Pfriemler

Ich denke, mit den Werten liegst du richtig (als threeState müsste es sicherlich 0 und 200 sein. Die Zuordnung 0= closed stimmt auch, sonst wäre die Registermanipulation falsch gewesen. Und hochkant stehend ist closed, gekippt und über Kopf liegend open. Genau so, dass man das Ding von innen an ein Schwingtor pinnen kann.
Habe inzwischen so viele HM-IDs gesehen hier ... bin überzeugt, künftig also ungeschwärzt...

Geht nich gips nich

"Ä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 ..."

martinp876

Zitatals threeState müsste es sicherlich 0 und 200 sein
3-state liefern 0, 100 und 200, also 0%, 50% und 100%. Dual-state nur 0% und 100%.
ZitatGenau so, dass man das Ding von innen an ein Schwingtor pinnen kann.
eQ3 hat meist sinnvolle defaults - und bietet  an, dies zu ändern.
ZitatHabe inzwischen so viele HM-IDs gesehen hier ... bin überzeugt, künftig also ungeschwärzt...
nachdem sie der Einbreche, der wirklich HM ausspionieren will und kann, einfach aus der Luft greifen kann... und jeder, der dies hier liest erst zu dir fahren muss um in sendereichweite zu kommen.... MUSS es egal sein.
Sicherheitsrelevante Dinge (Im Bezug auf Einbruch/Manipulation) nur mit AES