so, hab mein Suntrol LBS mal geändert:
Mal schauen ob mein Log sauber bleibt, danke euch.
Mal noch eine andere Frage.
Haben seit kurzen einen Vorwerk VR200. Kann es sein das es dafür noch kein LBS gibt? Zumindest hab ich nichts gefunden. Das einzige was sich interesannt anhört ist das node-koblod. Kann ich das ohne Schwirigkeiten einbinden? Auf was müsste ich da achten? Würde es überhaubt funktionieren?
Danke euch
Jürgen
PHP-Code:
###[DEF]###
[name =SolarWorld (v0.9a) ]
[e#1 TRIGGER = Trigger (optional) ]
[e#2 IMPORTANT = Json-String ]
[a#1 = Aktueller Verbrauch (Haus/Batterie) ]
[a#2 = Aktueller Verbrauch (Haus) ]
[a#3 = Einspeisung ]
[a#4 = Batterie-Ladung Wh ]
[a#5 = Batterie-Zustand ]
[a#6 = Batterie-Ladung % ]
[a#7 = Erzeugung PV ]
[a#8 = Maximale Leistung PV ]
[a#9 = Eigenstromversorgung ]
[a#10 = Bezug EVU ]
[a#11 = Ladestrom Batterie ]
[a#12 = Entladestom Batterie ]
[a#13 = Direkt Verbraucht von PV ]
[a#14 = Autarkie ]
[a#15 = Batterie-Ladung 0-255 ]
###[/DEF]###
###[HELP]###
<h2>Ein- und Ausg�nge</h2>
<h3>Eing�ne</h3>
<h3>Ausg�nge</h3>
###[/HELP]###
Aktueller Verbrauch (Haus/Batterie) PowerSelfConsumption
Aktueller Verbrauch (Haus) PowerConsumption
Einspeisung PowerOut
Batterie-Ladung Wh WorkCharge
Batterie-Zustand ModeConverter
Batterie-Ladung % StateOfCharge
Erzeugung PV PowerTotalPV
Maximale Leistung PV PowerPVPeak
Eigenstromversorgung PowerSelfSupply
Bezug EVU PowerIn
Ladestrom Batterie
Entladestom Batterie
Direkt Verbraucht von PV
Autarkie
Batterie-Ladung 0-255
###[LBS]###
<?
function LB_LBSID($id) {
if ($E=getLogicEingangDataAll($id)) {
if ($E[1]['refresh']==1 || $E[2]['refresh']==1) {
$json = (string)$E[2]['value'];
//$json = $E[1]['value'];
//$json = '{"PowerSelfConsumption":1379.4603809075945,"PowerConsumption":2596.748567966797,"PowerOut":0,"StatesOfCharge":{"WorkCharge":60,"ModeConverter":"DISCHARGING","StateOfCharge":1},"PowerTotalPV":1379.4603809075945,"PowerPVPeak":9900,"PowerSelfSupply":2575.2943900307573,"PowerIn":21.45417793603974,"PowerConsumptionMax":{"2017-09-24":4327.874227078623,"2017-09-23":5706.109233114997,"2017-09-22":5097.137145880682,"2017-09-18":5003.694712464589,"2017-09-21":5837.091378738959,"2017-09-19":7958.92557146933,"2017-09-20":5060.969388313184}}';
$array = json_decode($json, true);
//Verbrauch Gesamt
if (isset ($array["PowerSelfConsumption"])) {
if (array_key_exists("PowerSelfConsumption", $array)) {
setLogicLinkAusgang($id,1,$array["PowerSelfConsumption"]);
}
} else {
setLogicLinkAusgang($id,1,"0");
}
//Verbrauch
if (isset ($array["PowerConsumption"])) {
if (array_key_exists("PowerConsumption", $array)) {
setLogicLinkAusgang($id,2,$array["PowerConsumption"]);
}
} else {
setLogicLinkAusgang($id,2,"0");
}
//Einspeisung
if (isset ($array["PowerOut"])) {
if (array_key_exists("PowerOut", $array)) {
setLogicLinkAusgang($id,3,$array["PowerOut"]);
}
} else {
setLogicLinkAusgang($id,3,"0");
}
//Ladung kWh
if (isset ($array["StatesOfCharge"]["WorkCharge"])) {
if (array_key_exists("WorkCharge", $array)) {
setLogicLinkAusgang($id,4,$array["StatesOfCharge"] ["WorkCharge"]);
}
} else {
setLogicLinkAusgang($id,4,"0");
}
//Zustand Batterie
if (isset ($array["StatesOfCharge"] ["ModeConverter"])) {
if (array_key_exists("ModeConverter", $array)) {
setLogicLinkAusgang($id,5,$array["StatesOfCharge"] ["ModeConverter"]);
}
} else {
setLogicLinkAusgang($id,5,"0");
}
//Ladung %
if (isset ($array["StatesOfCharge"] ["StateOfCharge"])) {
if (array_key_exists("StateOfCharge", $array)) {
setLogicLinkAusgang($id,6,$array["StatesOfCharge"] ["StateOfCharge"]);
}
} else {
setLogicLinkAusgang($id,6,"0");
}
//Ladung 0-255
if (isset ($array["StatesOfCharge"] ["StateOfCharge"])) {
if (array_key_exists("StateOfCharge", $array)) {
$ladezustand255 = ($array["StatesOfCharge"] ["StateOfCharge"]) * 2.55 ;
setLogicLinkAusgang($id,15,$ladezustand255);
}
} else {
setLogicLinkAusgang($id,15,"0");
}
//Erzeugung PV
if (isset ($array["PowerTotalPV"])) {
if (array_key_exists("PowerTotalPV", $array)) {
setLogicLinkAusgang($id,7,$array["PowerTotalPV"]);
}
} else {
setLogicLinkAusgang($id,7,"0");
}
//Maximale PV Leistung
if (isset ($array["PowerPVPeak"])) {
if (array_key_exists("PowerPVPeak", $array)) {
setLogicLinkAusgang($id,8,$array["PowerPVPeak"]);
}
} else {
setLogicLinkAusgang($id,8,"0");
}
//Eigenversorgung
if (isset ($array["PowerSelfSupply"])) {
if (array_key_exists("PowerSelfSupply", $array)) {
setLogicLinkAusgang($id,9,$array["PowerSelfSupply"]);
}
} else {
setLogicLinkAusgang($id,9,"0");
}
//Strombezug
if (isset ($array["PowerIn"])) {
if (array_key_exists("PowerIn", $array)) {
setLogicLinkAusgang($id,10,$array["PowerIn"]);
}
} else {
setLogicLinkAusgang($id,10,"0");
}
// Ladestrom der Batterie berechnen
if (isset ($array["PowerTotalPV"]) && ($array["PowerConsumption"]) && ($array["PowerOut"])) {
if (array_key_exists("PowerConsumption", $array)) {
$ladestrom = ($array["PowerTotalPV"]) - ($array["PowerConsumption"]) - ($array["PowerOut"]);
if ($ladestrom > 0) {
setLogicLinkAusgang($id,11,$ladestrom);
}
} else {
setLogicLinkAusgang($id,11,"0");
}
}
// Entladestom Batterie
if (isset ($array["PowerSelfSupply"]) && ($array["PowerTotalPV"])) {
if (array_key_exists("PowerConsumption", $array)) {
// gesamtverbrauch - Bezug - Solarstrom
$entladestrom = ($array["PowerConsumption"]) - ($array["PowerTotalPV"]) - ($array["PowerIn"]) ;
if ($entladestrom <= "0"){
setLogicLinkAusgang($id,12,"0");
}
} elseif (($array["StatesOfCharge"] ["StateOfCharge"]) == "0" ){
setLogicLinkAusgang($id,12,"0");
} else {
setLogicLinkAusgang($id,12,$entladestrom);
}
}
// Direkt von PV Verbraucht
if (isset ($array["PowerTotalPV"]) && ($array["PowerConsumption"])) {
if (($array["PowerConsumption"]) < ($array["PowerTotalPV"]) ) {
setLogicLinkAusgang($id,13,$array["PowerConsumption"]);
} else {
setLogicLinkAusgang($id,13,($array["PowerTotalPV"]));
}
}
// Berechnung Autarkie
if (isset ($array["PowerConsumption"]) && ($array["PowerSelfSupply"])) {
if (($array["PowerConsumption"]) > ($array["PowerSelfSupply"]) )
{
$autarkie = round(($array["PowerSelfSupply"]) / ($array["PowerConsumption"]) * 100) ;
setLogicLinkAusgang($id,14,$autarkie);
}
elseif (($array["PowerSelfSupply"]) < "10")
{
setLogicLinkAusgang($id,14,"0");
}
else
{
setLogicLinkAusgang($id,14,"100");
}
}
}
}
}
?>
###[/LBS]###
###[EXEC]###
<?
?>
###[/EXEC]###
Mal schauen ob mein Log sauber bleibt, danke euch.
Mal noch eine andere Frage.
Haben seit kurzen einen Vorwerk VR200. Kann es sein das es dafür noch kein LBS gibt? Zumindest hab ich nichts gefunden. Das einzige was sich interesannt anhört ist das node-koblod. Kann ich das ohne Schwirigkeiten einbinden? Auf was müsste ich da achten? Würde es überhaubt funktionieren?
Danke euch
Jürgen
Kommentar