GELÖST ! : IT (Elro-433mHz Steckdosen) zeitverzögert schalten / Repeater

Begonnen von rasti, 24 Dezember 2014, 18:48:30

Vorheriges Thema - Nächstes Thema

rasti

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

fh168

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
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

rasti

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


fh168

#3
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.
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

chris1284

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.

Rince

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.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rasti

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