IT Schalter und Steckdose mit DOIF

Begonnen von Giftzwerg01, 16 November 2018, 21:16:51

Vorheriges Thema - Nächstes Thema

Giftzwerg01

Hallo zusammen,

ich hab einen IT Taster und eine IT Steckdose.
Die funktionieren grundsätzlich einwandfrei (über die Weboberfläche kann ich die Steckdose schalten und sehe die Statusänderung des Tasters.

Jetzt will ich mit dem Taster die Steckdose schalten:
DOIF ([Taster1:state] eq "on") (set Dose2 on)
Ich sehe auch wieder die Satusänderung der Stckdose in der Weboberfläche sobald der Taster gedrückt wird, die Steckdose schaltet aber nicht.
Es sieht so aus, als ob das Funksignal nicht raus geht.
Hab Selbstabau-CUL mit a-CULFW

Jens

JensS

list Taster1
list Dose2
list "dein DOIF"
list CUL

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Giftzwerg01

Hallo Jens :)

anbei die Lists

Internals:
   DEF        1527x6e89b 1000 0000
   IODev      NanoCul433A
   NAME       Taster1
   NR         62
   STATE      on
   TYPE       IT
   XMIT       fd1dd0dfd1
   XMITdimdown 00
   XMITdimup  00
   XMIToff    0000
   XMITon     1000
   CODE:
     1          1527x6e89b
   READINGS:
     2018-11-16 20:21:10   protocol        EV1527
     2018-11-16 22:45:32   state           on
Attributes:
   IODev      NanoCul433A
   room       IT

Internals:
   DEF        FFFFF000F0 FF F0
   IODev      NanoCul433A
   NAME       Dose1
   NR         44
   STATE      ???
   TYPE       IT
   XMIT       fffff000f0
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   CODE:
     1          fffff000f0
   READINGS:
     2018-11-16 19:41:40   protocol        V1
Attributes:
   IODev      NanoCul433A
   model      itswitch
   room       IT

Internals:
   DEF        ([Taster1:state] eq "on") (set Dose2 on)
   MODEL      FHEM
   NAME       a
   NR         64
   NTFY_ORDER 50-a
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-11-16 22:45:32   Device          Taster1
     2018-11-16 22:45:32   cmd             1
     2018-11-16 22:45:32   cmd_event       Taster1
     2018-11-16 22:45:32   cmd_nr          1
     2018-11-16 22:45:32   e_Taster1_state on
     2018-11-16 20:34:29   mode            enabled
     2018-11-16 22:45:32   state           cmd_1
   Regex:
   condition:
     0          ::ReadingValDoIf($hash,'Taster1','state') eq "on"
   devices:
     0           Taster1
     all         Taster1
   do:
     0:
       0          set Dose2 on
     1:
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   perlblock:
   readings:
     0           Taster1:state
     all         Taster1:state
   uiState:
   uiTable:
Attributes:

Internals:
   CMDS       ABCeFfGiKLlMNRTtUVWXx
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT::SD_WS07:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600K65I-if00-port0@38400 1234
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600K65I-if00-port0@38400
   FD         7
   FHTID      1234
   NAME       NanoCul433A
   NR         14
   NanoCul433A_MSGCNT 37
   NanoCul433A_TIME 2018-11-18 17:03:38
   PARTIAL   
   RAWMSG     omAAAAAAAA80F2
   RSSI       -81
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.26.04 a-culfw Build: private build (unknown) nanoCUL433 (F-Band: 433MHz)
   initString X21
   MatchList:
     0:FS20V    ^81..(04|0c)..0101a001......00[89a-f]...
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04......a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     C:SD_WS07  ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2018-11-18 16:56:12   cmds             A B C e F f G i K L l M N R T t U V W X x
     2018-11-18 16:30:58   raw             is11001110001111000011110000000011
     2018-11-18 17:03:38   state           Initialized
Attributes:
   rfmode     SlowRF

Danke

Jens

kumue

Dein DOIF schaltet Dose2.
Eingefügt hast Du ein list von Dose1...

Dose2 gibt es ? Tippfehler .... ?


Giftzwerg01

Tippfehler beim List.

Internals:
   DEF        00000FFF0F FF F0
   IODev      NanoCul433A
   NAME       Dose2
   NR         45
   STATE      on
   TYPE       IT
   XMIT       00000fff0f
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   CODE:
     1          00000fff0f
   READINGS:
     2018-11-16 19:41:40   protocol        V1
     2018-11-16 22:45:32   state           on
Attributes:
   IODev      NanoCul433A
   room       IT

kumue

das DOIF hat hier die Dose2 geschaltet...
2018-11-16 22:45:32   cmd             1

Die Dose2 ging zur selben Zeit in den on state
2018-11-16 22:45:32   state           on

Also müsste es ja 1x funktioniert haben.

Wenn es jetzt nicht funktioniert, liegt es evtl. daran, daß das DOIF in dem jetzigen Zustand verharrt. Es ist nur eine Bedingung definiert, eine Zustandsänderung findet nun nicht mehr statt, da keine weiteren Bedigungen mit DOELSEIF, DOELSE definiert sind.
In diesem Falle würde das DOIF-Attribut do always weiterhelfen.

Bitte bei list etc. Code-Tags verwenden (die # über den Smileys). Liest sich dann besser.  ;)

JensS

#6
([Taster1:state] eq "on")
Lass mal :state weg und wie schon erwähnt, "do always".

Für die einfache Verknüpfung genügt ein notify:
define Tasternotify notify Taster1 set Dose2 $EVENT
http://fhem.de/Heimautomatisierung-mit-fhem.pdf

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Giftzwerg01

Ich Schalte Taster1 und Dose2 über die Gui auf off. Drücke den Taster und in der Gui gehen Taster1 und Dose2 auf on.
Die Dose schaltet aber nicht.

Wenn ich die Dose2 über die Weboberflache on/off schalte funktioniert es tadellos.

@dirigent
Die Änderung des Doifs hat da auch nicht geholfen

Das notify geht auch nicht

Ratlos

Jens

JensS

Wenn beim DOIF oder notify der Status der Dose2 auf "on" geändert wird und die Dose2 nicht reagiert, tippe ich auf ein Reichweitenproblem. Manchmal hängen auch die Steckdosen. Dann hilft es, sie kurz vom Netz zu trennen.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Giftzwerg01

Schalter und Dosen sind nur 2, vom CUL entfernt, bin ja noch in der Testphase.

Wenn ich über die Oberfläche schalte geht es auch einwandfrei.

CBSnake

Hi,

evtl drückst du noch auf die Taste während FHEM schon das in Signal sendet, welches dann nicht klar ankommt. Keine Ahnung ob FHEM bei IT erst lauscht und dann sendet. Evtl ein wait und doif?
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Damian

Wenn sich Schalter und Steckdosen stören, so kann einfach eine Verzögerung einbauen

wait 1
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Giftzwerg01

Halleluja, es war das WAIT.

Vielen Dank für die Hilfe.

Jens