FHEM > Automatisierung

Notifys defineren

(1/2) > >>

abc2006:
Hallo,
auch ich habe mich erst seit kurzem mit fhem beschäftigt.
Heute wollte ich mal notify's ausprobieren und bin über folgenden Fehler gestolpert:

Hier http://www.fhemwiki.de/wiki/Funktionsbeschreibung_zu_notify#notify_Befehl_2 steht:


"define SteckdoseWZein notify LichtWZ set Steckdose1 %,Steckdose2 %"
bzw bei mir:
"define xyz notify Schalterpaar2 set Funkschalter1 %,Funkschalter2%".

wenn ich das so anlege, erhalte ich keine Funktion und folgende Fehlermeldung im Log:


2013.04.07 01:02:48 4: FS20 Schalterpaar2 on
2013.04.07 01:02:48 5: Triggering Schalterpaar2 (1 changes)
2013.04.07 01:02:48 5: Notify loop for Schalterpaar2 on
2013.04.07 01:02:48 5: Triggering 4
2013.04.07 01:02:48 5: Cmd: >set Funkschalter1 on,Funkschalter2 on<
2013.04.07 01:02:48 3: 4 return value: Unknown argument on,Funkschalter2, choose one of off off-for-timer on on-for-timer on-till reset timer toggle blink intervals off-till


Wo ist der Fehler?

Danke
stephan

bsl02:
Hallo Stephan,

tatsächlich sind im Internet abweichende Versionen dargestellt:
http://www.fhemwiki.de/wiki/Funktionsbeschreibung_zu_notify#notify_Befehl_2

Zum Vergleich ein Blick auf die Commandref in meinem FHEM (links unter Logfile und Howto). Demnach sollte es wie folgt lauten:
>define b3lampV3 notify btn3 set lamp1 %;;set lamp2 %

Oder laut Commandref im Internet (http://fhem.de/commandref.html#notify)
>define b3lampV3 notify btn3 set lamp1 $EVENT;;set lamp2 $EVENT

Zum Vergleich Dein bisheriges:
>"define xyz notify Schalterpaar2 set Funkschalter1 %,Funkschalter2%".

Probiere ´mal folgende Änderungen:
- ";;" zwischen den Funkschaltern anstatt ","
- ein weiteres "set" vor Funkschalter 2
- Ein Leerzeichen vor dem letzten "%"

Also
define xyz notify Schalterpaar2 set Funkschalter1 %;;set Funkschalter2 %

Viel Erfolg,
Stefan

Zrrronggg!:

--- Zitat ---"define SteckdoseWZein notify LichtWZ set Steckdose1 %,Steckdose2 %"
--- Ende Zitat ---


Das in jedem Falle falsch.



es geht entweder


--- Code: ---define SteckdoseWZein notify LichtWZ set Steckdose1,Steckdose2 %
--- Ende Code ---


oder


--- Code: ---define SteckdoseWZein notify LichtWZ set Steckdose1 % ;;  set Steckdose2 %
--- Ende Code ---


Im übrigen halte ich das durchreichen des Zustandes eines Senders (Hier LichtWZ) per "%" an Aktor für nicht gut, weil man null Kontrolle hat was passiert.
FS20 und HM Sender können jede Menge Kommandos abgeben, nicht nur on und off, sondern auch dim, on-for-timer, off-for timer, on-old und etc.
Mit dem Konstrukt oben hat man ggf schon Spass, wenn man die Taste der Fernbedienung zu lange drückt, damit dimmt und der Aktor dimmen nicht versteht.

Edit: Wikiartikel korrigiert. (da steht ne Menge Kram drin, der richtig ist, aber mitunter suboptimal. Ich werd mir den Artikel mal ansehen die Tage.)

abc2006:
Okay, super, danke!

Ich beteilige mich auch aktiv am Wiki und hätte die Korrekturen dort eingepflegt, aber schön, wenn das schon erledigt ist.

Jetzt wundert mich nur das ";;", das erinnert mich mehr an Perl als an Scripting.. fehlen da die Perl-Klammern?

Auf jeden Fall funktionierts! :-)

Dass das durchreichen Probleme macht, darüber habe ich (weil es nicht geklappt hat) noch nicht nachgedacht. Diesen Punkt sollte man vielleicht auch noch als Anmerkung im Wiki einfügen.

Danke euch allen und einen schönen Sonntag

stephan

Zrrronggg!:
Das durchreichen mit % macht streng genommen keine Probleme, das funktioniert einwandfrei. Was ich nur sagen wollte ist: Das macht womöglich nicht immer das was man DENKT was es macht.

Ich werde den Wikiartikel mal genau auf so Randanmerkungen hin untersuchen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln