Aktion wird nicht ausgelöst(abfrage "im Wertebereich")
Moderator: Co-Administratoren
Re: Aktion wird nicht ausgelöst(abfrage "im Wertebereich")
Wie wird die SV "svar_pv_erzeugung" gesetzt ? Wird der Zeitstempel aktualisiert ?
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)
Re: Aktion wird nicht ausgelöst(abfrage "im Wertebereich")
Ich rufe jede Stunde ab Astro Tag mit diesen Script die Werte vom Wechselrichter ab.
Wo kann ich den "Zeitstempel" sehen?
Ist das gleichzusetzen mit WebUI ->Status-> Systemvariable -> Spallte :: Letzte Änderung?
Dann NEIN, hier aktualisiert sich nichts.
Vielen Dank
Stefan
Wo kann ich den "Zeitstempel" sehen?
Ist das gleichzusetzen mit WebUI ->Status-> Systemvariable -> Spallte :: Letzte Änderung?
Dann NEIN, hier aktualisiert sich nichts.
Code: Alles auswählen
!- Fronius-v0.3-----------------------------------------------------------------
!
!-----------------------------------------------------------------------------
var froniusIP = "IP"; !IP des Fronius Wechselrichters
var deviceID = "1"; !Device ID (wird meistens stimmen, wenn nicht ausprobieren)
var CUxD_Device = "CUxD.CUX2801001:4"; !CUxD Virtuelles Gerät
string variable_verbrauch = "svar_pv_verbrauch"; !Name der Variabel für den Verbrauch(P_Load)
string variable_erzeugung = "svar_pv_erzeugung"; !Name der Variabel für die Erzeugung(P_PV)
string variable_differenz = "svar_pv_differenz"; !Name der Variabel für die Differenz
string variable_einspeisen = "svar_pv_einspeisen"; !Name der Variabel für die Einspeisung(P_Grid)
string variable_pointer = "svar_pv_pointer"; !Name der Variabel für den Pointer
!-----------------------------------------------------------------------------
! Ab hier muss man nichts mehr beachten
!-----------------------------------------------------------------------------
string pos1;
string pos2 = ",";
string pos3 = ":";
real wertVerbrauch;
real wertErzeugung;
real wertDifferenz;
real wertEinspeisen;
integer wert_pos;
var stdout;
string url = "http://IP/solar_api/v1/GetPowerFlowRealtimeData.fcgi";
!string verbrauchParam = "GetMeterRealtimeData.cgi?Scope=System";
!string erzeugungParam="GetInverterRealtimeData.cgi?Scope=Device&DeviceId=" + deviceID + "&DataCollection=CommonInverterData";
!-----------------------------------------------------------------------------
! Aktueller Verbrauch in [W]
!-----------------------------------------------------------------------------
dom.GetObject(CUxD_Device + ".CMD_SETS").State("wget -q -O - " + url);
dom.GetObject(CUxD_Device + ".CMD_QUERY_RET").State(1);
stdout = dom.GetObject(CUxD_Device + ".CMD_RETS").State();
pos1 = "\"P_Load\" :";
wert_pos = stdout.Find(pos1) + pos1.Length();
wertVerbrauch = stdout.Substr(wert_pos,20).StrValueByIndex(pos2,0);
dom.GetObject(variable_verbrauch).Variable(wertVerbrauch.ToInteger() * -1);
!-----------------------------------------------------------------------------
! Aktueller Erzeugung in [W]
!-----------------------------------------------------------------------------
dom.GetObject(CUxD_Device + ".CMD_SETS").State("wget -q -O - " + url);
dom.GetObject(CUxD_Device + ".CMD_QUERY_RET").State(1);
stdout = dom.GetObject(CUxD_Device + ".CMD_RETS").State();
pos1 = "\"P_PV\" :";
wert_pos = stdout.Find(pos1) + pos1.Length();
wertErzeugung = stdout.Substr(wert_pos,20).StrValueByIndex(pos2,0);
dom.GetObject(variable_erzeugung).Variable(wertErzeugung.ToInteger());
!-----------------------------------------------------------------------------------------------
! Differenz in [W]
!-----------------------------------------------------------------------------------------------
wertEinspeisen = wertErzeugung.ToInteger() + wertVerbrauch.ToInteger();
dom.GetObject(variable_einspeisen).Variable(wertEinspeisen.ToInteger());
Vielen Dank
Stefan
Re: Aktion wird nicht ausgelöst(abfrage "im Wertebereich")
Ersetze
durch
Mit der Methode .Variable(wert) wird der Zeitstempel nicht aktualisert und deshalb das Programm nicht ausgelöst.
Code: Alles auswählen
dom.GetObject(variable_erzeugung).Variable(wertErzeugung.ToInteger());
Code: Alles auswählen
dom.GetObject(variable_erzeugung).State(wertErzeugung.ToInteger());
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)