Messwert aus CCU 2 auslesen
Moderator: Co-Administratoren
Messwert aus CCU 2 auslesen
Hallo,
ich möchte einen Messwert aus der Zentrale auslesen mit einem Skript und diesen in eine Variable schreiben. Der Messwert kommt von einem Hutschienen Mess-Schaltaktor HM-ES-PWSw1-DR. Leider wird der Messwert im Aktor gelöscht wenn der Aktor vom Stromnetzt getrennt wird oder derStrom ausfällt. Nur in der Zentrale bleibt der Messwert erhalten gespeichert. Zum Hintergrund: Ich verwende den Messaktor an einem kleinem Solarpanel und möchte die kontinuierliche Leistungserzeugung messen und mit Mediola auf meinem Wandtablet anzeigen lassen. Leider kann Mediola nicht den Messwert direkt aus der CCU auslesen sondern nur aus dem Messaktor. Deshalb möchte ich mir den Messwert aus der Zentrale in eine Variable schreiben lassen, die Variablewerte kann ich mir mit Mediola dann anzeigen lassen.
Weiß jemand von euch wie ich an den Messwert in der Zentrale komme mit einem Skript und wie das Skrip dann auszusehen hat? Ich bin, was das Datenpunkte und Skriptschreiben angeht leider nicht so fit.
Vielen Dank für euche Hilfe
Mathias
ich möchte einen Messwert aus der Zentrale auslesen mit einem Skript und diesen in eine Variable schreiben. Der Messwert kommt von einem Hutschienen Mess-Schaltaktor HM-ES-PWSw1-DR. Leider wird der Messwert im Aktor gelöscht wenn der Aktor vom Stromnetzt getrennt wird oder derStrom ausfällt. Nur in der Zentrale bleibt der Messwert erhalten gespeichert. Zum Hintergrund: Ich verwende den Messaktor an einem kleinem Solarpanel und möchte die kontinuierliche Leistungserzeugung messen und mit Mediola auf meinem Wandtablet anzeigen lassen. Leider kann Mediola nicht den Messwert direkt aus der CCU auslesen sondern nur aus dem Messaktor. Deshalb möchte ich mir den Messwert aus der Zentrale in eine Variable schreiben lassen, die Variablewerte kann ich mir mit Mediola dann anzeigen lassen.
Weiß jemand von euch wie ich an den Messwert in der Zentrale komme mit einem Skript und wie das Skrip dann auszusehen hat? Ich bin, was das Datenpunkte und Skriptschreiben angeht leider nicht so fit.
Vielen Dank für euche Hilfe
Mathias
-
- Beiträge: 9650
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Messwert aus CCU 2 auslesen
Den Messwert gibt es schon in einer unsichtbaren, systeminterne Variablen.
Gehe auf Programme / Zentralen Verknüpfungen, klick auf den Button "systeminterne Programme einblenden"
Du findest unten in der Liste für jedes PSM ein Programm. Öffne das zur gewünschten Steckdose, bearbeite das darin befinde Skript und füge ganz unten ein
Sysvarname musst Du natürlich gegen den Namen Deiner Systemvariable austauschen, die den Messwert enthalten soll.
Gehe auf Programme / Zentralen Verknüpfungen, klick auf den Button "systeminterne Programme einblenden"
Du findest unten in der Liste für jedes PSM ein Programm. Öffne das zur gewünschten Steckdose, bearbeite das darin befinde Skript und füge ganz unten ein
Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("sysvarname").State(oSysVarEnergyCounter.State());
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Re: Messwert aus CCU 2 auslesen
Hallo Michael,
Danke für die Erklärung, werde ich heute Abend wenn ich wieder zu Hause bin einmal testen.
Danke für die Erklärung, werde ich heute Abend wenn ich wieder zu Hause bin einmal testen.
Re: Messwert aus CCU 2 auslesen
So, hab es mal schnell in der Mittagspause probiert und funktioniert wie Beschrieben, danke für die Hilfe.
Re: Messwert aus CCU 2 auslesen
Hallo,
ich habe noch eine eitere Frage zum Auslesen von Werten aus der CCU. Nachdem ich mit Hilfe von Michael den Leistungswert meiner Solaranlage aus der CCU auslesen kann, habe ich jetzt das "Problem" das der aus der CCU ausgelesene Wert in Wh in die Systemvariable geschrieben wird. In der WebUi ist der Leistungs Wert aus der CCU in KWh angegeben.
Ein Beispiel: CCU: 13,500KWh
Systemvariable: 13500Wh
Gibt es eine Möglichkeit das ich den Wert in der Varible auch in KWh bekomme?
ich habe noch eine eitere Frage zum Auslesen von Werten aus der CCU. Nachdem ich mit Hilfe von Michael den Leistungswert meiner Solaranlage aus der CCU auslesen kann, habe ich jetzt das "Problem" das der aus der CCU ausgelesene Wert in Wh in die Systemvariable geschrieben wird. In der WebUi ist der Leistungs Wert aus der CCU in KWh angegeben.
Ein Beispiel: CCU: 13,500KWh
Systemvariable: 13500Wh
Gibt es eine Möglichkeit das ich den Wert in der Varible auch in KWh bekomme?
-
- Beiträge: 9650
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Messwert aus CCU 2 auslesen
Klar, durch 1000 teilen:
Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("sysvarname").State((oSysVarEnergyCounter.State()/1000));
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Re: Messwert aus CCU 2 auslesen
Na klar
Dachte nicht das es so einfach geht, wenn man keine Ahnung von Programmierung hat
Danke
Dachte nicht das es so einfach geht, wenn man keine Ahnung von Programmierung hat
Danke
Re: Messwert aus CCU 2 auslesen
Hab das Skrip nach deinen Angaben geändert und bekomme nun eine Fehlermeldung bei der Skriptprüfung
Code: Alles auswählen
Error 1 at row 33 col 144 near ^;
Parse following code failed:
object chn = dom.GetObject('43555');
object oBoot = chn.DPByControl('POWERMETER.BOOT');
object oEnergyCounter = chn.DPByControl('POWERMETER.ENERGY_COUNTER');
object oSysVarEnergyCounter = dom.GetObject('svEnergyCounter_43555_REQ0777508:2');
object oSysVarEnergyCounterOldVal = dom.GetObject('svEnergyCounterOldVal_43555');
boolean bootFlag = oBoot.Value();
real devVal = oEnergyCounter.Value();
real devValMax = oEnergyCounter.ValueMax();
real oldDevVal = oSysVarEnergyCounterOldVal.Value();
real diffVal = 0.0;
real sysVarVal = oSysVarEnergyCounter.Value();
integer tmp_devVal = (devVal.ToString().ToFloat() * 100000).ToInteger();
integer tmp_oldDevVal = (oldDevVal.ToString().ToFloat() * 100000).ToInteger();
if (oldDevVal <= 0) {
oSysVarEnergyCounterOldVal.State(devVal);
oSysVarEnergyCounter.State(devVal);
} else {
if ( ( bootFlag == true ) && ( tmp_devVal < tmp_oldDevVal ) ) {
diffVal = devVal;
} else {
if (tmp_devVal >= tmp_oldDevVal) {
diffVal = devVal - oldDevVal;
}
if ((tmp_devVal > 0) && (tmp_devVal < tmp_oldDevVal)) {
diffVal = (devVal + devValMax) - oldDevVal;
}
}
if (devVal > 0) {
oSysVarEnergyCounterOldVal.State(devVal);
}
oSysVarEnergyCounter.State(sysVarVal + diffVal);
}
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Solar").State(oSysVarEnergyCounter.State()/1000));
-
- Beiträge: 9650
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Messwert aus CCU 2 auslesen
Nein, hast Du nciht. Achte bitte auf die ()
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Re: Messwert aus CCU 2 auslesen
Bin mir sicher das ich das richtig von dir übernommen hat:
Mein Skript: dom.GetObject(ID_SYSTEM_VARIABLES).Get("Solar").State(oSysVarEnergyCounter.State()/1000));
Dein Skript: dom.GetObject(ID_SYSTEM_VARIABLES).Get("sysvarname").State((oSysVarEnergyCounter.State()/1000));
Mein Skript: dom.GetObject(ID_SYSTEM_VARIABLES).Get("Solar").State(oSysVarEnergyCounter.State()/1000));
Dein Skript: dom.GetObject(ID_SYSTEM_VARIABLES).Get("sysvarname").State((oSysVarEnergyCounter.State()/1000));