FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: alexmetz am 21 August 2017, 08:27:51

Titel: internen Hardware-Taster deaktivieren
Beitrag von: alexmetz am 21 August 2017, 08:27:51
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Otto123 am 21 August 2017, 09:39:38
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
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: alexmetz am 21 August 2017, 12:30:16
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
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: CQuadrat am 21 August 2017, 13:06:15
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: alexmetz am 21 August 2017, 13:53:12
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         
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Otto123 am 21 August 2017, 13:57:25
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
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag 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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: papa am 21 August 2017, 14:52:27
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: alexmetz am 21 August 2017, 15:19:37
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Deudi am 22 August 2017, 10:22:39
Geht das nicht viel einfacher mit inhibit (set Garage inhibit on) und fertig?
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Otto123 am 22 August 2017, 10:27:04
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
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: alexmetz am 22 August 2017, 12:49:18
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Otto123 am 22 August 2017, 13:27:14
Hallo Alex,

nein, inhibit on "hemmt" den Einfluss aller  Peers. Die Steuerung durch die Zentrale ist davon unbeeinflusst.

Gruß Otto
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Pfriemler am 22 August 2017, 19:29:16
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.
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Otto123 am 22 August 2017, 19:50:21
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.)
Titel: Antw:internen Hardware-Taster deaktivieren
Beitrag von: Pfriemler am 22 August 2017, 20:04:39
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.