Hallo Zusammen,
ich habe folgendes Problem: In einem Zimmer ist ein Unterputz HomeEasy Schalter verbaut und ein Funktaster. Der nanoCUL ist mit der aCulFw bespielt, schaltet den Schalter (Licht) auch prima an und aus. Leider ist HomeEasy nicht die Kategorie hochwertig, daher muss man ab und an mehrfach drücken dass das Licht an oder aus geht. Am Türrahmen (außen) hängt eine Intertechno Fernbedienung, an der ist noch ein Tastenpaar frei - also, warum nicht darüber zusätzlich stueren. Habe also das IT-Device erstellt, die Idee ist - wenn sich das Reading on/off ändert, schalte die Unterputzdose. Realisiert habe ich das mit einem DoIf:
#Marie Zusatzschalter_an
define Marie_Zus_An DOIF ([IT_00000FFF0F:state] eq "on") (set IT_11011010 on)
#Marie Zusatzschalter_aus
define Marie_Zus_Aus DOIF ([IT_00000FFF0F:state] eq "off") (set IT_11011010 off)
Problem: mal schaltet das Ganze, mal nicht... manchmal muss ich mehrfach drücken, denn gehts wieder gar nicht mehr... habe ich einen Denkfehler? Wenn ich hin- und herschalte steht folgendes (exemplarisch) im Log:
2015.12.13 18:44:48 3: IT_00F0F0F00F off->on
2015.12.13 18:44:49 3: IT_11000111100011110110011001010100101010101011001001101 on->on
2015.12.13 19:11:08 3: IT_11011010 off->Unknown, Please learn codes!
2015.12.13 19:11:08 3: IT_00F0F0F00F on->off
2015.12.13 19:42:51 3: IT_00F0F0F00F off->on
2015.12.13 19:42:52 3: IT_0000000001111110111001010000010 off->on
2015.12.13 19:42:53 3: IT_11011010 Unknown, Please learn codes!->Unknown, Please learn codes!
2015.12.13 19:42:53 3: IT_00F0F0F00F on->on
2015.12.13 19:42:53 3: IT_00F0F0F00F on->on
2015.12.13 19:42:54 3: IT_11000111100011110110011001010100101010101011001001101 on->on
2015.12.13 19:45:31 3: IT_11011010 Unknown, Please learn codes!->off
2015.12.13 19:45:31 3: IT_00F0F0F00F on->off
2015.12.13 19:45:31 3: IT_00F0F0F00F off->off
2015.12.13 19:45:31 3: IT_00F0F0F00F off->off
ist ein DoIf ungeeignet, hab ich einen Denkfehler? Ist es ein Problem mit dem Timing - vielleicht ein sleep einbauen? Bin für jeden Tip dankbar. Und vor allem - warum kommt
2015.12.13 19:45:31 3: IT_11011010 Unknown, Please learn codes!->off
... beim drücken ein und desselben Tasters (IT_00F0F0F00F)
Zitat#Marie Zusatzschalter_an
define Marie_Zus_An DOIF ([IT_00000FFF0F:state] eq "on") (set IT_11011010 on)
#Marie Zusatzschalter_aus
define Marie_Zus_Aus DOIF ([IT_00000FFF0F:state] eq "off") (set IT_11011010 off)
Mach ein DOIF draus, state muss nicht angegeben werden:
Zitatdefine Marie_Zus_AnAus DOIF ([IT_00000FFF0F] eq "on")
(set IT_11011010 on)
DOELSEIF ([IT_00000FFF0F] eq "off")
(set IT_11011010 off)
*Pling* Gute Idee, danke für den Hinweis! Manchmal denkt man einfach zu kompliziert, besten Dank!
Moin,
halt leider das Problem nicht gelöst schaltet genauso unzuverlässig :(
2015.12.15 18:00:02 3: IT_00F0F0F00F off->off
2015.12.15 18:00:03 3: IT_11000111100011110110011001010100101010101011001001101 off->off
2015.12.15 18:01:04 3: IT_00000FFF0F on->on
2015.12.15 18:01:05 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:01:05 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:01:05 3: CUL433: Unknown code i00155f, help me!
2015.12.15 18:01:07 3: IT_00000FFF0F on->on
2015.12.15 18:01:09 3: IT_11011010 off->Unknown, Please learn codes!
2015.12.15 18:01:09 3: IT_00F0F0F00F off->on
2015.12.15 18:05:34 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:34 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:34 3: CUL433: Unknown code i00155f, help me!
2015.12.15 18:05:35 3: IT_00000FFF0F on->off
2015.12.15 18:05:35 2: IT set IT_11011010 off
2015.12.15 18:05:36 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:36 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:36 3: CUL433: Unknown code i00155f, help me!
2015.12.15 18:05:36 3: IT_00000FFF0F off->off
2015.12.15 18:05:37 3: IT_00000FFF0F off->off
2015.12.15 18:05:37 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:37 3: Code 11 not supported by IT_00000FFFFF.
2015.12.15 18:05:37 3: CUL433: Unknown code i00155f, help me!
Zitatmehrfach drücken dass das Licht an oder aus geht.
Das DOIF schaltet jeden Bedingungszweig nur 1x, egal wie oft Du hintereinander IT_00000FFF0F auf on, bzw. off setzt.
Das könntest Du mit dem Attribut do always ändern.
Im Log sieht es so aus, als würde der CUL433 das Signal nicht erkennen.
Mögliche Ursachen:
-Firmware des CUL nicht aktuell --> update
-FHEM nicht aktuell/oder passt nicht zur Firmware --> update
-Funkstrecke schlecht --> Position des CUL, Antennenausrichtung ändern, einige cm können entscheidend sein.
Ich habe keine Zweifel, ob das DOIF richtig arbeitet. Du kannst es prüfen, in dem Du den Status von IT_11011010 und IT_00000FFF0F mit loggst.
Du kannst auch den set Befehl mehrfach senden, im Beispiel 3x im Abstand von 1 s.
(set IT_11011010 on) (set IT_11011010 on) (set IT_11011010 on)
und
(set IT_11011010 off) (set IT_11011010 off) (set IT_11011010 off)
und das Attribut wait setzen auf 1,1,1:1,1,1
Hi,
danke für die Tips/Anregungen.
-FHEM ist aktuell, bekommt sein tägliches Update.
-CUL ist ein nanoCUL mit aCulFw, CUL433 version => V 1.10.01 a-culfw Build: 167 (2015-10-13_18-19-02) nanoCUL433 (F-Band: 433MHz)
-Funkstrecke sit ca. 3m, durch eine Trockenbauwand hindurch (Metallprofile, Rigips-Platten, Dämmung Steinwolle) --> dürfte kein Problem sein.
Ich könnte die aCulFW mal updaten, ja. da gibts inzwischen eine neuere Version - hab mich bislang nur gesträubt, never change a running system ;)
Macht es Sinn einen wait einzubauen? Läuft ja über den selben CUL - Signal von der FB rein und den Schalter schalten - an sich düfte der doch nicht aus dem Tritt kommen, oder?
Zitatnever change a running system
Ever change a never running System.
Vor dem Update ins Changelog sehen, ob es Sinn macht.
ZitatFunkstrecke sit ca. 3m, durch eine Trockenbauwand hindurch (Metallprofile, Rigips-Platten, Dämmung Steinwolle) --> dürfte kein Problem sein.
Vieleicht aber die Position/Antennenneigung. Ich habe eine IT Steckdose 3 m vom CUL, 1,5 m tiefer, wenn ich die Antenne nicht 30° kippe, habe ich keinen Empfang im gleichen Raum.
Wait or not, nicht warten, - ausprobieren.