Schalter arbeitet nicht wie erwartet

Begonnen von mfeske, 09 Mai 2017, 16:27:33

Vorheriges Thema - Nächstes Thema

mfeske

Hallo zusammen,

was mache ich den nur verkehrt :-(. Ich habe einen Schalter definiert:
define ITW_852_Tania_01 IT 01001110100100011000000110 0 1010
attr ITW_852_Tania_01 IODev CUL433
attr ITW_852_Tania_01 icon it_remote
attr ITW_852_Tania_01 room Funkzentrale,Tania
define ITW_852_Tania_02 IT 01001110100100011000000110 0 1011
attr ITW_852_Tania_02 IODev CUL433
attr ITW_852_Tania_02 icon it_remote
attr ITW_852_Tania_02 room Funkzentrale,Tania


und zwei DOIF angelegt:
DOIF 1 für Musik
define Musik_SW_Tania_01 DOIF ([08:00-19:00] and [ITW_852_Tania_01] eq "on") (set Musik_Tania on-for-timer 7200, define ITW_852_Tania_01_off at +02:00:00 set ITW_852_Tania_01 off, set ITW_852_Tania_01 off room Tania, attr ITW_852_Tania_01_off  attr ITW_852_Tania_01_off icon hourglass) DOELSEIF ([19:00-08:00] and [ITW_852_Tania_01] eq "on") (set Musik_Tania on-for-timer 3600, define ITW_852_Tania_01_off at +01:00:00 set ITW_852_Tania_01 off room Tania, attr ITW_852_Tania_01_off, attr ITW_852_Tania_01_off icon hourglass, setstate Musik off) DOELSEIF ([ITW_852_Tania_01] eq "off") (set Musik_Tania off, setstate Musik off, delete ITW_852_Tania_01_off)
attr Musik_SW_Tania_01 room Tania
attr Musik_SW_Tania_01 sortby 5


und DOIF 2 für eine Steckdose am Bett
define Bett_SW_Tania_02 DOIF ([08:00-19:00] and [ITW_852_Tania_02] eq "on") (set Bett_Tania on-for-timer 3600, define ITW_852_Tania_02_off at +01:00:00 set ITW_852_Tania_02 off, attr ITW_852_Tania_02_off room Tania, attr ITW_852_Tania_02_off icon hourglass) DOELSEIF ([19:00-08:00] and [ITW_852_Tania_02] eq "on") (set Bett_Tania on-for-timer 1800, define ITW_852_Tania_02_off at +00:30:00 set ITW_852_Tania_02 off, attr ITW_852_Tania_02_off room Tania, attr ITW_852_Tania_02_off icon hourglass) DOELSEIF ([ITW_852_Tania_02] eq "off") (set Bett_Tania off, delete ITW_852_Tania_02_off)
attr Bett_SW_Tania_02 room Tania
attr Bett_SW_Tania_02 sortby 6


Wenn ich:
1) ITW_852_Tania_01 über den Schalter betätige (on) wird Bett_Tania (unerwünscht) und Musik_Tania (erwünscht) auf on gesetzt am Status für ITW_852_Tania_01 ändert sich leider nichts. Wenn ich ITW_852_Tania_01 über das Webinterface betätigt wird es erst beim zweiten klick auf on gesetzt.

2) ITW_852_Tania_01 über den Schalter betätige betätige (off) wird Bett_Tania (unerwünscht) und Musik_Tania (erwünscht) auf off gesetzt am Status für ITW_852_Tania_01 ändert sich leider nicht.

3) ITW_852_Tania_02 über den Schalter betätige (on) wird Bett_Tania (erwünscht) und Musik_Tania (unerwünscht) auf on gesetzt, Der Status für ITW_852_Tania_02 ändert sich korrekt.

4) ITW_852_Tania_02 über den Schalter betätige (off) wird Bett_Tania (erwünscht) und Musik_Tania (unerwünscht) auf off gesetzt, Der Status für ITW_852_Tania_02 ändert sich korrekt.

list

Internals:
   00         0
   CUL433_MSGCNT 10
   CUL433_RAWMSG i65a9965695569599
   CUL433_RSSI -77.5
   CUL433_TIME 2017-05-09 16:21:49
   DEF        01001110100100011000000110 0 1010
   IODev      CUL433
   LASTInputDev CUL433
   MSGCNT     10
   NAME       ITW_852_Tania_01
   NR         510
   STATE      off
   TYPE       IT
   XMIT       0100111010010001100000011001010
   XMITdimdown 00
   XMITdimup  00
   XMITon     1
   Code:
     1          0100111010010001100000011001010
   Readings:
     2016-07-05 21:37:06   group           0
     2016-07-05 21:37:06   protocol        V3
     2017-05-09 16:21:49   state           off
     2016-07-05 21:37:06   unit            1010
Attributes:
   IODev      CUL433
   icon       it_remote
   room       Funkzentrale,Tania

Internals:
   00         0
   CUL433_MSGCNT 5
   CUL433_RAWMSG i65a996569556959a
   CUL433_RSSI -74.5
   CUL433_TIME 2017-05-09 16:23:56
   DEF        01001110100100011000000110 0 1011
   IODev      CUL433
   LASTInputDev CUL433
   MSGCNT     5
   NAME       ITW_852_Tania_02
   NR         511
   STATE      off
   TYPE       IT
   XMIT       0100111010010001100000011001011
   XMITdimdown 00
   XMITdimup  00
   XMITon     1
   Code:
     1          0100111010010001100000011001011
   Readings:
     2016-07-05 21:37:06   group           0
     2016-07-05 21:37:06   protocol        V3
     2017-05-09 16:23:56   state           off
     2016-07-05 21:37:06   unit            1011
Attributes:
   IODev      CUL433
   icon       it_remote
   room       Funkzentrale,Tania


log

2017.05.09 16:33:46 3: CUL433 IT: ITW_852_Tania_01 off->on
2017.05.09 16:33:46 3: CUL433 IT_set: Musik_Tania on
2017.05.09 16:33:47 3: CUL433 IT_set: ITW_852_Tania_01 off room Tania
2017.05.09 16:33:47 2: IT IODev device didn't answer is command correctly:   raw => i65A99656955696990A
2017.05.09 16:33:47 3: ITW_852_Tania_01_off: unknown attribute attr. Type 'attr ITW_852_Tania_01_off ?' for a detailed list.
2017.05.09 16:33:47 2: Musik_SW_Tania_01:  attr ITW_852_Tania_01_off  attr ITW_852_Tania_01_off icon hourglass: ITW_852_Tania_01_off: unknown attribute attr. Type 'attr ITW_852_Tania_01_off ?' for a detailed list.
2017.05.09 16:33:48 3: CUL433 IT: message "is01001110100100011000000110001010" (34) too short!
2017.05.09 16:33:48 3: CUL433 IT: message "is01001110100100011000000110001010" (34) too short!
2017.05.09 16:33:48 3: CUL433: Unknown code is01001110100100011000000110001010, help me!
2017.05.09 16:33:54 3: CUL433 IT: ITW_852_Tania_01 off room Tania->off
2017.05.09 16:33:54 3: CUL433 IT_set: Musik_Tania off
2017.05.09 16:33:54 2: Musik_SW_Tania_01:  setstate Musik off: Please define Musik first
2017.05.09 16:33:55 3: CUL433 IT: ITW_852_Tania_01 off->off
2017.05.09 16:34:06 3: CUL433 IT: ITW_852_Tania_02 off->on
2017.05.09 16:34:06 3: CUL433 IT_set: Bett_Tania on
2017.05.09 16:34:11 3: CUL433 IT: ITW_852_Tania_02 on->off
2017.05.09 16:34:11 3: CUL433 IT_set: Bett_Tania off
2017.05.09 16:34:12 3: CUL433 IT: ITW_852_Tania_02 off->off


Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Per

Sollte

define ITW_852_Tania_01_off at +02:00:00 set ITW_852_Tania_01 off room Tania, attr ITW_852_Tania_01_off  attr ITW_852_Tania_01_off icon hourglass
nicht eher
define ITW_852_Tania_01_off at +02:00:00 set ITW_852_Tania_01 off,attr ITW_852_Tania_01_off room Tania,attr ITW_852_Tania_01_off icon hourglass
heissen? Entsprechend auch bei den anderen at.

Damian

Zitat von: Per am 10 Mai 2017, 21:29:53
Sollte

define ITW_852_Tania_01_off at +02:00:00 set ITW_852_Tania_01 off room Tania, attr ITW_852_Tania_01_off  attr ITW_852_Tania_01_off icon hourglass
nicht eher
define ITW_852_Tania_01_off at +02:00:00 set ITW_852_Tania_01 off,attr ITW_852_Tania_01_off room Tania,attr ITW_852_Tania_01_off icon hourglass
heissen? Entsprechend auch bei den anderen at.

Warum benutzt man umständlich eine at-Definition im DOIF, wenn es genau für diesen Zweck wait gibt? at oder sleep macht im DOIF nur richtig Sinn, wenn man etwas generalisieren möchte, da reicht dann ein Timer (wait) nicht mehr aus.

z. B.

Auszug aus der Commandref:
Zitat
Verzögerte "Fenster offen"-Meldung

define di_window_open DOIF ["^window_:open|tilted"])
(defmod at_$DEVICE at +00:05 set send window $DEVICE open)
DOELSEIF (["^window_:closed"])
(delete at_$DEVICE)

attr di_window_open do always

Alternative mit sleep

define di_window_open DOIF ["^window_:open|tilted"])
(sleep 300 $DEVICE quiet;set send window $DEVICE open)
DOELSEIF (["^window_:closed"])
(cancel $DEVICE quiet)

attr di_window_open do always

In den obigen beiden Beispielen ist eine Verzögerung über das Attribut wait nicht sinnvoll, da pro Fenster ein eigener Timer (hier mit Hilfe von at/sleep) gesetzt werden muss.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

mfeske

Hallo Damian,

da ich im Interface ja auch anzeigen möchte, wann die Steckdosen wieder ausgeschaltet werden. Aber das ist denke ich nicht das eigentliche Problem, oder ?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)