Autor Thema: Notifys defineren  (Gelesen 3392 mal)

Offline abc2006

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1035
Notifys defineren
« am: 07 April 2013, 01:06:15 »
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

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Offline bsl02

  • Full Member
  • ***
  • Beiträge: 266
Aw: Notifys defineren
« Antwort #1 am: 07 April 2013, 01:47:19 »
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
RPi3 (FHEM) / CUL V3 868 (FS20) / nanoCUL868 (HM) / RFXtrx433 (IT & ELRO) / MAX!Cube (Thermostate, Fenster) / Bluetooth (presence Handy) / Sonoff mit Tasmota // Audio: RPi3 mit "max2play"-Image (Squeezeserver+Player) / Video: Synology-NAS mit TVheadend, Triax TSS400 Sat-IP Converter

Offline Zrrronggg!

  • Hero Member
  • *****
  • Beiträge: 2362
    • www.fresse.de
Aw: Notifys defineren
« Antwort #2 am: 07 April 2013, 02:31:13 »
Zitat
"define SteckdoseWZein notify LichtWZ set Steckdose1 %,Steckdose2 %"


Das in jedem Falle falsch.



es geht entweder

define SteckdoseWZein notify LichtWZ set Steckdose1,Steckdose2 %

oder

define SteckdoseWZein notify LichtWZ set Steckdose1 % ;;  set Steckdose2 %

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.)
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Offline abc2006

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1035
Aw: Notifys defineren
« Antwort #3 am: 07 April 2013, 12:19:36 »
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
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Offline Zrrronggg!

  • Hero Member
  • *****
  • Beiträge: 2362
    • www.fresse.de
Aw: Notifys defineren
« Antwort #4 am: 07 April 2013, 20:59:19 »
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.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1060
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: Notifys defineren
« Antwort #5 am: 09 April 2013, 21:00:37 »
Hi Zrrronggg!,

Zitat von: Zrrronggg! schrieb am So, 07 April 2013 20:59
...Ich werde den Wikiartikel mal genau auf so Randanmerkungen hin untersuchen.


Wenn du dabei bist, evtl. gleich an

Zitat
feature: notify supports $NAME/$EVENT/$EVTPART0/etc. @/% is deprecated.


(Quelle) denken (habe ich mir auch vorgenommen).

Siehe auch Beitrag von bsl02 weiter oben

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


Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor