Hauptmenü

DOIF mit Wandtaster ??

Begonnen von Sky, 13 Dezember 2022, 18:54:44

Vorheriges Thema - Nächstes Thema

Sky

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

rabehd

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?
Auch funktionierende Lösungen kann man hinterfragen.

Sky

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?

Sky

Erste Ergebnisse .....

set MQTT2_DVES_8594F8 on


funktioniert über die Befehlszeile

Trotzdem schaltet das DOIF noch nicht

kabanett

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ß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Sky

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

kabanett

Das sollte auch funktionieren...
([HUESensor8] eq "1002")  (set MQTT2_DVES_8594F8 on)

Soll das DOIF wirklich nur einschalten?
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Sky

Natürlich werde ich auf der Grundlage das DOIF zum ausschalten machen


([HUESensor8:"LeftLongPress"])  (set MQTT2_DVES_8594F8 off)

pcbastler

kann das  MQTT2_DVES_8594F8 kein toggle?

Sky

Doch ,kann es.
Habe mich aber an "on" und "off" gewöhnt ;))

Danke noch mal ...