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)
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
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?
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
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 :)
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
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