@schadis Falls du das meinst teste mal die andern Adressen.
E001 / F701 1 R/W Export Control Limit Mode Uint16 0-1 N/A
E002 / F702 2 R/W Export Control Site Limit Float32 0-Max_Site Power W
Teil3 – Visualisierung (ob mit Grafana oder mit anderen Tools muss ich sehen)
ongoing, erster Screenshot von meinem Grafana Dashboard (auch hier danke an inkoFa, das ist nämlich seine Idee gewesen).
Damit ihr euch das auch nachbauen könnt, erkläre ich nachfolgend welche Einstellungen dafür notwendig sind. Der linke Block kommt von meiner Heizung, den lasse ich außen vor und konzentriere mich nur auf die PV Sachen.
1. Graph PV
Quellen aus der InfluxDB sind
PVLeistungAktuell -> gelber Graph
Hausverbrauch -> blauer Graph
TempWechselrichter -> orangener Graph
(Sonnenstand) -> gestrichelt grüne Linie
Die ersten 3 Werte solltet ihr schon haben wenn ihr oben aus meinem Teil 2 die Sachen übernommen habt.
Sonnenstand war ein fertiges JS Script:
// calculates the sun position, path and power throughout the day
// based on from http://www.stjarnhimlen.se/comp/tutorial.html
// most var-names are identical to above tutorial
// combined with Sonnenstand-Script: paul53, pix; 06.07.2015 nach ioBroker Forum http://forum.iobroker.net/viewtopic.php?f=21&t=975&sid=6f0ba055de5f82eed6809424f49ca93b#p7635
// Angepasst ykuendig 12.02.17; stringify im log, ack = true bei setState und Diverses
var suncalc = require('suncalc'),
result = getObject("system.adapter.javascript.0"),
lat = result.native.latitude,
long = result.native.longitude;
log("long: " + long + " - lat: " + lat);
var modtilt = 50; //Dachneigung in Grad (Solar panel's tilt angle)
var modazi = 285; //Ausrichtung des Hauses in Grad zB SSW (Solar panel's azimut)
var modsufrace = 148.0; //Paneloberfläche in m2 (Solar panel's surface in sq. meters)
var modeff = 0.211; //Annäherung an Panel-Wirkungsgrad zB 18 Prozent (modules efficiency correction)
// Hier kann an einem klaren Tag etwas geschraubt werden ;-)
var altitude; // Calculated Elevation
var azimuth; // Calculated Azimuth
createState('javascript.0.Solar.Sonnenstand.Elevation', 0, {unit: '°'});
createState('javascript.0.Solar.Sonnenstand.Azimut', 0, {unit: '°'});
createState('javascript.0.Solar.Sonnenstand.PanelPossible', 0, {unit: 'W'});
// ganz am Ende die setStates anpassen nicht vergessen!
// Do not change below, until You know what You are doing!
// ********************************************************
Math.degrees = function(radians) {return radians * 180 / Math.PI;};
Math.radians = function(degrees) {return degrees * Math.PI / 180;};
function Sonnenstand_berechnen () {
var now = new Date();
var sunpos = suncalc.getPosition(now, lat, long);
log("Script Sonnenstand; latitude : " + result.native.latitude + " / longitude: " + result.native.longitude,'debug');
log("Script Sonnenstand; sunpos: " + JSON.stringify(sunpos),'debug');
altitude = Math.degrees(sunpos.altitude);
azimuth = Math.degrees(sunpos.azimuth) + 180;
// The intensity of the direct component of sunlight throughout each day can be determined as
// a function of air mass. based on: http://pveducation.org/pvcdrom/properties-of-sunlight/air-mass#formula
var airmass = 1/Math.cos((90-altitude)*4*Math.asin(1)/360);
// Sincident is the intensity on a plane perpendicular to the sun's rays in units of kW/m2 and AM is the air mass.
// The value of 1.353 kW/m2 is the solar constant and the number 0.7 arises from the fact that about 70% of the radiation incident on the atmosphere is transmitted
// to the Earth. The extra power term of 0.678 is an empirical fit to the observed data and takes into account the non-uniformities in the atmospheric layers.
// ykuendig: use different values because of pv instead thermal panels
var Sincident = (1.367*Math.pow(0.78,Math.pow(airmass,0.6)));
var fraction = Math.cos(altitude*4*Math.asin(1)/360)*Math.sin(modtilt*4*Math.asin(1)/360)*Math.cos(azimuth*4*Math.asin(1)/360-modazi*4*Math.asin(1)/360)+Math.sin(altitude*4*Math.asin(1)/360)*Math.cos(modtilt*4*Math.asin(1)/360);
// W/m² light intensity on the module * module's surface
var SmoduleInt = Sincident * fraction * modsufrace * 1000;
if(SmoduleInt<0) {
SmoduleInt = 0;
}
// Module Effective in relation of the efficiency of the used panel
var SmoduleEff = SmoduleInt * modeff;
if( altitude < 0 ) {
SmoduleInt = 0;
SmoduleEff = 0;
altitude = 0;
}
log("Script Sonnenstand; Erfolgreich gelaufen, Werte akzeptiert", "info");
log("Script Sonnenstand; airmass: " + airmass,"debug");
log("Script Sonnenstand; azimuth: " + azimuth,"debug");
log("Script Sonnenstand; altitude: " + altitude,"debug");
log("Script Sonnenstand; SmoduleInt: " + SmoduleInt,"debug");
log("Script Sonnenstand; SmoduleEff: " + SmoduleEff,"debug");
// Change ID to the created States
setState('javascript.0.Solar.Sonnenstand.Elevation'/*javascript 0 Solar Sonnenstand Elevation*/,altitude.toFixed(1), true);
setState('javascript.0.Solar.Sonnenstand.Azimut'/*javascript 0 Solar Sonnenstand Azimut*/,azimuth.toFixed(), true);
setState('javascript.0.Solar.Sonnenstand.PanelPossible'/*javascript 0 Solar Sonnenstand PanelPossible*/, SmoduleEff.toFixed(), true);
}
// -> Zyklisch
schedule("*/10 * * * *", Sonnenstand_berechnen);
Sonnenstand_berechnen(); // bei Scriptstart
2. Graph PV Erzeugung in kWh
Quelle aus der InfluxDB sind
@hennerich
Hallo, was mache ich falsch. In dem Dashborad bei Grafana habe ich die Übersicht, was für ein Status der Wechselrichter gerade für einen hat. Jetzt habe ich aber leider Zahlen mit einem Komma, somit kann er nicht mehr sein Status anzeigen, er muss die Werte die aus Iobroker kommt zusammenziehen und dann irgendwie teilen.
Habe ich eine Einstellung falsch gesetzt? Wer kann mir da helfen?
ich würde gerne meine Batterie in Zusammenhang mit tibber steuern. Mein System besteht aus dem Wechselrichter SE10K RWS und dem LG Chem Resu 13.
Für den Fall, dass die Wärmepumpe aktiv ist (Strom-Zweitvertrag) oder tipper sehr günstige Preise hat, würde ich die Entladung gerne verhindern.
Ich setze auf den Angaben von Foradh0 am 20.03.2022 auf, die ausgelesenen Werte sind allerdings nicht plausibel. Gibt es da aktuellere Adressen oder Vorgehensweisen bzw. habt Ihr einen Tipp für mich?
Danke & Vg
_address name description unit type len factor offset formula role room poll wp cw isScale
57728 Batterie Available Energy Batterie Available Energy Wh floatsw 2 1 value true false false false
57732 Batterielevel Batterielevel % floatsw 2 1 0 value true false false false
57734 Batteriezustand Batteriezustand Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true false false false
63236 Storage Control Mode 0 – Disabled 1 – Maximize Self Consumption 2 – Time of Use (Profile programming) 3 – Backup Only 4 – Remote Control by an external controller uint16be 1 1 0 value true false false false
63245 Storage Charge/Discharge default Mode 0 – Off | 1 – Charge excess PV power | 2 – Charge from PV first | 3 – Charge from PV+AC according to the max battery power uint16be 1 1 0 value true false false false
ich würde gerne meine Batterie in Zusammenhang mit tibber steuern. Mein System besteht aus dem Wechselrichter SE10K RWS und dem LG Chem Resu 13.
Für den Fall, dass die Wärmepumpe aktiv ist (Strom-Zweitvertrag) oder tipper sehr günstige Preise hat, würde ich die Entladung gerne verhindern.
Ich setze auf den Angaben von Foradh0 am 20.03.2022 auf, die ausgelesenen Werte sind allerdings nicht plausibel. Gibt es da aktuellere Adressen oder Vorgehensweisen bzw. habt Ihr einen Tipp für mich?
Danke & Vg
_address name description unit type len factor offset formula role room poll wp cw isScale
57728 Batterie Available Energy Batterie Available Energy Wh floatsw 2 1 value true false false false
57732 Batterielevel Batterielevel % floatsw 2 1 0 value true false false false
57734 Batteriezustand Batteriezustand Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true false false false
63236 Storage Control Mode 0 – Disabled 1 – Maximize Self Consumption 2 – Time of Use (Profile programming) 3 – Backup Only 4 – Remote Control by an external controller uint16be 1 1 0 value true false false false
63245 Storage Charge/Discharge default Mode 0 – Off | 1 – Charge excess PV power | 2 – Charge from PV first | 3 – Charge from PV+AC according to the max battery power uint16be 1 1 0 value true false false false
@smartuser_1
Hi Smartuser,
deine Einstellungen passen. Du musst das Register 63236 auf den Wert 4 "remote control" stellen. Damit aktivierst du den Eintrag 63245 und kannst dann mit 63248 deine Entladeleistung auf 0 setzen.
ich würde gerne meine Batterie in Zusammenhang mit tibber steuern. Mein System besteht aus dem Wechselrichter SE10K RWS und dem LG Chem Resu 13.
Für den Fall, dass die Wärmepumpe aktiv ist (Strom-Zweitvertrag) oder tipper sehr günstige Preise hat, würde ich die Entladung gerne verhindern.
Ich setze auf den Angaben von Foradh0 am 20.03.2022 auf, die ausgelesenen Werte sind allerdings nicht plausibel. Gibt es da aktuellere Adressen oder Vorgehensweisen bzw. habt Ihr einen Tipp für mich?
Danke & Vg
_address name description unit type len factor offset formula role room poll wp cw isScale
57728 Batterie Available Energy Batterie Available Energy Wh floatsw 2 1 value true false false false
57732 Batterielevel Batterielevel % floatsw 2 1 0 value true false false false
57734 Batteriezustand Batteriezustand Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true false false false
63236 Storage Control Mode 0 – Disabled 1 – Maximize Self Consumption 2 – Time of Use (Profile programming) 3 – Backup Only 4 – Remote Control by an external controller uint16be 1 1 0 value true false false false
63245 Storage Charge/Discharge default Mode 0 – Off | 1 – Charge excess PV power | 2 – Charge from PV first | 3 – Charge from PV+AC according to the max battery power uint16be 1 1 0 value true false false false
habe heute mal getestet manuel meine BYD Batterie vom Netz zu laden (S7K Wechselrichter).
Ich habe hierzu 103237 auf 4 gesetzt und 103243 auf 3
hat soweit auch funktioniert. Allerdings rennt dann 40084 auf einen unrealistischen Wert. Liegt denk ich am Skalierungsfaktor 40085 der sich nicht ändert.
Das versaut mir natürlich meine gelogten Daten.
Bei Produktion aus PV passt alles
An was kann das liegen?
@smartuser_1
Hi Smartuser,
deine Einstellungen passen. Du musst das Register 63236 auf den Wert 4 "remote control" stellen. Damit aktivierst du den Eintrag 63245 und kannst dann mit 63248 deine Entladeleistung auf 0 setzen.
Vielen Dank für Deine Rückmeldung! Ich habe es gerade ausprobiert und es klappt prima. Speicher kann auch geladen werden, neben den zusätzlichen Ausschalten bei Bedarf ...
Erstmal vorweg: Ich bin neu im Forum. (Zumindest mal als Mitglied)
Daher gerne Rückmeldung, wenn ich etwas am Falschen Ort schreibe, aber ih denke mein Thema passt hier rein.
Aufgabe:
Ich möchte - vorbereiten auf einen dynamischen Stromtarif - meine Batterie (Solaredge) vom Netz laden, wenn der Strom günstig ist.
Was bisher geschah:
Einbindung der Anlage über Modbus erfolgt.
Die Stromtarife pro Stunde hole ich mir über aWATTar.
Pro Stunde prüfe ich, ob der Strompreis unter einem bestimmten Wert liegt.
Wenn ja -> Batterie Laden
Wenn nein -> Batterie nicht laden
Soweit so gut.
Meine Idee:
Batterie laden:
Ist setze via Modbus 63240_Storage_Control_Backup auf den Wert 100.
(Backupreserve auf 100 % stellen)
Das laden sollte dann ja der Wechserlichter erledigen.
Batterie nicht laden:
Ist setze via Modbus 63240_Storage_Control_Backup auf den Wert xx (aktuell 40).
Jetzt meine Fragen, wo ich euer Feedback brauche:
Ist meine Idee gut oder schlecht (ggf. habt ihr ja Gründe, die dagegen sprechen das genau so zu tun)
Wie kann ich die via Blocky das register 63240 setzen? (hier benötigen ein Beispiel)
Wie geht ihr mit dem Storage_Control_Mode um (muss man ja vorher auf 4 setzen) : Setzt ihr den nach getaner Arbeit wieder auf 1 ? . Das wäre zumindest mal mein plan, wenn die Batterie nicht mehr geladen werden soll)
Erstmal vorweg: Ich bin neu im Forum. (Zumindest mal als Mitglied)
Daher gerne Rückmeldung, wenn ich etwas am Falschen Ort schreibe, aber ih denke mein Thema passt hier rein.
Aufgabe:
Ich möchte - vorbereiten auf einen dynamischen Stromtarif - meine Batterie (Solaredge) vom Netz laden, wenn der Strom günstig ist.
Was bisher geschah:
Einbindung der Anlage über Modbus erfolgt.
Die Stromtarife pro Stunde hole ich mir über aWATTar.
Pro Stunde prüfe ich, ob der Strompreis unter einem bestimmten Wert liegt.
Wenn ja -> Batterie Laden
Wenn nein -> Batterie nicht laden
Soweit so gut.
Meine Idee:
Batterie laden:
Ist setze via Modbus 63240_Storage_Control_Backup auf den Wert 100.
(Backupreserve auf 100 % stellen)
Das laden sollte dann ja der Wechserlichter erledigen.
Batterie nicht laden:
Ist setze via Modbus 63240_Storage_Control_Backup auf den Wert xx (aktuell 40).
Jetzt meine Fragen, wo ich euer Feedback brauche:
Ist meine Idee gut oder schlecht (ggf. habt ihr ja Gründe, die dagegen sprechen das genau so zu tun)
Wie kann ich die via Blocky das register 63240 setzen? (hier benötigen ein Beispiel)
Wie geht ihr mit dem Storage_Control_Mode um (muss man ja vorher auf 4 setzen) : Setzt ihr den nach getaner Arbeit wieder auf 1 ? . Das wäre zumindest mal mein plan, wenn die Batterie nicht mehr geladen werden soll)
habe seit gestern ein Hot Water Modul (SE) womit der Heizstab der im Warmwasserspeicher ist gesteuert wird. Das Modul ist über Zigbee mit den Wechselrichter verbunden.
Den Wechselrichter lese ich bereits erfolgreich mit den Modbus Adapter aus. Meine Frage ist jetzt ob ich das Hot Water Modul auch über Modbus auslesen kann da es ja mit den Wechselrichter verbunden ist.
Wenn ja, weiss jemand welche Adressen es sind die ich ins Holding Register eintragen muss?!
@scheuler@leo8405 Hallo Bernd, Hallo Michael,
Habt ihr inzwischen eine Möglichkeit gefunden die Daten vom Hot Water Modul auszulesen? Ich habe bislang noch keine Möglichkeit gefunden die "Überschussleistung" des Wechselrichters, welche für das Hot Water Modul verwendet wird auszulesen. Im Wechselrichter finde ich nur die gesamte PV Leistung.
@scheuler@leo8405 Hallo Bernd, Hallo Michael,
Habt ihr inzwischen eine Möglichkeit gefunden die Daten vom Hot Water Modul auszulesen? Ich habe bislang noch keine Möglichkeit gefunden die "Überschussleistung" des Wechselrichters, welche für das Hot Water Modul verwendet wird auszulesen. Im Wechselrichter finde ich nur die gesamte PV Leistung.
@sentiq : Ja ich weis. Möchte das aber selber machen.
Ich hab jetzt einfach mal das 63240_Storage_Control_Backup auf 80 gesetzt.
Wird auch genommen, aber leider verhält sich die Anlage nicht so , wie als wenn ich in der App den Wert auf 80 ändere.
Auch wenn ich vorher Storage_Control_Mode auf 4 setze passiert nix anderes.
Hallo zusammen,
ich bekomme leider keine plausiblen Werte und bin daher für jeden Tipp dankbar.
Ich habe eine SolarEdge Anlage mit einem SE10K WR und passendem SolarEdge Inline Energy Meter.
Aktuell ist keine Wolke am Himmel und die Anlage erzeugt laut App ca. 5kW.
Der Wert 40084 I_AC_Power zeigt aber 3140W und springt manchmal auch deutlich runter auf bspw. 900W.
Ich habe diesen Wert auch mit dem Faktor wie folgt umgerechnet (Quelle YouTube: Hausautomatisierung):
Dann kommt aber je nach SF Wert völliger quatsch raus.
Alle anderen Werte sind auch nicht plausibel was die aktuelle PV Leistung angeht.
Auch den aktuellen Hausverbrauch bekomme ich leider nicht raus.
Hallo zusammen,
ich bekomme leider keine plausiblen Werte und bin daher für jeden Tipp dankbar.
Ich habe eine SolarEdge Anlage mit einem SE10K WR und passendem SolarEdge Inline Energy Meter.
Aktuell ist keine Wolke am Himmel und die Anlage erzeugt laut App ca. 5kW.
Der Wert 40084 I_AC_Power zeigt aber 3140W und springt manchmal auch deutlich runter auf bspw. 900W.
Ich habe diesen Wert auch mit dem Faktor wie folgt umgerechnet (Quelle YouTube: Hausautomatisierung):
Dann kommt aber je nach SF Wert völliger quatsch raus.
Alle anderen Werte sind auch nicht plausibel was die aktuelle PV Leistung angeht.
Auch den aktuellen Hausverbrauch bekomme ich leider nicht raus.
Der Wert 40084 I_AC_Power zeigt aber 3140W und springt manchmal auch deutlich runter auf bspw. 900W.
I_AC_Power zeigt doch an, was ins Hausnetz geht. Wenn du keinen Akku hast musst du zu diesem Wert noch jenen für die Einspeisung hinzurechnen, dann hast du die gesamte PV-Leistung.
Bei einem Akku kommt auch noch der Ladewert des Speichers hinzu.
Bei mir zeigt zB. jetzt im Moment der I_AC_Power Wert 697 Watt an und in den Speicher gehen momentan 320 Watt und Einspeisung ist 0 Watt also hab ich eine PV-Leistung von ca. 1020 Watt
Ich mach es z.B. in der Art
Allerdings kommt bei mir der Einspeisewert nicht vom SolarEdge Inline Energy Meter sondern vom SmartMeter des Netzbetreibers (weil der Wert ist viel genauer).
Hi @merlin123, hattest du hier schon Erfolg. Ich stehe vor dem selben Ziel und wäre für einen Tipp dankbar, über welche Register ich die Leistung der einzelnen Module auslesen kann.
hat jemandes schon mal Script geschrieben/ erstellt für die Werte Der Spannung / der einzeln Phasen. Auch Stromwert etc.
Die werte haben wir ja, aber wie rechnet mal diese mit dem Faktoren um, in Wert die Sinn machen?
hat jemandes schon mal Script geschrieben/ erstellt für die Werte Der Spannung / der einzeln Phasen. Auch Stromwert etc.
Die werte haben wir ja, aber wie rechnet mal diese mit dem Faktoren um, in Wert die Sinn machen?
@longbow Da wäre eher die Frage: Was macht da aus Deiner Sicht Sinn? Ich z.B. könnte nichts sinnvolles damit anfangen. (Also: Ich wüsste nicht, was mir die Infos an Mehrwert bringen würden)