Hallo,
ich habe einige ELRO(Intertechno-433Mhz-Kompatible) Steckdosen, die nun
verwenden möchte. Mit dieser Konfiguration geht das auch.
define ELRO_C4 IT 0F00FF000F 0F F0
attr ELRO_C4 IODev COC
attr ELRO_C4 alias Schalter C4
attr ELRO_C4 group Schalter
attr ELRO_C4 model itswitch
attr ELRO_C4 room Schaltbare-Steckdosen
Leider ist die Reichweite bei meinem 868MHz CUL nicht gerade berauschend,
so dass ich mir in der Bucht einen günstigen 433MHz Repeater geholt habe,
Der geht auch so weit, das Reichweitenproblem ist also vom Tisch.
Allerdings hat der Repeater eine sehr lange Ansprechzeit, d.h. es dauert
mind 1 Sekunde vom Tastendrücken in FHEM bis der Repeater das entsprechende
empfangene Signal wieder aussendet. Das führt zu Störungen, wenn ich mehrere Male
schnell hinterander dieselbe oder unterschiedliche IT-Steckdosen schalte. Warte ich 2-3 Sekunden nach dem Drücken eines Schalters in FHEM, ist alles OK.
Frage, wie kriege ich das idiotensicher in FHEM realisiert, d.h. eine Funkpause
von 2-3 Sekunden (oder z.B. Klicken in FHEM verhindern) nach jedem
Steckdosenschaltbefehl ?
Gruss
Ralf
Hallo Ralf,
ich habe das in Fhem so hinbekommen. Innerhalb von 99_myUtils.pm habe ich eine Sub gebastelt und so werden nacheinander die Steckdosen abgeschaltet, egal ob es die PCA301, die Baumarktsteckdose oder die Hue-Lampen sind, also sleep ist das Lösungwort :-)
sub abwesend()
{
fhem ("sleep 6; set steckdoseComputer off;");
fhem ("sleep 6; set Schreibtischlampe off;");
fhem ("sleep 6; set Background off;");
fhem ("sleep 6; set Stehlampe off;");
fhem ("set Vitrine off;");
fhem ("sleep 6; set remoteLCD off;");
fhem ("sleep 6; set SteckdoseFestplatte off;");
fhem ("sleep 6; set steckdose5x off;");
fhem ("sleep 6; set PCA301_07F87C off;");
fhem ("sleep 6; set steckdose3 off;");
fhem ("sleep 6; set steckdose4 off;");
fhem ("sleep 6; set steckdoseFestplatteWohnzimmer off;");
fhem("set macfhem set LCD_Backlight off");
fhem("set Pushover1 msg 'Goodbye Robin' 'Lampen, Steckdosen ausgeschaltet!' '' 0 '' ");
}
LG
/robin
Hallo Robin,
OK danke ! Wenn ich das richtig verstehe, brauche ich dann aber für
jeden meiner Schaltsteckdosen-Befehle (also zum Beispiel "set ELRO_C4 on")
eine eigene Subroutine. oder ?
Geht das nicht eleganter, dass z.B. nach jedem Intertechno (IT) Befehl
automatusch ein sleep kommt ?
Gruss
Ralf
nein, brauchst du nicht.
Ein Kollege vom Forum hier hat aber gesagt, das sieht sauberer aus, wenn man solche Abläufe in den myUtils reinpackt. Ansonsten reicht ja das sleep zum Verzögern. Hast also Recht.
Oder für ca 10€ einen 433 sender bauen (nanocul, fhemfuino) ode 433cul (teurer) kaufen und den repeater rauswerfen um so das problem bei der wurzel zu packen.
Du könntest mal einen Blick auf cmdalias werfen.
Ist in der commandref beschrieben. Ersetzt einen Befehl durch andere Befehle. Könnte also deine automatisch um ein entsprechendes sleep erweitern.
Zitat von: Rince am 24 Dezember 2014, 19:44:18
Du könntest mal einen Blick auf cmdalias werfen.
Ist in der commandref beschrieben. Ersetzt einen Befehl durch andere Befehle. Könnte also deine automatisch um ein entsprechendes sleep erweitern.
Super ! Das wars was ich brauchte- Funktioniert ! Die Steckdosen lassen sich
nun sicher schalten. Ich brauche aber mind. ein Sleep 3 :
Also einfach nur 2 Zeilen define-code in fhem-cfg mit aufnehmen.
Sieht nun so aus bei mir .
define ELRO_C4 IT 0F00FF000F 0F F0
define c7 cmdalias set ELRO_C4 on AS set ELRO_C4 on ;; sleep 3
define c8 cmdalias set ELRO_C4 off AS set ELRO_C4 off;; sleep 3
attr ELRO_C4 IODev COC
attr ELRO_C4 alias Schalter C4 - Elch aussen
attr ELRO_C4 group Schalter
attr ELRO_C4 model itswitch
attr ELRO_C4 room Schaltbare-Steckdosen
Gruss
Ralf