FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Sky am 13 Dezember 2022, 18:54:44

Titel: DOIF mit Wandtaster ??
Beitrag von: Sky am 13 Dezember 2022, 18:54:44
Hallo ,

ich versuche gerade eine DOIF-Regel zu erstellen.
Beim betätigen meines Wandschalters soll dieser eine Steckdose schalten.
Alle versuche scheitern ,sehe aber den Fehler nicht .Laut Wiki soll das richtig sein


define Doppelschalter_1 DOIF ([HUESensor8]:"LeftShortPress") (set MQTT2_DEVICE MQTT2_DVES_8594F8 on)


2.Versuch :

define Doppelschalter_1 DOIF ([HUESensor8] eq "1002")  (set MQTT2_DEVICE MQTT2_DVES_8594F8 on)


Das list des Wandschalters

Internals:
   DEF        sensor 8  IODev=ConBee
   FUUID      638bd9f8-f33f-cfd3-330d-e55162fdd9b874c5
   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
   ID         S8
   INTERVAL   
   IODev      ConBee
   NAME       HUESensor8
   NR         99
   STATE      LeftShortPress
   TYPE       HUEDevice
   eventCount 35
   has_events 1
   manufacturername LUMI
   modelid    lumi.remote.b286acn01
   name       Wandsender 2-fach Schlafzimmer
   on         1
   reachable  1
   swversion  20180809
   type       ZHASwitch
   uniqueid   00:15:8d:00:02:f0:79:9f-01-0012
   READINGS:
     2022-12-13 18:31:07   IODev           ConBee
     2022-12-11 17:42:55   attrTemplateVersion Xiaomi_Aqara_WXKG02LM_Double_Switch_20211015
     2022-12-13 18:39:33   battery         100
     2022-12-13 18:39:33   batteryPercent  100
     2022-12-13 18:39:33   lastseen        2022-12-13T17:38Z
     2022-12-13 18:39:33   reachable       1
     2022-12-13 18:39:33   state           1002
     2022-12-13 18:39:33   temperature     29
   helper:
     devtype    S
     state      1002
     update_timeout 1
     configList:
     json:
       ep         1
       etag       af21cdca932d35ad7781bc462efb32a7
       lastannounced
       lastseen   2022-12-13T17:38Z
       manufacturername LUMI
       mode       1
       modelid    lumi.remote.b286acn01
       name       Wandsender 2-fach Schlafzimmer
       swversion  20180809
       type       ZHASwitch
       uniqueid   00:15:8d:00:02:f0:79:9f-01-0012
       config:
         battery    100
         temperature 2900
       state:
         buttonevent 1002
         lastupdated 2022-12-13T17:39:33.955
     setList:
Attributes:
   IODev      ConBee
   alias      Doppelschalter
   devStateIcon 100.:taster_ch6_1 200.:taster_ch6_2 300.:taster_ch6_3 400.:taster_ch6_4 500.:taster_ch6_5 600.:taster_ch6_6
   eventMap   1001:LeftLongPress
1002:LeftShortPress
1004:LeftDoublePress
2001:RightLongPress
2002:RightShortPress
2004:RightDoublePress
3001:DoubleLongPress
3002:DoubleShortPress
3004:DoubleDoublePress
   genericDeviceType switch
   group      HUESensor
   icon       taster
   model      lumi.remote.b286acn01
   room       Schlafzimmer,Empfänger


Das list der Steckdose

Internals:
   CID        DVES_8594F8
   DEF        DVES_8594F8
   FUUID      63962a54-f33f-cfd3-d899-f77617ff4b5df85a
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     17
   NAME       MQTT2_DVES_8594F8
   NR         107
   STATE      off
   TYPE       MQTT2_DEVICE
   eventCount 17
   m2s_CONN   m2s_192.168.xxx.xx_7391
   m2s_MSGCNT 17
   m2s_TIME   2022-12-13 18:38:57
   JSONMAP:
     Channel_0  0
     Channel_1  0
     Channel_2  0
     Channel_3  0
     Channel_4  0
     Channel_5  0
     Color      0
     Dimmer     0
     HSBColor   0
     POWER1     0
     POWER2     0
     POWER3     0
     POWER4     0
   READINGS:
     2022-12-13 18:38:57   ENERGY_ApparentPower 0
     2022-12-13 18:38:57   ENERGY_Current  0.000
     2022-12-13 18:38:57   ENERGY_Factor   0.00
     2022-12-13 18:38:57   ENERGY_Period   0
     2022-12-13 18:38:57   ENERGY_Power    0
     2022-12-13 18:38:57   ENERGY_ReactivePower 0
     2022-12-13 18:38:57   ENERGY_Today    0.114
     2022-12-13 18:38:57   ENERGY_Total    242.115
     2022-12-13 18:38:57   ENERGY_TotalStartTime 2019-10-04T18:08:10
     2022-12-13 18:38:57   ENERGY_Voltage  0
     2022-12-13 18:38:57   ENERGY_Yesterday 0.114
     2022-12-13 15:38:48   FallbackTopic   cmnd/DVES_8594F8_fb/
     2022-12-13 15:38:48   GroupTopic      sonoffs
     2022-12-13 18:38:56   Heap            15
     2022-12-13 15:38:48   Hostname        sonoff_1-5368
     2022-12-13 18:31:07   IODev           m2s
     2022-12-13 15:38:48   IPAddress       192.168.xxx.xx
     2022-12-13 18:31:18   LWT             Online
     2022-12-13 18:38:56   LoadAvg         19
     2022-12-13 15:38:48   Module          Gosund SP1 v23
     2022-12-13 15:38:48   RestartReason   Power on
     2022-12-11 20:07:42   SaveData        on
     2022-12-11 20:07:42   SetOption26     on
     2022-12-13 18:38:56   Sleep           50
     2022-12-13 18:38:56   SleepMode       Dynamic
     2022-12-11 20:07:41   StateText1      off
     2022-12-11 20:07:41   StateText2      on
     2022-12-11 20:07:41   StateText3      toggle
     2022-12-11 20:07:41   StateText4      hold
     2022-12-13 18:38:57   Time            2022-12-13T18:38:56
     2022-12-13 18:38:56   Uptime          0T03:00:16
     2022-12-13 15:38:48   Version         6.6.0(release-sonoff)
     2022-12-13 15:38:48   WebServerMode   Admin
     2022-12-13 18:38:56   Wifi_AP         2
     2022-12-13 18:38:56   Wifi_BSSId      2C:3A:FD:FF:CF:50
     2022-12-13 18:38:56   Wifi_Channel    1
     2022-12-13 18:38:56   Wifi_Downtime   0T00:00:07
     2022-12-13 18:38:56   Wifi_LinkCount  1
     2022-12-13 18:38:56   Wifi_RSSI       98
     2022-12-13 18:38:56   Wifi_SSId       xxxxxxxx
     2022-12-11 20:07:40   attrTemplateVersion 20210523
     2022-12-13 18:37:15   state           off
     2022-12-13 18:32:07   subscriptions   cmnd/DVES_8594F8_fb/# cmnd/sonoff_1/# cmnd/sonoffs/#
Attributes:
   alias      Schlafzimmer Stehlampe
   autocreate 0
   comment    NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/sonoff_1/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
   genericDeviceType switch
   icon       hue_filled_outlet
   jsonMap    POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 HSBColor:0 Color:0
   model      tasmota_basic_state_power1
   readingList tele/sonoff_1/LWT:.* LWT
  tele/sonoff_1/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/sonoff_1/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/sonoff_1/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ?  json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
  tele/sonoff_1/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/sonoff_1/POWER1:.* state
  stat/sonoff_1/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
   room       MQTT2_DEVICE,Wohnzimmer
   setList    off:noArg    cmnd/sonoff_1/POWER1 0
  on:noArg     cmnd/sonoff_1/POWER1 1
  toggle:noArg cmnd/sonoff_1/POWER1 2
  setOtaUrl:textField cmnd/sonoff_1/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/sonoff_1/upgrade 1
   setStateList on off toggle
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: rabehd am 13 Dezember 2022, 19:05:47
Was heißt scheitern?

Wo ist das List des DOIF?
Hast Du das DOIF über den Eventmonitor erstellt?
Funktioinert der Befehl im Ausführungsteil in der Kommandozeile?
attr Doppelschalter_1 do always ist dabei?
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: Sky am 13 Dezember 2022, 19:22:16
danke für Deine Hilfe ...

das list des DOIF :


Internals:
   CFGFN     
   DEF        ([HUESensor8] eq "1002")  (set MQTT2_DEVICE MQTT2_DVES_8594F8 on)
   FUUID      6398ba40-f33f-cfd3-bd1f-ad316204b68a7882
   MODEL      FHEM
   NAME       Doppelschalter_1
   NOTIFYDEV  global,HUESensor8
   NR         194
   NTFY_ORDER 50-Doppelschalter_1
   STATE      cmd_2
   TYPE       DOIF
   VERSION    26703 2022-11-14 16:43:41
   eventCount 2
   READINGS:
     2022-12-13 18:47:07   Device          HUESensor8
     2022-12-13 18:45:59   cmd             2
     2022-12-13 18:45:59   cmd_event       HUESensor8
     2022-12-13 18:45:59   cmd_nr          2
     2022-12-13 18:47:07   e_HUESensor8_STATE LeftShortPress
     2022-12-13 18:45:36   mode            enabled
     2022-12-13 18:45:59   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       HUESensor8:
         0:
           &STATE     ^HUESensor8$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'HUESensor8','STATE') eq "1002"
   do:
     0:
       0          set MQTT2_DEVICE MQTT2_DVES_8594F8 on
     1:
   helper:
     NOTIFYDEV  global,HUESensor8
     event      temperature: 29,battery: 100,batteryPercent: 100,reachable: 1,lastseen: 2022-12-13T17:45Z
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   HUESensor8
     timerevent temperature: 29,battery: 100,batteryPercent: 100,reachable: 1,lastseen: 2022-12-13T17:45Z
     triggerDev HUESensor8
     timerevents:
       temperature: 29
       battery: 100
       batteryPercent: 100
       reachable: 1
       lastseen: 2022-12-13T17:45Z
     timereventsState:
       temperature: 29
       battery: 100
       batteryPercent: 100
       reachable: 1
       lastseen: 2022-12-13T17:45Z
     triggerEvents:
       temperature: 29
       battery: 100
       batteryPercent: 100
       reachable: 1
       lastseen: 2022-12-13T17:45Z
     triggerEventsState:
       temperature: 29
       battery: 100
       batteryPercent: 100
       reachable: 1
       lastseen: 2022-12-13T17:45Z
   internals:
     all         HUESensor8:STATE
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   room       Schlafzimmer


Das list habe ich über den Eventmonitor erstellt

Das

attr Doppelschalter_1 do always


habe ich nicht ,
was meinst Du damit ?

Funktioinert der Befehl im Ausführungsteil in der Kommandozeile?
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: Sky am 13 Dezember 2022, 20:04:32
Erste Ergebnisse .....

set MQTT2_DVES_8594F8 on


funktioniert über die Befehlszeile

Trotzdem schaltet das DOIF noch nicht
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: kabanett am 13 Dezember 2022, 20:07:35
Zitat von: Sky am 13 Dezember 2022, 19:22:16
([HUESensor8] eq "1002")  (set MQTT2_DEVICE MQTT2_DVES_8594F8 on)

Das steht aber in deinem DOIF!
Lösch das bitte.

Gruß
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: Sky am 13 Dezember 2022, 20:12:07
Habe ich gerade gemacht ...

Mit folgendem funktioniert es endlich :


([HUESensor8:"LeftShortPress"])  (set MQTT2_DVES_8594F8 on)


Vielleicht ist das auch eine Hilfe für andere ;))

Danke für Deine Hilfe
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: kabanett am 13 Dezember 2022, 20:14:53
Das sollte auch funktionieren...
([HUESensor8] eq "1002")  (set MQTT2_DVES_8594F8 on)

Soll das DOIF wirklich nur einschalten?
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: Sky am 13 Dezember 2022, 21:20:25
Natürlich werde ich auf der Grundlage das DOIF zum ausschalten machen


([HUESensor8:"LeftLongPress"])  (set MQTT2_DVES_8594F8 off)
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: pcbastler am 13 Dezember 2022, 21:44:11
kann das  MQTT2_DVES_8594F8 kein toggle?
Titel: Antw:DOIF mit Wandtaster ??
Beitrag von: Sky am 14 Dezember 2022, 21:41:53
Doch ,kann es.
Habe mich aber an "on" und "off" gewöhnt ;))

Danke noch mal ...