Hallo,
wollte bei Briefkasten Einwurf gerne ein Bild der Webcam versenden. Wenn Ich dies in zwei Scripten mache klappt es auch. Sind aber dan drei Meldungen.
Habe versucht es in eins zu packen
Code: Alles auswählen
! Briefkasten-Einwürfe um Eins erhöhen und Meldung Briefkasten leeren
! Version 2.2, Autor: dtp
! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch
string svPushPrio = "CCU SV Push Prio"; ! gem. zPNS-xx, obligatorisch
string svMailCount = "Briefkasten SV Einwürfe"; ! Anzahl der Einwürfe, obligatorisch
string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional
string svPushImage = "CCU SV Push Bild"; ! Link auf ein anzufügendes Bild, default: ""
! Name des zentralen Push-Nachrichten-Programms
string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch
! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################
! +++++ Variablendeklaration +++++
string message;
integer inserts;
object svObject; object svObjectList;
! +++++ Systemvariablen erzeugen bzw. falls vorhanden, auslesen +++++
if(!svMailCount){svMailCount = "Briefkasten SV Einwürfe";}
svObject = dom.GetObject(ID_SYSTEM_VARIABLES).Get(svMailCount);
if(!svObject){
svObjectList = dom.GetObject(ID_SYSTEM_VARIABLES); svObject = dom.CreateObject(OT_VARDP); svObjectList.Add(svObject.ID());
svObject.Name(svMailCount); svObject.DPInfo("Gasverbrauch aktueller Tag"); svObject.Internal(false); svObject.Visible(true);
svObject.ValueType(ivtString); svObject.ValueSubType(istChar8859); svObject.ValueUnit(""); dom.RTUpdate(true);
}
! +++++ Setzen der Priorität für die Push-Nachricht +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State("0");
! Gerät für Pushover-Nachricht
dom.GetObject("CCU SV Pushover Gerät").State("");
! +++++ Sound für Pushover-Nachricht +++++
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("intermission");}
! +++++ URL des Webcam-Bildes +++++
string url = "http://192.168.0.74/Streaming/channels/1/picture";
! +++++ Verzeichnis auf der CCU, in dem das Bild gespeichert werden soll +++++
string image = "/tmp/image.jpg";
! +++++ Bild lokal auf CCU speichern +++++
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC")).State("wget --auth-no-challenge -q -O '"#image#"' '"#url#"'");
! +++++ Anzahl Einwürfe hochzählen +++++
inserts = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svMailCount)).Value().ToInteger();
inserts = inserts + 1;
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svMailCount)).State(inserts).ToString(0);
! +++++ Erzeugen der Nachricht +++++
message = "<font color=orange>Briefkasten leeren!</font> ";
if(inserts == 1){message = message#"1 Einwurf.";}
if(inserts > 1){message = message#inserts#" Einwürfe.";}
! +++++ zPNP ausführen +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushImage)).State(image);
(dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();
Leider kommt nur eine PushMeldung mit dem Einwurf und kein Bild.
Hat jemand eine Idee für mich??
Danke