Der Eigenverbrauchswert kann via Solarlog (produzierte Energie) und Hauptzähler (Einspeiseenergie) berechnet werden.
Dieses Beispiel zeigt wie man mit CMatic den Eigenverbrauch einer PV-Anlage ermitteln kann:
- PV-Leistung aus Solar-Log abfragen
- Bezugs- und Einspeiseleistung vom Hauptenergiezähler (EASYMETER) abfragen
- Verbrauchsermittlung durchführen
- Energiedaten mit Diagramm auf Smarphone oder PC zur Anzeige bringen
Mit den ermittelten Energiedaten und weiteren Daten können weitere Aktivitäten initiiert werden:
- Großverbraucher wie z. B. Waschmaschine mit Überschußleistung betrieben werden
- Lampen via WLAN-Steckdosen bei ensprechender Dunkelheit geschaltet werden
- etc.
Solar-Log-Werte abfragen
Die Abfrage der Livewerte sollte bei allen Modellen von Solar-Log funktionieren. Jede ID steht für einen bestimmten Wert, hier ist eine Übersicht – diese findet man auch im Solarlog Handbuch.
Solar-Log Json-Objekte
100 - LastUpdateTime 101 - W Pac (Gesamtleistung) aller Zähler & WR 102 - W Pdc (Gestamtleistung aller WR) 103 - V Uac Durchschnittliche Spannung UAC der Wechselrichter 104 - V Durchschnittliche Spannung UDC der Wechselrichter 105 - Wh Durchschnittliche Spannung UDC der Wechselrichter 106 - Wh Summierter gestriger Tagesertrag aller Wechselrichter 107 - Wh Summiertes Monatsertrag aller WR 108 - Wh Summiertes Jahresertrag aller WR 109 - Wh Gesamtertrag aller Wechselrichter 110 - W momentaner Gesamtverbrauch PAC aller Verbauchszähler 111 - Wh Summierter Verbrauch aller Verbauchs-zähler 112 - Wh Summierter Verbrauch des gestrigen Tages; alle Verbauchszähler 113 - Wh Summierter Verbrauch des Monats; alle Verbauchszähler 114 - Wh Summierter Verbrauch des Jahres, alle Verbauchszähler 115 - Wh Summierter Gesamtverbrauch, alle Ver-bauchszähler 116 - Wp Installierte Generatorleistung
Unter CMatic kann man sich dann z.B. via Curl alle Werte ausgeben lassen (Solar-Log-IP: 192.168.0.69):
curl -X POST -H "Content-Type: application/json" -d {"801":{"170":null}} 192.168.0.69/getjp
Der Befehl gibt z.B. folgende Rückgabe:
{"801": {"170": { "100":"21.09.14 16:32:15", "101":257, "102":262, "103":0, "104":407, "105":19466, "106":30730, "107":822005, "108":12972119, "109":23174482, "110":0, "111":0, "112":0, "113":0, "114":0, "115":0, "116":16800 } } }
Ein parametrisierbares Script liefert nach dem Aufruf "/opt/cmatic/solarlog.sh 192.168.0.69 .102" die Gesamtleistung aller Wechselrichter.
CMatic Regel
Eine selbstdefinierte Regel in der Datei cmatic.rules ermittelt mit dem o.g. Script alle 60 Sekunden die Gesamtleistung aller Wechselrichter:
rule "Power" when Time cron "0 * * * * ?" then // Solar-Log var String vs_powersolar = executeCommandLine("/opt/cmatic/solarlog.sh 192.168.0.69 .102",10000)
// Hauptzähler via WLAN-Adapter für Energiezähler abfragen Hauptzaehler.postUpdate(sendHttpGetRequest("http://cmatic-1659251:8080/json")) var String vs_powerbalance = transform("JSONPATH", "$.D0.Leistung", Hauptzaehler.state.toString)
var vpb = new Double(vs_powerbalance) // +Werte bei Bezug, -Werte bei Einspeisung var vps = new Double(vs_powersolar) // -Werte bei Sonnenenergie
Powerbalance.postUpdate(vpb) Powersolar.postUpdate(vps)
// Verbrauch berechnen Powerconsumtion.postUpdate(vpb - vps)
end
CMatic Objekte definieren
In Datei cmatic.item findet man folgende Items:
Group Power "Leistung" // Gruppe zur Chartdarstellung
Number Powersolar "Solarleistung (W)[%.0f W]" (Energy, Power) Number Powerconsumtion "Leistungsverbrauch (W)[%.0f W]" (Energy, Power) Number Powerbalance "Leistungsbilanz +In/-Out (W)[%.0f W]" (Energy, Power)
Oberflächenelemente definieren
Die Datei cmatic.sitemap definiert die Anordung der Elemente:
Frame label="Aktuelle Leistung" { Text item=Powersolar Text item=Powerconsumtion Text item=Powerbalance valuecolor=[>0="red"] }
Frame { Chart item=Power period=D refresh=60000 // Chart-Darstellung für einen Tag (D), Aktualisierung alle 60 Sekunden }
Ergebnis:
Oberfläche
Auf der Oberfläche findet man die Objekte wieder.
Chart-Darstellung
Auch eine Grafik kann nun einen beliebigen zeitlichen Verlauf darstellen.
|