Huawei Wechselrichter (Modbus Fragen)

schick mir mal per pm ein Bild von der Struktur was angelegt wurde…

hab mir heute mal die coolen Daten angesehen aber irgendwie stimmt da was nicht überein mit verbrauch und Einspeisung oder sehe ich das falsch?

danke :slight_smile:

Guten Morgen,
nachdem mein Solateur den ModBus aktiviert hat wollte ich das Skript ebenfalls ausführen bzw. nutzen und erhalte nun bei der Installation folgende Fehler:

Es scheint aber soweit alles wie es soll zu funktionieren, zumindest konnte ich nirgends fehlende Einheiten entdecken.

Was ich noch gerne „löschen“ würde wäre die Wallbox, da ich derzeit keine montiert habe.
Ich habe in „Webansicht_1“ bereits alle Einträge mit Wallbox auskommentiert:
grafik

trotzdem wird das Bild in der Webansicht noch eingeblendet:

auf jeden Fall ein fettes Dankeschön!
Jetzt kann ich für die Frau auch Push-Nachrichten schicken lassen, wenn die PV-Anlage genug Strom produziert um Waschmaschine und Geschirrspüler zu versorgen :smiley:

Update:
was mir jetzt noch aufgefallen ist, dass der aktuelle Verbrauch im Haus nicht stimmt:
lt. Huawei-App: 0,9 kW Verbrauch aktuell (realistisch, da niemand zuhause ist)
lt. Skript:

Der Hausverbrauch ist absolut nicht realistisch, da aktuell niemand daheim ist und alle großen Stromfresser (Waschmaschine, etc.) sind aus.
hier die Ausgabe der Huawei-App:

Habe ich hier irgendwo einen Fehler drin, den ich selbst beheben kann?

Viele Grüße
Simon

Ich habs mir auch nochmal angesehen.

Netzbezug ist bei dir 3,064 die du Einspeist wenn ein - davor beziehst du.
Hausverbrauch ist Gesamtleistung etwas geringer als PV Gesamtleistung. Eventuell hat @drapple sich da was gedacht oder auch vertauscht :wink:

lg

genau, das ist ja auch plausibel, wenn man es mit der Huawei-App vergleicht (dort eben etwas zeitverzögert) und passt so von der Anzeige her.

Beim Hausverbrauch hätte ich die ca. 0,9 KW erwartet, also den aktuellen Bedarf.

hier nochmal der aktuelle Bedarf, welcher zu 100% vom Akku gedeckt wird:

Anzeige akt. Verbrauch

es macht den Eindruck, dass beim vorherigen Post von mir beim Hausverbrauch die Einspeisung mit berücksichtigt wird (was dann ja aber nicht der Realität für den „Verbrauch“ entsprechen würde).
Aktuell speise ich ja nichts ein, da es Dunkel ist und die PV-Anlage nichts mehr produziert und folglich kann auch keine Einspeisung berücksichtigt werden.

ja stimmt ich berechne das aktuell (Rechen Modul). Ich denke da muss noch was angepasst werden.

Hi, ja das ist mir gestern auch schon aufgefallen :wink: Ich habe es ja immer Abends, wenn kein Überschuss in Netz eingespeist worden ist, mir angeschaut und die letzten Wochen, war auch nichts mit Einspeisen nur zu träumen :wink:

Ich werde es bis zum Wochenende Anpassen…

2 „Gefällt mir“

OK dann passe ich das An mit der Wallbox, die ist fix im Bild integriert.

Ich baue es so um, das man es sich einstellen kann, mit oder ohne Wallbox…

1 „Gefällt mir“

Hi stimmt das so von der Berechnung her ?

<?php

$haus=getvalue(53613);
$netz=GetValue(29800);



if ($netz >0 and $haus>0) $value=$haus-$netz;
else if ($netz <0 and $haus>0) $value=$haus+$netz*-1;
else $value=$haus;

SetValue(19579,$value);

ich würde das Skript bei mir morgen mal einbauen - in der Hoffnung, dass die Wolkendecke etwas aufreißt und meine PV-Anlage Strom produziert.
Dann kann ich es dir anhand der Werte sagen :slight_smile:

Ich kämpfe mit einem blöden Problem, das per Modbus ein Wert mal reinkommt der total daneben liegt:

Bildschirm­foto 2023-03-06 um 16.15.29

Ich frage mich, woher das kommt ?

Passiert nicht oft, aber es nervt halt, weil dann alle Berechnungen falsch sind…

Um den Fehler zu vermeiden, wurde nur eine Zusätzliche Variable helfen, die nur beschrieben wird, wenn der neue Wert nicht X grösser ist als der Vorgehende…

Oder hat jemand eine Idee, wie man das fixen könnte ?

Dann habe ich oft das im Log stehen:

Nicht jeden Tag, aber wenn dann öfters am Tag, schaue ja nicht dauerhaft drauf / rein…

Hat jemand auch das Problem ? Was könnte die Ursache sein ? Schlechter WLAN Empfang ?

konnte es leider mangels brauchbarem Wetter noch nicht testen.
Vielleicht kann ja noch wer anders schauen ob der Wert jetzt realistisch ist.

Ich hab das auch mit den Werten. Und manchmal Spikes in den Graphen. Denke das sind Fehler bei der Datenübertragung.
Das „Device Busy“ liegt daran, dass der Smart Dongle nur Anfragen mit bestimmten Abständen zulässt und die Modbus Abfragen von IPSymcon auch gerne mal quasi zeitgleich kommen weil unterschiedliche Instanzen.
Das zu unterbinden dürfte schwer werden. Muss man die Modbus Anfragen irgendwie selbst timen. Ich hab dazu mal irgendwo was gelesen aber das ist wohl sehr umfangreich.

LG
Theo

:frowning:

Blöd, aber ob das besser wäre, statt über WLAn es direkt sich an den Modbus zuhängen ?

Leider sind ja die Adressen dann wieder komplett andere :frowning:

Hmmm schwer zu sagen. Aber ich glaube die Begrenzung kommt tatsächlich nur durch den Dongle. Hab das nie getestet wie es sich mit einem Interface direkt am Modbus verhält.

LG
Theo

Guten Morgen,

ich habe nun mal den Skript unter „App-Ansicht“ → Eigenverbrauch wie folgt angepasst:

<?php  
#$pv_all=getvalue(33397);
#$netzeinspeisung=getvalue(16540);


#$value=$pv_all-$netzeinspeisung;

#setvalue(52704,$value);



$haus=getvalue(47497);
$netz=GetValue(43140);



if ($netz >0 and $haus>0) $value=$haus-$netz;
else if ($netz <0 and $haus>0) $value=$haus+$netz*-1;
else $value=$haus;

SetValue(52704,$value);

den Original-Code habe ich erstmal nur auskommentiert.

Als Ergebnis erhalte ich nun:

Irgendwo scheint also noch ein Fehler zu sein. Ich weiß jetzt nur nicht, ob der Fehler vorm Bildschirm sitzt und meine Anpassung fehlerhaft war, oder ob im Skript von dir noch ein Fehler ist :wink:

Objekt-ID 47497 verlinkt auf


und gibt den korrekten aktuellen Verbrauch aus

Objekt-ID 43140 verlinkt auf


und gibt auch den korrekten aktuellen „Verbrauch“ des Netzbezugs aus.

Objekt-ID 52704 verlinkt auf:


und hier scheint der Wert falsch anzukommen.

Gerne kann ich das Skript nochmals testen, falls sich ein Fehler eingeschlichen hat.
Was auffällt ist, dass wenn ich das Skript direkt ausführe es in eine „Endlosschleife“ geht:

okay jetzt funktioniert es:

eventuell hat die Variable auch noch einen Moment gebraucht um sich zu aktualisieren.


Werte sind soweit stimmig. Auch der Eigenverbrauch ist aktuell in Ordnung, da Waschmaschine und Geschirrspüler laufen :wink:

Vielen Dank nochmals für das überarbeiten des Skripts :slight_smile:

PS: Werte Konsolen-Ansicht und Webansicht stimmen nicht überein, da die Screenshots mit zeitlicher Verzögerung erstellt worden sind.

1 „Gefällt mir“

So ich glaube ich habe die Berechnung für die einzelnen Strings hinbekommen:

Erstmal rechnet man pro String die kWatt Leistung aus:

W=V*A
kW=W/1000

Das schreiben wir in eine Variable und loggen die Werte.

Dann nehmen wir das Archiv von der Variable und holen uns die Werte raus und zwar die minütlich !

Die schreiben wir in ein Array.

Das Array arbeitet man über eine for Schleife ab und addieren die Werte.

Dann Teilt man das Ergebnis durch 60 um auf kWh zu kommen und schon hat man den Ertrag pro String.

Ich habe noch einen Prozentwert genommen, um die Umrechnung der Verluste von DC auf AC zu berücksichtigen.

Das sieht dann so aus:

<?php
$stunde=date("H");
$minuten=date("i");

$stunde_start=date("H")-1;
$minuten=date("i");
$prozentwert=0.09;

$archive_id = IPS_GetInstanceListByModuleID("{43192F0B-135B-4CE7-A0A7-1475603F3060}")[0];
$werte = AC_GetAggregatedValues($archive_id, 33179, 6 /*Minütlich */, strtotime("today 00:00"), time(), 0); #
#print_r ($werte);
$anzahl=count($werte);

$kwh=0;
for ($i = 1; $i <= $anzahl; $i++) 
{
    $temp=$werte[$i-1]["Avg"];
    $kwh=$kwh+$temp;
}
$kwh=$kwh/60;
$kwh11=$kwh*$prozentwert;
$kwh=$kwh-$kwh11;

setvalue(54945,$kwh);

Was meint Ihr kann das so stimmen ? Wenn beide errechneten Stringwerte wiederum addiere komme ich auf den Gesamtertrag am Tag :wink:

Also zumindest näherungsweise kommt man da ran. Wenn man in Extremfall jetzt zur Abfrage immer ne Wolke hätte und dann 30 Sekunden Sonne würde das glaub ich nicht mehr hinhauen. Für ne genaue Berechnung braucht man dann kurze Zeitintervalle, die man aber garnicht hinkriegt.

Am ehesten macht es vllt Sinn die Werte für Spannung / Strom alle 10-30 Sekunden abzufragen und andere Werte deutlich seltener. Dann mal gucken wie viele „Busy“ Fehler man hat. Je öfter abgefragt desto genauer die Berechnung.

Hi habe eben das neue Phänomen gehabt, das ich kein PV Produktion hatte, aber der Akku mit 150W aus dem Netz geladen wurde usw…

Also sind mal wieder die Werte total gesponnen…

So geht es endlich hoffentlich in jedem Szenario:

if ($netz >0 and $haus>0) $value=$haus-$netz;
else if ($netz <0 and $haus>=0) $value=$haus+$netz*-1;
else if ($netz <0 and $haus<0) $value=$netz*-1-$haus*-1;
else $value=$haus;