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
list Taster1
list Dose2
list "dein DOIF"
list CUL
Gruß Jens
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
Dein DOIF schaltet Dose2.
Eingefügt hast Du ein list von Dose1...
Dose2 gibt es ? Tippfehler .... ?
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
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. ;)
([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 (http://fhem.de/Heimautomatisierung-mit-fhem.pdf)
Gruß Jens
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
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
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.
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?
Wenn sich Schalter und Steckdosen stören, so kann einfach eine Verzögerung einbauen
wait 1
Halleluja, es war das WAIT.
Vielen Dank für die Hilfe.
Jens