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
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}
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
ZitatD.h. mit diesem Zusatz wird einfach die Rückmeldung unterdrückt?
Ja, es werden aber auch keine Fehlermeldungen von GetFileFromURL ... mehr angezeigt.