[DOIF] Fibaro Keyfob als Taster benutzen

Begonnen von DerTobi, 25 Mai 2018, 20:10:55

Vorheriges Thema - Nächstes Thema

DerTobi

Hallo zusammen,

ich habe nun schon recht viel rumprobiert und auch hier gesucht. Doch leider komme ich zu keinem vernünftigen Ergebnis.


Ich habe eine Fibaro KeyFob und möchte damit mehrere Sachen schalten. Das Ziel ist es  mit Taster "1" "Stehlampe" ein- UND auszuschalten.

Ich bekomme es einfach nicht hin das Taster "1" als Taster funktioniert. Bei meinem aktuellen Stand kann ich zwar mit Taste "1"  die "Stehlampe" einschalten jedoch nicht ausschalten. Ausschalten klappt aber mit Taste 2-6.... was ich auch nicht verstehe ;-)


Hier mal ein List jeweils vom DOIF und dem Device:

DOIF:

   CFGFN     
   DEF        ([KeyFob:cSceneSet] eq "1") (set Stehlampe:FILTER=STATE!=on on) DOELSE (set Stehlampe:FILTER=STATE!=off off) DOELSE
   MODEL      FHEM
   NAME       Keyfob
   NR         286081
   NTFY_ORDER 50-Keyfob
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-05-25 19:52:27   Device          KeyFob
     2018-05-25 19:52:27   cmd             1
     2018-05-25 19:52:27   cmd_event       KeyFob
     2018-05-25 19:52:27   cmd_nr          1
     2018-05-25 19:52:27   e_KeyFob_cSceneSet 1
     2018-05-25 19:51:34   mode            enabled
     2018-05-25 19:52:27   state           cmd_1
   Regex:
   condition:
     0          ReadingValDoIf($hash,'KeyFob','cSceneSet') eq "1"
   devices:
     0           KeyFob
     all         KeyFob
   do:
     0:
       0          set Stehlampe:FILTER=STATE!=on on
     1:
       0          set Stehlampe:FILTER=STATE!=off off
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      cSceneSet: 1
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   KeyFob
     timerevent cSceneSet: 1
     triggerDev KeyFob
     timerevents:
       cSceneSet: 1
     timereventsState:
       cSceneSet: 1
     triggerEvents:
       cSceneSet: 1
     triggerEventsState:
       cSceneSet: 1
   internals:
   itimer:
   readings:
     0           KeyFob:cSceneSet
     all         KeyFob:cSceneSet
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   event-on-update-reading cmd
   room       Aktionen



Device:

CFGFN     
   DEF        df3b91e6 44
   IODev      ZWave_Modul
   LASTInputDev ZWave_Modul
   MSGCNT     414
   NAME       KeyFob
   NR         162457
   STATE      wakeupInterval 86400 1
   TYPE       ZWave
   ZWaveSubDevice no
   ZWave_Modul_MSGCNT 414
   ZWave_Modul_RAWMSG 0004002c055b038f8001
   ZWave_Modul_TIME 2018-05-25 19:52:27
   cmdsPending 0
   homeId     df3b91e6
   isWakeUp   1
   lastMsgSent 1526311744.79428
   nodeIdHex  2c
   READINGS:
     2018-05-24 21:45:50   battery         80 %
     2018-05-25 19:52:27   cSceneSet       1
     2018-05-14 17:29:04   model           FIBARO System FGKF601 Keyfob
     2018-05-14 17:29:04   modelConfig     fibaro/fgkf601.xml
     2018-05-14 17:29:04   modelId         010f-1001-1000
     2018-05-14 17:29:02   state           wakeupInterval 86400 1
     2018-05-14 17:29:04   timeToAck       0.025
     2018-05-14 17:29:04   transmit        OK
Attributes:
   IODev      ZWave_Modul
   classes    ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO BATTERY CENTRAL_SCENE CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC MULTI_CHANNEL_ASSOCIATION POWERLEVEL SECURITY VERSION WAKE_UP PROTECTION APPLICATION_STATUS
   event-on-update-reading cSceneSet
   icon       it_remote
   room       Aktionen
   vclasses   APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CENTRAL_SCENE:3 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 PROTECTION:2 SECURITY:1 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2



Ich habe event-on-update-reading im Device und do always im DOIF.

Nach meinem Verständnis sollte das so funktionieren. Aber scheinbar stehe ich auf dem Schlauch.

Könnte mich eventuell jemand auf den richtigen Weg bringen?

Also Ziel ist es bei drücken von Taste 1 geht Licht an - bei erneutem drücken geht es wieder aus.

Vielen Dank schon mal

tomspatz


Ellert

Du verwendest zwei DOELSE Zweige, aus welchem Grund?

amenomade

Zitat von: Ellert am 27 Mai 2018, 18:31:08
Du verwendest zwei DOELSE Zweige, aus welchem Grund?
Nur um eine bessere Chance zu haben, dass es nicht funktioniert ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Per

Zitat von: DerTobi am 25 Mai 2018, 20:10:55Ich bekomme es einfach nicht hin das Taster "1" als Taster funktioniert. Bei meinem aktuellen Stand kann ich zwar mit Taste "1"  die "Stehlampe" einschalten jedoch nicht ausschalten. Ausschalten klappt aber mit Taste 2-6.... was ich auch nicht verstehe
Deine Def. sagt, wenn taste = 1 dann schalte ein, sonst schalte aus. Also genau das Verhalten, was du bekommen hast.
Der Filter dahinter schickt nur das Ein-Kommando nicht ab, wenn die Lampe schon an ist. Hat aber keinerlei Einfluss auf das DOIF.
Du wolltest aber: wenn Taste = 1 und Lampe aus, dann an. Sonst Lampe aus.
Dein Filter muss also (wenn auch nicht als Filter, sondern als Lampe = an) in die Bedingung mit rein.