Hallo zusammen,
ich habe im Garten einen HM-LC-SW4-SM. Über dessen Kanal4 steuere ich ein Garagentor. Nun möchte ich den Hardware-Taster des Kanals 4 am HM-LC-SW4-SM dauerhaft deaktivieren, damit niemand vom Garten aus mein Garagentor öffnen kann. Über Funk möchte ich den Kanal 4 aber weiterhin schalten können. Gibt es da eine Möglichkeit?
Danke und viele Grüße,
Alex.
Hallo Alex,
habe das noch nicht gemacht, aber damit Du weißt in welche Richtung du forschen kannst.
Die Taster sind interne Peers, die kannst Du pro Kanal sichtbar machen set <device> regSet intKeyVisib visib
Dort könntest Du die register (get <> regTable) für self04 sicher so verbiegen, dass er nicht mehr schaltet.
Gruß Otto
Danke! Dazu hatte ich schon gesucht bevor ich gepostet hab und dachte evtl könnte ich "einfach" das interne peering löschen, so dass der taster ins Leere geht. Habe aber leider nicht herausgefunden, wie das geht.
Liebe Grüße
Alex
Löschen kannst Du die internen Peerings nicht.
Du kannst allerdings die Condition Tables so setzen, dass er bei Tastendruck immer auf off geht.
Mach doch mal ein List vom Device. dann sieht man mehr.
so was hier?:
list: register | range | peer | description
1: powerUpAction | literal | | behavior on power up options:off,on
1: sign | literal | | signature (AES) options:on,off
1: statusInfoMinDly | 0 to 15.5s | | status message min delay special:unused
1: statusInfoRandom | 0 to 7s | | status message random delay
1: transmitTryMax | 1 to 10 | | max message re-transmit
3: lgActionType | literal | required | options:toggleToCnt,off,toggleToCntInv,jmpToTarget
3: lgCtDlyOff | literal | required | Jmp on condition from delayOff options:outside,geLo,geHi,between,ltHi,ltLo
3: lgCtDlyOn | literal | required | Jmp on condition from delayOn options:between,geHi,ltHi,outside,geLo,ltLo
3: lgCtOff | literal | required | Jmp on condition from off options:ltLo,geLo,outside,between,ltHi,geHi
3: lgCtOn | literal | required | Jmp on condition from on options:between,ltHi,geHi,geLo,outside,ltLo
3: lgCtValHi | 0 to 255 | required | Condition value high for CT table
3: lgCtValLo | 0 to 255 | required | Condition value low for CT table
3: lgMultiExec | literal | required | execution per repeat message options:on,off
3: lgOffDly | 0 to 111600s | required | off delay
3: lgOffTime | 0 to 111600s | required | off time special:unused
3: lgOffTimeMode | literal | required | off time meant absolut or at least options:absolut,minimal
3: lgOnDly | 0 to 111600s | required | on delay
3: lgOnTime | 0 to 111600s | required | on time special:unused
3: lgOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: lgSwJtDlyOff | literal | required | Jump from delayOff options:dlyOn,no,dlyOff,off,on
3: lgSwJtDlyOn | literal | required | Jump from delayOn options:no,dlyOn,dlyOff,off,on
3: lgSwJtOff | literal | required | Jump from off options:dlyOn,no,on,dlyOff,off
3: lgSwJtOn | literal | required | Jump from on options:no,dlyOn,on,dlyOff,off
3: shActionType | literal | required | options:toggleToCnt,off,toggleToCntInv,jmpToTarget
3: shCtDlyOff | literal | required | Jmp on condition from delayOff options:outside,geLo,geHi,between,ltHi,ltLo
3: shCtDlyOn | literal | required | Jmp on condition from delayOn options:between,geHi,ltHi,outside,geLo,ltLo
3: shCtOff | literal | required | Jmp on condition from off options:ltLo,geLo,outside,between,ltHi,geHi
3: shCtOn | literal | required | Jmp on condition from on options:between,ltHi,geHi,geLo,outside,ltLo
3: shCtValHi | 0 to 255 | required | Condition value high for CT table
3: shCtValLo | 0 to 255 | required | Condition value low for CT table
3: shMultiExec | literal | required | reg unused, placeholder only options:on,off
3: shOffDly | 0 to 111600s | required | off delay
3: shOffTime | 0 to 111600s | required | off time special:unused
3: shOffTimeMode | literal | required | off time meant absolut or at least options:absolut,minimal
3: shOnDly | 0 to 111600s | required | on delay
3: shOnTime | 0 to 111600s | required | on time special:unused
3: shOnTimeMode | literal | required | on time meant absolut or at least options:minimal,absolut
3: shSwJtDlyOff | literal | required | Jump from delayOff options:dlyOn,no,dlyOff,off,on
3: shSwJtDlyOn | literal | required | Jump from delayOn options:no,dlyOn,dlyOff,off,on
3: shSwJtOff | literal | required | Jump from off options:dlyOn,no,on,dlyOff,off
3: shSwJtOn | literal | required | Jump from on options:no,dlyOn,on,dlyOff,off
oder das?
No regs found for:
Garage_Tor_Taster type:switch -
list:peer register :value
1: sign :on
self04
lg sh
ActionType jmpToTarget jmpToTarget
CtDlyOff geLo geLo
CtDlyOn geLo geLo
CtOff geLo geLo
CtOn geLo geLo
CtValHi 100 100
CtValLo 50 50
MultiExec on off
OffDly [s] 0 0
OffTime unused unused
OffTimeMode absolut absolut
OnDly [s] 0 0
OnTime [s] unused 1
OnTimeMode absolut absolut
SwJtDlyOff off off
SwJtDlyOn on on
SwJtOff dlyOn dlyOn
SwJtOn dlyOff dlyOff
Ich würde versuchen
SwJtDlyOn on on
Für bei Fälle sh und lg auf off zu setzen.
shSwJtDlyOn -> off
lgSwJtDlyOn -> off
Den aktuelle Zustand siehst Du mit regTable.
Falls off bedeutet, dass bei Dir nichts passiert.
Gruß Otto
Ergänzung: Den entsprechenden Peer des Kanals (self04?) beachten.
Vermutung: Wenn Du shActionType und lgActionType auf off setzt, müsste das den Taster "richtig" deaktivieren. Ist aber nur eine Vermutung. Per Default sollte dort jmpToTarget stehen.
Zitat von: CQuadrat am 21 August 2017, 14:21:38
Ergänzung: Den entsprechenden Peer des Kanals (self04?) beachten.
Vermutung: Wenn Du shActionType und lgActionType auf off setzt, müsste das den Taster "richtig" deaktivieren. Ist aber nur eine Vermutung. Per Default sollte dort jmpToTarget stehen.
Genau. Damit sind sämtliche Reaktionen deaktiviert und der Taster wird ignoriert.
Also das Setzen hat offenbar schon mal geklappt:
No regs found for:
Garage_Tor_Taster type:switch -
list:peer register :value
1: sign :on
self04
lg sh
ActionType off off
CtDlyOff geLo geLo
CtDlyOn geLo geLo
CtOff geLo geLo
CtOn geLo geLo
CtValHi 100 100
CtValLo 50 50
MultiExec on off
OffDly [s] 0 0
OffTime unused unused
OffTimeMode absolut absolut
OnDly [s] 0 0
OnTime [s] unused 1
OnTimeMode absolut absolut
SwJtDlyOff off off
SwJtDlyOn on on
SwJtOff dlyOn dlyOn
SwJtOn dlyOff dlyOff
Jetzt muss ich nur noch testen, ob auch tatsächlich nichts passiert, wenn ich den Knopf drücke. Kann ich aufgrund Ortsabwesenheit aber erst morgen.
Vielen Dank schon mal!
LG
Alex.
Geht das nicht viel einfacher mit inhibit (set Garage inhibit on) und fertig?
Manchmal können Ideen so einfach sein - klar inhibit geht auch auf den internen Taster (ist ja ein peer) .
Habe es gerade getestet.
Gruß Otto
an inhibit hatte ich auch gedacht. Hatte das aber so verstanden, dass dann gar nichts mehr geht, also auch kein schalten mehr aus fhem.
Das Setzen des ActionType hat aber jedenfalls geklappt.
Gruß,
Alex.
Hallo Alex,
nein, inhibit on "hemmt" den Einfluss aller Peers. Die Steuerung durch die Zentrale ist davon unbeeinflusst.
Gruß Otto
Für eine reine Steuerung über FHEM als Zentrale mag das "inhibit" funktionieren, die Idee hatte ich auch gestern schon. Aber "inhibit" setzt auch absichtlich gepeerte Tasten wie eine Fernbedienung außer Kraft.
Wenn das für den TE kein Problem ist ... bitte.
Zitat von: Pfriemler am 22 August 2017, 19:29:16
Aber "inhibit" setzt auch absichtlich gepeerte Tasten wie eine Fernbedienung außer Kraft.
Alle Peers eben - konsequent ;) (auch der Internen da war ich nicht sicher.)
Zitat von: Otto123 am 22 August 2017, 19:50:21
Alle Peers eben - konsequent ;) (auch der Internen da war ich nicht sicher.)
Doch klar, kenne ich aus den Diskussionen zur Verhinderung von lokalen Rolladenbedienungen (etwa bei offenen (Fliegengitter-)türen, damit sie nicht draufknallen, oder als Kindersicherung) ... da ist das das Mittel der Wahl.