Hauptmenü

DOIF Perl Command

Begonnen von Ferdy2003, 03 Februar 2016, 21:12:47

Vorheriges Thema - Nächstes Thema

Ferdy2003

Hallo zusammen,

ich habe folgenden Code und erhalte leider den darunter stehenden Fehler. Kann mir jemand sagen, was ich falsch mache?

define di_muell DOIF ([21:07] and [MuellterminDummy] eq "on") ({\
my $muell = ReadingsVal("MuellterminDummy","Tonne","Müll");;\
fhem("set HandyFerdy send $muell fällig!");;\
fhem("set HandySonja send $muell fällig!");;\
})


erhalte ich folgenden Fehler:

2016.02.03 21:07:00 2: di_muell: {my $muell = ReadingsVal("MuellterminDummy","Tonne","Müll");fhem("set HandyFerdy send $muell fällig!");fhem("set HandySonja send $muell fällig!");}: Unknown command {my, try help.
Unknown command fhem("set, try help.
Unknown command fhem("set, try help.
Unknown command }, try help.

Reinerlein

Hi,

versuch mal die beiden Semikola hinter dem letzten fhem()-Befehl wegzulassen...

Grüße
Reinerlein

Ferdy2003

Hey Reinerlein,

danke für den Tipp. Leider kommt immer noch der gleiche Fehler

2016.02.03 21:52:00 2: di_muell: {my $muell = ReadingsVal("MuellterminDummy","Tonne","Müll");fhem("set HandyFerdy send $muell fällig!");fhem("set HandySonja send $muell fällig!")}: Unknown command {my, try help.
Unknown command fhem("set, try help.
Unknown command fhem("set, try help.


irgendwie will er das mit den {} nicht akzeptieren..

Gruß

Ferdy

Reinerlein

Hi Ferdy,

editierst du das in der Fhemweb-Oberfläche?
Wenn du das direkt in der fhem.cfg editierst, dann musst du die Semikola (die noch da sind, also nicht hinter der letzten Zeile) verdoppeln.

In der Oberfläche editierst du viel einfacher :) Dort brauchst du dann auch nur noch zwei Semikola...

Grüße
Reinerlein

Damian

Zitat von: Ferdy2003 am 03 Februar 2016, 21:54:17
Hey Reinerlein,

danke für den Tipp. Leider kommt immer noch der gleiche Fehler

2016.02.03 21:52:00 2: di_muell: {my $muell = ReadingsVal("MuellterminDummy","Tonne","Müll");fhem("set HandyFerdy send $muell fällig!");fhem("set HandySonja send $muell fällig!")}: Unknown command {my, try help.
Unknown command fhem("set, try help.
Unknown command fhem("set, try help.


irgendwie will er das mit den {} nicht akzeptieren..

Gruß

Ferdy

Im DEF-Editor zwei Semikolons, bzw. in der cfg vier!

Solchen Code wirst du aber in der Commandref zu DOIF nicht finden, das lässt sich eleganter im DOIF Modul so lösen:

define di_muell DOIF ([21:07] and [MuellterminDummy] eq "on")
  (set HandyFerdy send [MuellterminDummy:Tonne] fällig!, set HandySonja send  [MuellterminDummy:Tonne] fällig!)


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ferdy2003

Danke Damian deine Lösung funktioniert einwandfrei. Auf die Idee mit dem [MuellterminDummy:Tonne] bin ich gar nicht gekommen.