FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 24 April 2011, 13:27:16

Titel: Fhem / perl / arrays
Beitrag von: Guest am 24 April 2011, 13:27:16
Originally posted by: <email address deleted>

Hi,

Ich möchte mir gerne ein eine Funktion basteln, die regelmäßig
überprüft, was die FHTs zurückgeben und u.U. mittels "set
report2 7" die Rückmeldungen entsprechend anpasst. Dazu will ich einfach
mit "ReadingsVal" "mode" abfragen - wenn dies nicht gesetzt ist, soll
der report2-Befehl abgesetzt werden. Soweit, so simpel. Falsch gedacht.

Ich dachte mir, statt extern in einer Perl-Funktion könnte ichs auch
intern in einem notify, welches ich trigger kann, aufbauen. Da fangen
aber schon die Probleme an. Warum geht Folgendes nicht:

define mytest notify mytest { \
  my @@fhts=('FHT_Bad','FHT_Wohnzimmer','FHT_Schlafzimmer');; \
  foreach(@@fhts) { \
    ReadingsVal($_, "mode", "nA");; \
  } \
}
trigger mytest

=> nischt.

define mytest notify mytest { \
  ReadingsVal("FHT_Wohnzimmer", "mode", "nA");; \
}
trigger mytest
 auto

=> geht.

Komischerweise liefert auch eine debugmeldung in obiger Funktion kein
output. Im fhem-Logfile taucht keine Fehlermeldung auf.

Wo liegt mein Denkfehler?

Gruß

Martin

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Titel: Re: Fhem / perl / arrays
Beitrag von: rudolfkoenig am 25 April 2011, 10:22:02
                                                   

> Wo liegt mein Denkfehler?

Trigger liefert die Verkettung aller notify Rueckgabewerte zurueck.  Notify
liefert das Ergebnis des Perl-Ausdrucks zurueck. Das Ergebnis eines Perl
Ausdrucks entspicht dem letzten Befehl. foreach liefert nichts zurueck, im
Gegensatz zu ReadingsVal.

Btw. ich habe in diesem Zusammenhang ein Bug behoben: $_; in einem Notify/At
wurde zu $;_ umgewandelt.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.