Neueste Beiträge

#1
DOIF / Aw: DOIF-Abfall-Status per Tel...
Letzter Beitrag von Dr. Boris Neubert - 10 Mai 2026, 17:53:44
Zitat von: Damian am 03 Mai 2026, 13:18:36Allerdings sind fast alle Beispiele als Tabelle definiert - auch dieses Abfall-Beispiel. Die müsste man erst mal umschreiben. Dann kann man auch gleich selbst mit Hilfe der vordefinierten uiTable-Funktionen (hier ui_Table::style und ui_Table::ic) sich seinen HTML-Code zusammen bauen.

Habe mich ein wenig in DOIF und sein uiTable-Attribut eingelesen. Mir ist jedoch nicht klar, welche Funktion ich aufrufen muss, um den HTML-Kode im Inneren der Tabelle herauszubekommen, also das Äquivalent von { ui_Table::get_uiTable("dbAbfall") }.

Beim Mini-Dashboard für PV-Anlage habe ich ui_Table::ring2() benutzt, das SVG zurückgibt, was ich mit dem im RSS-Modul in ein PNG-Bild plotten konnte. Ohne Verrenkungen können wir aber meines Wissens nach kein HTML in ein Grafikformat rendern, um statt HTML-Kode ein Bild per Telegram zu senden.

Die Alternative wäre dann ein Bild mit dem RSS-Modul zu bauen (die Tonnen sind ja SVG-Grafiken) und mit Telegram zu versenden.
#2
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von 300P - 10 Mai 2026, 17:13:55
Hallo Gisbert,

Gratuliere ! ;)

Laufzeit
von : 2026.05.10 11:32:43.093
bis : 2026.05.10 11:55:57.255

Das sind ja sogar nur ca. 23 Minuten mit 3 Trainingsdurchgängen - sehr gut!! ;D

Und das Endergebnis ist auch akzeptabel - der erste Schritt ist getan  8)
2026.05.10 11:55:53.809 1: mySolarForecast DEBUG> Best model after retries comes from Attempt=2 with:
Seed=13783776,
Model Score=73,
Model Slope=0.71,
Model Bias=365.49,
VAL MedAE=206.24,
VAL MAE=311.86,
VAL weighted RMSE=359.56,
VAL weighted RMSE relative=51 %,
VAL weighted RMSE_Rating=acceptable,
VAL R2=0.78,
Val MSE=0.001582


Trotzdem gehe doch bitte einmal dem Wert von 109,6 kWh nach. das ist schon ein extremer CON-Verbaucher-Ausreißer.
=>> Die notwendige Anleitung dazu hast du ja schon gestern Abend von mir erhalten. ;)
2026.05.10 11:32:43.532 1: mySolarForecast DEBUG> AI FANN - Target-Norm: raw_max=109600, p99=3500, p99.5=11100, targmaxval=14430
2026.05.10 11:32:43.532 1: mySolarForecast DEBUG> AI FANN - True Outliers above p99.5 (11100): 109600

Gibst du auch noch bitte einmal den aktuellen Inhalt deines attr XYXYXYX aiControl .............in Kopie wenn du die Ausreißer eliminiert hast.......und erneut trainiert hast.  8)

Du kannst dann gern nach Trainingsschluss die "Informationen zum neuronalen Netz der Verbrauchsvorhersage" mit den Werten zur Statusmitteilung b.a.w. hier nutzen. (Screenshot).
Aber bitte nur den Text bis inklusive der Zeile mit
letzte Rekalibrierung: -
(da stehen in den letzten Zeilen aber erst nach 24 Stunden Laufzeit nach dem Training Werte)

kopieren und als Informationen zum neuronalen Netz der Verbrauchsvorhersage

letztes KI-Training: 09.05.2026 21:38:52 / Laufzeit in Sekunden: 5168
KI Abfragestatus: ok
letzte KI-Ergebnis Generierungsdauer: 69.73 ms
Alpha: 0.8
Verbrauchernummer Wärmepumpe: 08
.....
....
...
..
.
Bias recalibrated: -7
letzte Rekalibrierung: -
hier dann wieder zeigen.

#3
MQTT / Aw: mqtt2.template: bugs, Frag...
Letzter Beitrag von Motivierte linke Hände - 10 Mai 2026, 15:58:32
Ich versuche, einen mit zigbee2mqtt laufenden Sonoff Hydro one (SWV-ZFS) in FHEM zu integrieren. Aktueller Versuch eines Templates:

name:zigbee2mqtt_sonoff_hydro_one
desc: Sonoff Hydro One Wasserventil mit Durchflussmesser
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_05f4
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to sani_water_tap;{ AttrVal("DEVICE","icon","sani_water_tap") }
attr DEVICE icon ICON
attr DEVICE devStateIcon on:sani_water_tap@blue:off off:sani_water_tap@red:on
attr DEVICE webCmd on:off
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret=json2nameValue($EVENT); $ret->{state}=lc($ret->{state}) if defined $ret->{state}; return $ret }
attr DEVICE setList \
  on:noArg $\DEVICETOPIC/set {"state":"ON"}\
  off:noArg $\DEVICETOPIC/set {"state":"OFF"}\
  child_lock:lock,unlock $\DEVICETOPIC/set {"child_lock":uc("$EVTPART1")}\
  manual_default_settings_irrigation_mode:duration,capacity $\DEVICETOPIC/set {"manual_default_settings_irrigation_mode":"$EVTPART1"}\
  manual_default_settings_irrigation_duration:slider,0,1,719 $\DEVICETOPIC/set {"manual_default_settings_irrigation_duration":$EVTPART1}\
  manual_default_settings_irrigation_amount:slider,0,1,10000 $\DEVICETOPIC/set {"manual_default_settings_irrigation_amount":$EVTPART1}\
  manual_default_settings_irrigation_amount_unit:liter,US_gallon $\DEVICETOPIC/set {"manual_default_settings_irrigation_amount_unit":"$EVTPART1"}\
  manual_default_settings_fail_safe:slider,0,1,719 $\DEVICETOPIC/set {"manual_default_settings_fail_safe":$EVTPART1}\
  valve_alarm_settings_enable_alarm_water_leak:true,false $\DEVICETOPIC/set {"valve_alarm_settings_enable_alarm_water_leak":"$EVTPART1"}\
  valve_alarm_settings_alarm_water_leak_duration:slider,1,1,3 $\DEVICETOPIC/set {"valve_alarm_settings_alarm_water_leak_duration":$EVTPART1}\
  valve_alarm_settings_enable_alarm_water_shortage:true,false $\DEVICETOPIC/set {"valve_alarm_settings_enable_alarm_water_shortage":"$EVTPART1"}\
  valve_alarm_settings_alarm_water_shortage_duration:slider,1,1,10 $\DEVICETOPIC/set {"valve_alarm_settings_alarm_water_shortage_duration":$EVTPART1}\
  valve_alarm_settings_enable_water_shortage_auto_close:true,false $\DEVICETOPIC/set {"valve_alarm_settings_enable_water_shortage_auto_close":"$EVTPART1"}
attr DEVICE model zigbee2mqtt_sonoff_hydro_one
setreading DEVICE attrTemplateVersion 20260510_18

Damit kann ich alles lesen und das Ventil öffnen und schließen. Das Setzen der anderen Werte funktioniert allerdings nicht. Hier mal mein Versuch, "manual_default_settings_irrigation_duration" auf zu setzen:

[2026-05-10 15:04:58] error:    z2m: No converter available for 'manual_default_settings_irrigation_duration' on 'Ventil_Vorgarten': (45)
Das tatsächliche Datenformat ist wohl ein Baum in einem etwas anderen Format (in FHEM in den Readings vereinfacht auf einer Ebene angezeigt), wie dieser Logauszug für die vollständigen Daten zeigt:

[2026-05-10 15:04:59] info:     z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Ventil_Vorgarten', payload '{"battery":100,"child_lock":"UNLOCK","hour_irrigation_duration":32,"hour_irrigation_volume":27,"irrigation_schedule_status":{"actual_end_time":"2026-05-10T15:04:54+02:00","actual_irrigation_amount":5,"expected_end_time":"2026-05-10T15:59:11+02:00","expected_irrigation_amount":0,"irrigation_amount_unit":"liter","irrigation_mode":"duration","schedule_index":0,"schedule_status":"running","schedule_type":"manual","start_time":"2026-05-10T14:59:11+02:00"},"last_seen":"2026-05-10T13:04:59.678Z","linkquality":69,"manual_default_settings":{"fail_safe":90,"irrigation_amount":0,"irrigation_amount_unit":"liter","irrigation_duration":60,"irrigation_mode":"duration"},"rain_delay_end_datetime":"","real_time_irrigation_duration":46,"real_time_irrigation_volume":37,"seasonal_watering_adjustment":{"april":1,"august":1,"december":1,"february":1,"january":1,"july":1,"june":1,"march":1,"may":1,"november":1,"october":1,"september":1},"state":"ON","update":{"installed_version":4103,"latest_release_notes":null,"latest_source":null,"latest_version":4103,"state":"idle"},"valve_abnormal_state":"water_shortage","valve_alarm_settings":{"alarm_water_leak_duration":1,"alarm_water_shortage_duration":5,"enable_alarm_water_leak":true,"enable_alarm_water_shortage":true,"enable_water_shortage_auto_close":false}}'
Also habe ich versucht, das Template so zu ändern, dass es in der Baumstruktur Befehle sendet:

name:zigbee2mqtt_sonoff_hydro_one
desc:Sonoff Hydro One Wasserventil mit Durchflussmesser
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_05f4
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to sani_water_tap;{ AttrVal("DEVICE","icon","sani_water_tap") }
attr DEVICE icon ICON
attr DEVICE devStateIcon on:sani_water_tap@blue:off off:sani_water_tap@red:on
attr DEVICE webCmd on:off
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret = json2nameValue($EVENT, undef, 'noUndefined'); $ret->{state} = lc($ret->{state}) if defined $ret->{state}; return $ret; }
attr DEVICE setList \
  on:noArg $\DEVICETOPIC/set {"state":"ON"} \
  off:noArg $\DEVICETOPIC/set {"state":"OFF"} \
  child_lock:lock,unlock $\DEVICETOPIC/set {"child_lock":uc("$EVTPART1")} \
  manual_default_settings_irrigation_mode:duration,capacity $\DEVICETOPIC/set {"manual_default_settings":{"irrigation_mode":"$EVTPART1"}} \
  manual_default_settings_irrigation_duration:slider,0,1,719 $\DEVICETOPIC/set {"manual_default_settings":{"irrigation_duration":$EVTPART1}} \
  manual_default_settings_irrigation_amount:slider,0,1,10000 $\DEVICETOPIC/set {"manual_default_settings":{"irrigation_amount":$EVTPART1}} \
  manual_default_settings_irrigation_amount_unit:liter,US_gallon $\DEVICETOPIC/set {"manual_default_settings":{"irrigation_amount_unit":"$EVTPART1"}} \
  manual_default_settings_fail_safe:slider,0,1,719 $\DEVICETOPIC/set {"manual_default_settings":{"fail_safe":$EVTPART1}} \
  valve_alarm_settings_enable_alarm_water_leak:true,false $\DEVICETOPIC/set {"valve_alarm_settings":{"enable_alarm_water_leak":$EVTPART1}} \
  valve_alarm_settings_alarm_water_leak_duration:slider,1,1,3 $\DEVICETOPIC/set {"valve_alarm_settings":{"alarm_water_leak_duration":$EVTPART1}} \
  valve_alarm_settings_enable_alarm_water_shortage:true,false $\DEVICETOPIC/set {"valve_alarm_settings":{"enable_alarm_water_shortage":$EVTPART1}} \
  valve_alarm_settings_alarm_water_shortage_duration:slider,1,1,10 $\DEVICETOPIC/set {"valve_alarm_settings":{"alarm_water_shortage_duration":$EVTPART1}} \
  valve_alarm_settings_enable_water_shortage_auto_close:true,false $\DEVICETOPIC/set {"valve_alarm_settings":{"enable_water_shortage_auto_close":$EVTPART1}}
attr DEVICE model zigbee2mqtt_sonoff_hydro_one
setreading DEVICE attrTemplateVersion 20260510_21

Aber das scheint gar nicht funktionieren (FHEM zeigt im Log zwar das Auslösen des Befehls in FHEM an, aber weder zeigt mir mosquitto_sub eine zugehörige Nachricht, noch erscheint im zigbee2mqtt Log irgendwas).

Für einen Schubser in die richtige Richtung wäre ich dankbar!
#4
TabletUI / Aw: FTUI version 3
Letzter Beitrag von grossmaggul - 10 Mai 2026, 15:29:02
Hallo.

Beim Versuch FTUI 3 zu aktualisieren, komme ich immer nur bis zu dieser Fehlermeldung:
Downloading https://raw.githubusercontent.com/knowthelist/ftui/with_ha_backend/controls_ftui.txt
UPD www/ftui/components/badge/badge.component.js
UPD www/ftui/components/button/button-nice.component.js
UPD www/ftui/components/button/button.component.css
UPD www/ftui/components/button/button.component.js
UPD www/ftui/components/cell/cell.component.js
UPD www/ftui/components/chart/chart-controls.component.css
UPD www/ftui/components/chart/chart-controls.component.js
UPD www/ftui/components/chart/chart-data.component.js
Got 6101 bytes for www/ftui/components/chart/chart-data.component.js, expected 5269
aborting.
Ich habe die Datei schon gelöscht, die Meldung kommt aber immer wieder, was läuft da schief?

gm
#5
FRITZ!Box / Aw: FritzSmart ab Modul-Versio...
Letzter Beitrag von elektron-bbs - 10 Mai 2026, 14:56:12
Hallo Jörg,
soweit ich das jetzt testen konnte, funktioniert bei mir alles. Danke.
Bei der commandref hast du dich allerdings vertan. Da muss statt einem "</i>" jeweils ein "</li>" hin.
In Zeile 19564 fehlt noch ein abschließendes </b>, sonst ist der Rest der commandref ab dieser Zeile fett. Selbiges dann nochmal in Zeile 20889.
Das wäre dir sicher auch noch aufgefallen, da du die Sachen mit PLC ja erst kürzlich integriert hast.
#6
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Gisbert - 10 Mai 2026, 14:51:13
Hallo Heiko,
hallo 300P,

hier ist ein neuer Log-Auszug mit ctrlDebug aiProcess, gegen 11:30 gestartet; Hinweis ab 11:30 hab ich den Akku geladen.
Mein Ziel ist es ja, dass die Vorhersage für den Verbrauch die Realität (zumindest im groben) widerspigelt - im Moment gibt es noch Diskrepanzen, aber ich habe ja auch gerade erst mit KI-Unterstützung angefangen. Mittelerweile habe ich die DC-PV- Und AC-PV-Leistung auch richtig implementiert - es war learning by doing und heute morgen war noch eine Änderung nötig.

Viele Grüße Gisbert
#7
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 10 Mai 2026, 14:22:55
Hallo Michael,

    Today_Hour02_GridConsumption: 17516200 Wh
    Today_Hour04_GridFeedIn: 11315700 Wh

Das ist natürlich ein Grundübel und macht dir alles kaputt. Damit kann man keine Prognose oder Steuerung aufbauen. Die Werte werden abgeleitet aus:

   setupMeterDev Smartmeter
   gcon=Netzleistung:W
   contotal=MT175_E_in:kWh
   gfeedin=Einspeisung_Netz:W
   feedtotal=MT175_E_out:kWh

In diesen Readings von Device Smartmeter muß enthalten sein:

contotal    
Reading welches die Summe der aus dem Netz bezogenen Energie liefert (ein sich stetig erhöhender Zähler)
   Wird der Zähler zu Beginn des Tages auf '0' zurückgesetzt (Tageszähler), behandelt das Modul diese Situation entsprechend.
   In diesem Fall erfolgt eine Meldung im Log mit verbose 3.

feedtotal    
Reading welches die Summe der in das Netz eingespeisten Energie liefert (ein sich stetig erhöhender Zähler)
   Wird der Zähler zu Beginn des Tages auf '0' zurückgesetzt (Tageszähler), behandelt das Modul diese Situation entsprechend.
   In diesem Fall erfolgt eine Meldung im Log mit verbose 3.


Wenn diese Vorgabe nicht eingehalten wird, kommt nichts gescheites heraus. Jetzt ist die Frage ob diese Readings

- MT175_E_in
- MT175_E_out

inhaltlich tatsächlich die Summen (In bzw. Out) der gesamten Laufzeit des Meters enthalten. Das müßtest du in deinem System verifizieren.

Auf unserer können wir die Datenlieferung verfolgen mit

 ctrlDebug=collectData

Setz dir das mal. Am Besten per at-Device ein- bzw. ausschalten von 01:55 bis 02:05 und 03:55 bis 04:05. Es entstehen viele Daten etwa dieser Art:

2026.05.10 14:12:02.633 1: SolCast DEBUG> collect Inverter 01 data - device: STP_5000, source: pv, delivery: default =>
2026.05.10 14:12:02.634 1: SolCast DEBUG> pvOut: 4028 W, pvIn: 4052 W, AC->DC: 0 W, DC->AC: 0 W, etotal: 71913664 Wh
2026.05.10 14:12:02.635 1: SolCast DEBUG> collect Inverter 02 data - device: MQTT2_cerboGX_c0619ab34e08_solarcharger_Common, source: pv, delivery: bat =>
2026.05.10 14:12:02.635 1: SolCast DEBUG> pvOut: 1594 W, pvIn: 1594 W, AC->DC: 0 W, DC->AC: 0 W, etotal: 6143080 Wh
2026.05.10 14:12:02.636 1: SolCast DEBUG> collect Inverter 03 data - device: MQTT2_cerboGX_c0619ab34e08_vebus, source: bat, delivery: default =>
2026.05.10 14:12:02.636 1: SolCast DEBUG> pvOut: 0 W, pvIn: 0 W, AC->DC: 0 W, DC->AC: 45 W, etotal: 0 Wh
2026.05.10 14:12:02.636 1: SolCast DEBUG> summary data of all Inverters - pv: 5622 W, this hour Generation: 1045 Wh
2026.05.10 14:12:02.637 1: SolCast DEBUG> State of Plant derating: 0, info: The value of device "MQTT2_cerboGX_c0619ab34e08_solarcharger_Common", reading "Regulated" doesn't match the condition "1"
2026.05.10 14:12:02.637 1: SolCast DEBUG> currently saved 'pvrlvd' value: 1
2026.05.10 14:12:02.638 1: SolCast DEBUG> current percentage pvrl/pvapifc deviation of hod 15: 425.8 % -> pvrlvd: 1
2026.05.10 14:12:02.652 1: SolCast DEBUG> collect Energy Meter data - device: SMA_Energymeter =>
2026.05.10 14:12:02.652 1: SolCast DEBUG> gcon: 0 W, gfeedin: 3437.1 W, contotal: 1468.4 Wh, feedtotal: 9990.1 Wh
2026.05.10 14:12:02.653 1: SolCast DEBUG> write to pvHistory - day: 10, hod: 15, GridConsumption (gcons): 0 Wh
2026.05.10 14:12:02.653 1: SolCast DEBUG> collect Battery Readings data: device=MQTT2_cerboGX_c0619ab34e08_battery =>
2026.05.10 14:12:02.654 1: SolCast DEBUG> pin: 1506 W, pout: 0 W, totalin: 7910128.01605553 Wh, totalout: 7895642.85184491 Wh, soc: 89
2026.05.10 14:12:02.708 1: SolCast DEBUG> EnergyConsumption input -> PV: 1035 Wh, PP: 0 Wh, GridIn: 660 Wh, GridCon: 0 Wh, BatIn: 286 Wh, BatOut: 0 Wh
2026.05.10 14:12:02.709 1: SolCast DEBUG> EnergyConsumption result -> 89 Wh
2026.05.10 14:12:02.711 1: SolCast DEBUG> current Power values -> PV2Node: 4028 W, PV2Bat: 1594, PV2Grid: 0 W, Other: 0 W, GridIn: 3437 W, GridCon: 0 W
2026.05.10 14:12:02.711 1: SolCast DEBUG> current Power Battery -> BatIn: 1506 W (Node2Inv2DC: 0 W), BatOut: 0 W (DC2Inv2Node: 45 W)

Relevant sind diese Daten:

2026.05.10 14:12:02.652 1: SolCast DEBUG> collect Energy Meter data - device: SMA_Energymeter =>
2026.05.10 14:12:02.652 1: SolCast DEBUG> gcon: 0 W, gfeedin: 3437.1 W, contotal: 1468.4 Wh, feedtotal: 9990.1 Wh
2026.05.10 14:12:02.653 1: SolCast DEBUG> write to pvHistory - day: 10, hod: 15, GridConsumption (gcons): 0 Wh

Daran sieht man was wann vom Meter geliefert wird.
#8
Solaranlagen / Aw: Einbindung eines Sungrow S...
Letzter Beitrag von toron_go - 10 Mai 2026, 13:21:47
Zitat von: tobmaster1985 am 10 Mai 2026, 12:41:49Welchen "Trick" suchst du?



Viele gute Frage aber wie schon gesagt bei ModBus bin ich scheinbar raus.

Also ich habe die
H13049 H13050 H13051 aber was du mit Revregs und unpack richtig gesetzt meinst  8-/

VG Toron
#9
Solaranlagen / Aw: Einbindung eines Sungrow S...
Letzter Beitrag von toron_go - 10 Mai 2026, 13:08:18
Zwangsentladung in Netzt:

1. Den Schalter (Dummy) anlegen
Zuerst erstellen wir einen virtuellen Schalter, mit dem du die Entladung manuell oder per Zeitplan triggern kannst.

define SH06rt_Zwangsentladung dummy
attr SH06rt_Zwangsentladung alias Batterie Zwangsentladung ins Netz
attr SH06rt_Zwangsentladung devStateIcon on:general_aus:off off:general_an:on
attr SH06rt_Zwangsentladung room PV
attr SH06rt_Zwangsentladung setList on off

2. Das DOIF für die Steuerung
Dieser Code überwacht den Dummy und sendet die entsprechenden Modbus-Befehle an deinen Wechselrichter (SH06rt_Fast).

define di_SH06rt_Entladesteuerung DOIF ([SH06rt_Zwangsentladung] eq "on") 
    (set SH06rt_Fast EMS_mode_selection 2, 
     set SH06rt_Fast Charge_Discharge_command 187, 
     set SH06rt_Fast Charge_Discharge_power 5000) 
DOELSE 
    (set SH06rt_Fast EMS_mode_selection 0, 
     set SH06rt_Fast Charge_Discharge_command 204, 
     set SH06rt_Fast Charge_Discharge_power 0)

 

attr di_SH06rt_Entladesteuerung alias Logik Zwangsentladung
attr di_SH06rt_Entladesteuerung room PV
attr di_SH06rt_Entladesteuerung wait 0:0

Getest und geht.

VG
#10
Solaranlagen / Aw: Einbindung eines Sungrow S...
Letzter Beitrag von tobmaster1985 - 10 Mai 2026, 12:41:49

Welchen "Trick" suchst du?

Das zwangsweise Laden/Entladen funktioniert auch ohne Sonne.

H13049 auf 2 setzen
H13050 auf 170 setzen zum Laden, 187 für Entladen
H13051 Leistung in W


Auf I05213 kann man den S32 Wert für die Batterieleistung auslesen.

Von allen Adressen aus der Sungrow Modbus Protokollbeschreibung muss 1 subtrahiert werden.
Die Adressen oben sind schon passend für die Abfrage mit Modbusattr.
Sind Revregs und unpack richtig gesetzt?