(gelöst) DOIF: error nach Aufruf von GetFileFromURL

Begonnen von heikoh81, 20 Januar 2016, 18:37:50

Vorheriges Thema - Nächstes Thema

heikoh81

Hallo zusammen,

ich habe folgendes DOIF gebastelt, um ein notify abzulösen, mit dem das Relay einer IPKamera gesteuert wird.


sudo /usr/local/bin/pilight-send --server=127.0.0.1 -P 5005 --protocol=pollin --systemcode=15 --unitcode=2 --on

([Garage_Torschalter] eq "Motor_Aktivieren"
  and [?di_Garage_Torschalter_Click] ne "cmd_1_1")
({GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=94&user=xyz&pwd=xyz")})
({GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")})
(set Garage_Torschalter off)


Funktioniert, im Log erscheint:

2016.01.20 18:30:18 2: di_Garage_Torschalter_Click: {GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")}: ok.

2016.01.20 18:30:22 2: di_Garage_Torschalter_Click: {GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")}: ok.


(jeweils mit Zeilenumbruch nach dem ok.!

In den Readings erscheint eine error-Zeile:

{GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")}: ok.


Die error-Zeile erscheint nicht im danach aufgerufenen list:

Internals:
   CFGFN
   DEF        ([Garage_Torschalter] eq "Motor_Aktivieren"
  and [?di_Garage_Torschalter_Click] ne "cmd_1_1")
({GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")})
({GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")})
(set Garage_Torschalter off)
   NAME       di_Garage_Torschalter_Click
   NR         2958
   NTFY_ORDER 50-di_Garage_Torschalter_Click
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2016-01-20 18:30:22   Device          Garage_Torschalter
     2016-01-20 18:30:22   cmd_event       Garage_Torschalter
     2016-01-20 18:30:22   cmd_nr          1
     2016-01-20 18:30:22   cmd_seqnr       3
     2016-01-20 18:30:22   e_Garage_Torschalter_STATE off
     2016-01-20 18:30:22   state           cmd_1
     2016-01-20 18:30:22   wait_timer      no timer
   Condition:
     0          InternalDoIf('Garage_Torschalter','STATE','') eq "Motor_Aktivieren"  and InternalDoIf('di_Garage_Torschalter_Click','STATE','') ne "cmd_1_1"
   Devices:
     0           Garage_Torschalter
     all         Garage_Torschalter
   Do:
     0:
       0          {GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")}
       1          {GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=95&user=xyz&pwd=xyz")}
       2          set Garage_Torschalter off
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleepdevice Garage_Torschalter
     sleepsubtimer -1
     sleeptimer -1
   Internals:
     0           Garage_Torschalter:STATE
     all         Garage_Torschalter:STATE
   Itimer:
   Readings:
   State:
   Timerfunc:
   Trigger:
Attributes:
   do         always
   room       Garage
   wait       0,3,0.5


Verstehe nicht warum?
Und wie kann ich die Fehlermeldung unterdrücken?

Viele Grüße,
Heiko

Ellert

Wenn eine Funktion nicht undef, 0 oder "" zurückliefert, dann wird das im error Reading angezeigt.
Probier mal:
{GetFileFromURL("http://192.168.178.225:85/decoder_control.cgi?command=94&user=xyz&pwd=xyz");;return undef}


heikoh81

Hi Ellert,

danke, das ist perfekt.
Der Log-Eintrag ist damit auch weg - und der hatte mich sowieso gestört.
D.h. mit diesem Zusatz wird einfach die Rückmeldung unterdrückt?

Viele Grüße,
Heiko

Ellert

ZitatD.h. mit diesem Zusatz wird einfach die Rückmeldung unterdrückt?
Ja, es werden aber auch keine Fehlermeldungen von GetFileFromURL ... mehr angezeigt.