Hilfe bei Codeanpassung im Zusammenhang mit dem Aufbau einer Funkklingel

Begonnen von BuBu79, 03 Februar 2017, 22:30:54

Vorheriges Thema - Nächstes Thema

CoolTux

Ja genau. Aber benne das at Mal besser. Auf jeden Fall sollte Teil des Namens temp sein, für temporär. Schließlich verschwindet es ja wieder. Es gibt da noch was zu beachten aber das machen wir wenn das at geht. Wirst auch schon will merken was ich meine.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

BuBu79

Folgender Code funktioniert nun im Notify

Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
fhem ("define tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle");
}


Auf was soll ich den achten wenn es auslöst?

Danke erstmal an dieser Stelle *Daumenhoch

Jan

BuBu79

ok, ich glaube ich hab es gefunden....

Nach jedem auslösen erscheint das Fragezeichen zum abspeichern der aktuellen Config.

Richtig?

Jan

CoolTux

Richtig. Eigentlich sollte das nicht passieren bei einem einmaligen at. Also wenn nur + davor steht. Aber sobald ein * mit im Spiel ist wird das at statt ins statefile in die config geschrieben und wenn es gelaufen ist wieder gelöscht. Jetzt kann man einfach nach dem define at Befehl ein sleep 5 machen und dahinter ein save config. Dann wird nach 5s die config gespeichert. Es ist ehrlich gesagt nicht sehr schön und birgt Risiken. Aber im Moment der einzige Weg der für dich auch verständlich ist.
Risiko ist halt wenn du Mal rumspielen und was baust und du machst Mist und denkst He Glück gehabt habe ja nicht gespeichert und dann kommt einer und glingelt  ;D


Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
fhem ("define tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle");
}

Hier müsste nun hinten dran der sleep und das save. Aber ich muss vorher noch mal testen wie das muss damit es nicht als Befehl mit ins at geschrieben wird. Aber kannst ja gerne mal so testen.

Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
fhem ("define tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle; sleep 6; save config");
}

Aber nicht vergessen deine Routine in der myUtils blockiert FHEM. Denke mal so 2s
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

Hi,
eigentlich müsste es doch reichen ein "-temporary" nach "define" zu packen, also

define -temporary tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle

Gruß,
   Thorsten
FUIP

BuBu79

Zitat von: Thorsten Pferdekaemper am 04 Februar 2017, 20:22:52
Hi,
eigentlich müsste es doch reichen ein "-temporary" nach "define" zu packen, also

define -temporary tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle

Gruß,
   Thorsten

Funktioniert!

Klasse, Vielen Dank euch beiden.

ZitatAber nicht vergessen deine Routine in der myUtils blockiert FHEM. Denke mal so 2s

Könnte ich das Testen wenn ich einen Notify mit:
Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
}


und den zweiten mit:
Klingeltaster:closed {
fhem ("define -temporary tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle");
}

setze?

Dann sollte doch der zweite Notify nicht auslösen oder?

Jan

CoolTux

Zitat von: Thorsten Pferdekaemper am 04 Februar 2017, 20:22:52
Hi,
eigentlich müsste es doch reichen ein "-temporary" nach "define" zu packen, also

define -temporary tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle

Gruß,
   Thorsten
Cool, das kannte ich noch nicht. Danke Dir
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: BuBu79 am 04 Februar 2017, 20:34:22
Funktioniert!

Klasse, Vielen Dank euch beiden.

Könnte ich das Testen wenn ich einen Notify mit:
Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
}


und den zweiten mit:
Klingeltaster:closed {
fhem ("define -temporary tempBlinkHof at +*{6}00:00:01 set SchalterHausnr toggle");
}

setze?

Dann sollte doch der zweite Notify nicht auslösen oder?

Jan

Wenn kein closed kommt dann sollte er nicht auslösen. Aber ich denke mal schon das ein closed kommt, oder? Kannst auch einfach schreiben aaaaaa  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

BuBu79

Da ich keinerlei Leitungen am Eingangstor zu liegen habe, habe ich mich als Auslöser für einen Tür - Fensterkontakt von Homematic entschieden.
Den Reedsensor durch einen Taster ersetzt, so bekomme ich die Meldung open und closed.

Wenn ich den Taster drücke bekomme ich beide notify angezeigt, also beide Lampen fangen an zu blinken.

Gruß Jan

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

BuBu79

Zitat von: CoolTux am 04 Februar 2017, 20:56:30
Es ist nun also so wie du es haben wolltest? Korrekt?

Ja perfekt.

Denke wenn der MP3 Funkgong da ist sollte dann das absetzen des Klingelbefehls auch klappen.

Danke euch.

Gruß Jan

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

BuBu79

Ok, eine Frage hätte ich dann doch noch. :o

Ich habe jetzt festgestellt, dass wenn man den Taster zwei mal drückt, endet er im genau entgegen gesetzten Schaltzustand.
Gibt es eine Möglichkeit dieses zu verhindern, also den Notify für 5 Sek zum Beispiel, zu "blocken"?

Gruß Jan

CoolTux


define ntfy1 notify bew1 set Lampe1 on; set ntfy2 inactive; sleep 20; set ntfy2 active


Ist ein Beispiel, bitte auf Dein Notify anpassen.
Entscheidend ist das set inactive und der sleep
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

BuBu79

Zitat von: CoolTux am 04 Februar 2017, 23:08:43

define ntfy1 notify bew1 set Lampe1 on; set ntfy2 inactive; sleep 20; set ntfy2 active


Ist ein Beispiel, bitte auf Dein Notify anpassen.
Entscheidend ist das set inactive und der sleep

Besten Dank, funktioniert perfekt.

hier angepasster Notify:
Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
fhem ("define -temporary tempBlinkHof at +*{8}00:00:01 set SchalterHausnr toggle");
fhem ("define -temporary tempKlingelPause; set notifyKlingel inactive; sleep 10; set notifyKlingel active")
}


Gruß Jan

Tante Edit:

Funktioniert aber im Logfile wird ein Fehler hinterlegt: :o

2017.02.04 23:44:49 3: define -temporary tempKlingelPause; set notifyKlingel inactive; sleep 10; set notifyKlingel active : Usage: define <name> <type> <type dependent arguments>
2017.02.04 23:44:49 3: notifyKlingel return value: Usage: define <name> <type> <type dependent arguments>


Tante Edit ein zweites Mal,

Ich Hirni hab den Notify noch mal angepasst und nun ohne Fehlermeldungen:
Klingeltaster:open {
blink ( 'WZ_RGBSchrank', 'FF0000', 5);
fhem ("define -temporary tempBlinkHof at +*{8}00:00:01 set SchalterHausnr toggle");
fhem ("set notifyKlingel inactive; sleep 10; set notifyKlingel active")
}


Manchmal lohnt es auch über die Fehlerlogs nachzudenken  ;D