NEWS
Test Adapter sun2000 v0.1.x - Huawei Wechselrichter
-
@bolliy , Danke -> klappt
Ich habe hier am iPAD mit dem Apple-Pencil die WB markiert und bekomme folgende Anreise 👏😊👏 - so hatte ich mir das vorgestellt.
@leonundjulie sehr schön.

Hast du schon gesehen, dass es jetzt auch einen Live-Chart gibt.
https://github.com/bolliy/ioBroker.sun2000/wiki/Statistk-(statistics)#live-chart--statisticsjsonliveDiese wird so aufgerufen
http://[ioBroker-ip]:8082/flexcharts/echarts.html?source=state&id=sun2000.0.statistics.flexCharts.jsonOutput.live&sseKönntest du zusätzlich in deine vis einbauen.
LG Stephan
-
@bolliy , danke für den Hinweis - ist jetzt ebenfalls drin. Mal sehen was mir sonst noch praktisches einfällt.
Hier ein LIVE VIEW von heute:

Und hier meine Startseite (Anmerkung: ich weis, dass der Wert für Einspeisung/Netzbezug falsch ist, muss ich noch tauschen):

-
@bolliy , danke für den Hinweis - ist jetzt ebenfalls drin. Mal sehen was mir sonst noch praktisches einfällt.
Hier ein LIVE VIEW von heute:

Und hier meine Startseite (Anmerkung: ich weis, dass der Wert für Einspeisung/Netzbezug falsch ist, muss ich noch tauschen):

-
Neue Testversion sun2000 Adapter Version v2.6.0 released.
Die Installation erfolgt über npm oder morgen über das Beta Repository.
Neue Funktion: Time of Use (TOU) – Lade-/Entladefenster für den Akku
Ab dieser Version unterstützt der Adapter Huaweis Time of Use (TOU)-Funktion. Damit lassen sich feste Zeitfenster definieren, in denen der Akku entweder geladen oder entladen werden soll – praktisch z. B. bei dynamischen Stromtarifen (Tibber & Co.), wenn man in günstigen Stunden aus dem Netz laden möchte.
Die Funktion steht sowohl für die EMMA als auch für den SUN2000-Wechselrichter (mit Akku) zur Verfügung:
Gerät Modbus-Register State EMMA 40004emma.control.battery.tou.chargeDischargeTimeWindowsSUN2000-Wechselrichter 47255sun2000.<Index>.control.battery.tou.chargeDischargeTimeWindowsFormat
Der State erwartet ein JSON-Array mit maximal 14 Zeitfenstern:
[ { "start": "00:00", "end": "06:00", "mode": "charge", "days": ["Mon","Tue","Wed","Thu","Fri"] }, { "start": "17:00", "end": "20:00", "mode": "discharge", "days": ["Sat","Sun"] } ]start/end— Uhrzeit im FormatHH:MM(24h).startmuss vorendliegen.mode—"charge"oder"discharge".days— Wochentage(Mon, Tue, Wed, Thu, Fri, Sat, Sun), englische Kürzel als auch Vollnamen ("Monday" etc.) werden akzeptiert.
Intern wird dieses JSON in das von Huawei erwartete 43-Wort-Registerformat umgewandelt (1 Zählwort + 14 × 3 Worte pro Segment: Start-Minute, End-Minute, sowie ein gepacktes Byte mit Lade-/Entladeflag und Wochentags-Bitmaske).
Neues Zeitfenster setzen
Einfach ein neues JSON-Array (mit
ack: false) in den Statetou.chargeDischargeTimeWindowsschreiben. Der Adapter prüft die Eingabe und schreibt nur bei gültigem Format ins Gerät:- Ungültiges JSON, unzulässige Uhrzeiten, unbekannte Wochentagsnamen oder
start >= end→ der Schreibvorgang wird abgelehnt, es erscheint eine Warnung im Log (keine Log-Flut bei wiederholt ungültigen Werten). - Bei Erfolg wird die Anzahl der übertragenen Segmente geloggt und der State bestätigt (
ack: true).
Übertragung der Standard-TOU-Einstellung
Steht der Arbeitsmodus nicht auf
5und ist die Adapter-Einstellung „Standard-TOU übertragen" in der Adapterkonfiguration aktiviert, schreibt der Adapter beim ersten Start automatisch ein Standard-Zeitfenster (24h laden, alle Tage), damit in einfacher Weise über den Arbeitsmodus der Netzladevorgang eingeleitet werden kann. (https://github.com/bolliy/ioBroker.sun2000/wiki/Battery-control#laden-des-speichers-über-dynamische-stromtarife)Hinweise / Einschränkungen
- Maximal 14 Zeitfenster pro Gerät.
- Überlappende Zeitfenster werden nicht validiert – sie werden unverändert übertragen; die Auflösung überlappender Fenster übernimmt die Huawei-Firmware selbst.
- EMMA und jeder einzelne SUN2000-Wechselrichter haben jeweils ihren eigenen TOU-State/Register – beim Einsatz einer Emma werden die Einstellungen an den Wechselrichtern u.U. von der Einstellung der Emma überlagert.
Um den Lade-/Entladevorgang einzuleiten, muss der
sun2000.0.emma.control.battery.ESSControlMode: 5 gesetzt werden. (https://github.com/bolliy/ioBroker.sun2000/wiki/Battery-control#laden-über-tou-starten) -
Hallo Stephan. Ich sehe den Wald vor lauter Bäumen nicht - gibt es einen Datenpunkt mit der Gesamterzeugung im aktuellen Jahr?
-
Eigentlich über das Statistik-Modul im Datenpunkt sun2000.0.statistics.jsonAnnual unter dem key
solarYield.value
Da das Statistik-Modul noch nicht seit Januar läuft - halt der aufgelaufener SolarErtrag.
Über modbus werden nur tägliche und gesamt aufgelaufene Werte bereitgestellt.Deshalb gibt es nun die Möglichkeit über das Statistik-Modul allerlei Daten abzurufen.
Falls du also einzelne Werte aus einem json-array in dein vis (vis-2) darstellen möchtest, kann ich dir den JSONTemplate - Adapter empfehlen.
LG Stephan
-
Consumption Breakdown — Hausverbrauch runterbrechen
Mit dem Consumption Breakdown lässt sich der gemessene Hausverbrauch in beliebig viele Unterkategorien aufteilen — zum Beispiel Wärmepumpe, Wallbox, Waschmaschine oder sonstige Verbraucher.
Die Breakdown-Werte werden als zusätzliche gestapelte Balken/Linien im unteren Panel jedes Charts angezeigt.Wie funktioniert es?
Der Adapter liest die konfigurierten Quell-States (Verbrauchszähler) aus ioBroker (auch aus anderen Adaptern, mqtt, Tibberlink usw.) und zieht deren Werte vom Gesamtverbrauch ab. Im Chart erscheinen dann:die einzelnen Breakdown-Kategorien (z.B. Wärmepumpe, Wallbox)
ein Restverbrauch (Consumption) — das ist der Hausverbrauch minus alle Breakdown-Werte
Die Summe aller Verbräuche im unteren Panel entspricht dem gemessenen Gesamtverbrauch.Konfiguration
Die Konfiguration erfolgt über den State statistics.dataDef.consumptionBreakdown (beschreibbar,
Typ string, Rolle json). Dort wird ein JSON-Array eingetragen, das die Unterkategorien beschreibt.Ein Beispiel mit zwei Einträgen:
Copy to Clipboard
[
{
"sourceId": "hm-rpc.0.OEQ1234567.1.ENERGY_COUNTER",
"targetPath": "washingMachine",
"name": "Waschmaschine",
"gain": 1000,
"color": "#e91e63",
"type": "delta"
},
{
"sourceId": "0_userdata.0.heatpump.energyToday",
"targetPath": "heatPump",
"name": "Wärmepumpe",
"color": "#3f51b5",
"type": "deltaReset"
}
]Hallo kann man da auch fortlaufende Werte hernehmen wie zb. von meiner Zappi Wallbox, die schickt mir in kurzen abständen immer den Wert der gerade ins Auto geladen wurde. Gehen tut es mir eigentlich um die Tages, Wochen, Monats, und Jahresstatistiken wenn es bei Live auch funktionieren würde wäre das natürlich auch toll. Wenn ja, was muss da dann bei type eingetragen werden. ich hab es mit deltaReset versucht aber da stimmt nichts zusammen.
[ { "sourceId": "alias.0.Myenergi.Diversion amount Watts", "targetPath": "wallbox", "name": "Zappi Wallbox", "gain": 1000, "color": "#3f51b5", "type": "deltaReset" }, { "sourceId": "alias.0.Shelly Strommessung Heizraum.Momentanverbrauch Heizung", "targetPath": "waermepumpe", "name": "Wärmepumpe", "gain": 1000, "color": "#08eaf7", "type": "deltaReset" }, { "sourceId": "alias.0.Waschmaschine.power", "targetPath": "waschmaschine", "name": "Waschmaschine", "gain": 1000, "color": "#08f7c7", "type": "delta" } ]Danke für diesen Super Adapter und alles was dazu gehört.
Gruß aus TIROL Jürgen -
Consumption Breakdown — Hausverbrauch runterbrechen
Mit dem Consumption Breakdown lässt sich der gemessene Hausverbrauch in beliebig viele Unterkategorien aufteilen — zum Beispiel Wärmepumpe, Wallbox, Waschmaschine oder sonstige Verbraucher.
Die Breakdown-Werte werden als zusätzliche gestapelte Balken/Linien im unteren Panel jedes Charts angezeigt.Wie funktioniert es?
Der Adapter liest die konfigurierten Quell-States (Verbrauchszähler) aus ioBroker (auch aus anderen Adaptern, mqtt, Tibberlink usw.) und zieht deren Werte vom Gesamtverbrauch ab. Im Chart erscheinen dann:die einzelnen Breakdown-Kategorien (z.B. Wärmepumpe, Wallbox)
ein Restverbrauch (Consumption) — das ist der Hausverbrauch minus alle Breakdown-Werte
Die Summe aller Verbräuche im unteren Panel entspricht dem gemessenen Gesamtverbrauch.Konfiguration
Die Konfiguration erfolgt über den State statistics.dataDef.consumptionBreakdown (beschreibbar,
Typ string, Rolle json). Dort wird ein JSON-Array eingetragen, das die Unterkategorien beschreibt.Ein Beispiel mit zwei Einträgen:
Copy to Clipboard
[
{
"sourceId": "hm-rpc.0.OEQ1234567.1.ENERGY_COUNTER",
"targetPath": "washingMachine",
"name": "Waschmaschine",
"gain": 1000,
"color": "#e91e63",
"type": "delta"
},
{
"sourceId": "0_userdata.0.heatpump.energyToday",
"targetPath": "heatPump",
"name": "Wärmepumpe",
"color": "#3f51b5",
"type": "deltaReset"
}
]Hallo kann man da auch fortlaufende Werte hernehmen wie zb. von meiner Zappi Wallbox, die schickt mir in kurzen abständen immer den Wert der gerade ins Auto geladen wurde. Gehen tut es mir eigentlich um die Tages, Wochen, Monats, und Jahresstatistiken wenn es bei Live auch funktionieren würde wäre das natürlich auch toll. Wenn ja, was muss da dann bei type eingetragen werden. ich hab es mit deltaReset versucht aber da stimmt nichts zusammen.
[ { "sourceId": "alias.0.Myenergi.Diversion amount Watts", "targetPath": "wallbox", "name": "Zappi Wallbox", "gain": 1000, "color": "#3f51b5", "type": "deltaReset" }, { "sourceId": "alias.0.Shelly Strommessung Heizraum.Momentanverbrauch Heizung", "targetPath": "waermepumpe", "name": "Wärmepumpe", "gain": 1000, "color": "#08eaf7", "type": "deltaReset" }, { "sourceId": "alias.0.Waschmaschine.power", "targetPath": "waschmaschine", "name": "Waschmaschine", "gain": 1000, "color": "#08f7c7", "type": "delta" } ]Danke für diesen Super Adapter und alles was dazu gehört.
Gruß aus TIROL Jürgen -
@juggi1962 bei Leistungswerten musst du diesen über den Adapter SourceAnalytix aufsummieren lassen und diesen hier verwenden.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden