Closed boecks closed 2 months ago
Der Grund für das "Hüpfen" ist vermutlich, dass immer wieder tatsächlich der Wert 0
geschrieben wird, verursacht vermutlich durch diese Zeile in deinem Script:
// Ensure the value is non-negative
if (powerData < 0) {
powerData = 0;
}
Dass dies erst nach einigen Sekunden sichtbar wird, liegt daran, dass bei JETZT zunächst eine gemittelte Darstellung der letzten Stunde erfolgt, dann aber im 5-Sekunden-Takt fortgeschrieben wird.
Insofern denke ich, dass eine Anpassung deines Scripts helfen sollte. Es darf keine 0
geschrieben werden, wenn nicht die Messung wirklich 0
ist, also in deinem Fall in der Nacht.
Zum Shelly-Collector noch: Ja, der ist eigentlich dafür gedacht, den Verbrauch zu messen. Aber wenn der Shelly bei dir so angeschlossen ist, dass er die Erzeugung misst, dann spricht eigentlich nichts dagegen, den Collector dennoch zu verwenden. Er schreibt in ein Measurement deiner Wahl (z.B. inverter
) und dort ins Field power
. Du musst dann das Dashboard nur so konfigurieren, dass es die Erzeugung von dort gelesen wird. Beispiel:
Shelly-Collector:
INFLUX_MEASUREMENT=inverter
Dashboard:
INFLUX_SENSOR_INVERTER_POWER=inverter:power
Habe es korrigiert und du hattest Recht. Danke für den Hinweis! Empfiehlst du eher den Shelly Connector für meinen Use Case? Das Problem mit dem Shelly wäre doch, dass ich den Verbrauch des Wechselrichters (bzw. sind es mehrere Per-Panel Wechselrichter) dann in meinem PV Inverter Power Measurement bekomme oder täusche ich mich? Ich müsste jedenfalls garantieren, dass negative werte als 0 interpretiert werden.
Unabhängig von deiner elektrischen Installation arbeitet der Shelly-Collector so:
Im 5-Sekunden-Takt (konfigurierbar) holt der sich über die HTTP-Schnittstelle des Shelly (http://[ip-adresse]/rpc/Shelly.GetStatus
) die aktuellen Messwerte (insbesondere total_act_power
) und legt diese in InfluxDB ab - im selbst festzulegenden Measurement.
Wie dieser Messwert interpretiert wird (Verbrauch? Oder doch Erzeugung?) ist Sache des Dashboards. Mit dem Eintrag INFLUX_SENSOR_INVERTER_POWER=inverter:power
erfolgt eine Behandlung als Erzeugung.
Eine Spezialbehandlung von negativen Werten erfolgt aber nicht. Wie können die denn überhaupt auftreten? Ich könnte im Shelly-Collector eine Werte-Korrektur ergänzen, sodass immer positiv (oder 0) geschrieben wird.
Oder du bleibst beim MQTT-Collector.
Ich habe einen Pro 3 EM an der Wurzel der PV Anlage (3 Phasen) und einen Pro 3 EM an der Wurzel beim Netzanschluss. Wenn die PV erzeugt kommen positive Werte, wenn nicht, messe ich den Verbrauch der Wechselrichter und bekomme negative Werte. Zumindest theoretisch...
Ich vermute, dieses Issue ist hier erledigt, ich schließe es somit. Diskussion über den Umgang mit zwei Shellys und die Errechnung des Hausverbrauchs in #3392.
Beschreibung (auf Deutsch oder Englisch)
Ich versuche gerade eine neue Solectrus Instanz aufzusetzen. Diese Instanz bekommt die Inverter Daten via MQTT. Diese Daten werden sekünglich von einem Shelly Pro 3EM auf folgendes MQTT Topic gepublished: home/inverter/power, ein entsprechendes Sensor Mapping in der ENV und im MQTT Collector existiert.
Nach einer Weile (ca. 10 Sek) beginnt der Graph scheinbar zwischen jedem Messpunkt einmal auf die Nullinie zu hüpfen. Wenn ich den Graph neu lade (zB Timeframe hin und her wechseln oder F5 drücken oder Browser Tabs wechsle) wird er richtig gezeichnet, bis er nach einigen Momenten wieder mit den Null-Sprüngen beginnt.
Gibt es dafür einen Grund? Die MQTT Messages werden direkt am Shelly mittels Script gesendet - das Intervall kann ich beliebig wählen.
Offtopic: Der Shelly Connector ist ja nur für die Verbruachermessung vorgesehen wie es scheint, nicht für die Inverter Power Messung, daher der Umweg über den MQTT Collector und das Shelly Script...
Welche Version von SOLECTRUS verwendest du?
0.15.1
Auf welchem Gerät läuft bei dir SOLECTRUS?
Synology NAS
Auszug aus dem Logfile, sofern zum Verständnis sinnvoll (z.B. bei einem Fehler 500)
No response
Dein vollständiges
docker-compose.yml
odercompose.yml
Dein vollständiges
.env
Gibt es sonst noch etwas?
Shelly Script für die MQTT Nachrichten: