Growatt Wechselrichter / ShineWiFi einbinden

Begonnen von chello93, 16 März 2019, 17:30:07

Vorheriges Thema - Nächstes Thema

uron

Ergebnis
httpbody

{"result":1,"obj":{"pac":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.1,9.5,13.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.8,10.6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.4,10.7,12.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.5,10.5,10.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.4,10.2,10.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.7,6.8,9.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.3,10.2,11.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,11.0,9.6,0.0,0.0,0.0,0.0,10.1,10.2,0.0,0.0,22.1,-187.5,9.6,9.8,37.5,34.3,51.8,54.4,57.1,65.1,70.4,75.4,83.4,86.2,6.8,9.0,5.4,9.2,9.3,9.3,6.8,9.3,9.3,9.3,6.2,9.1,10.0,9.6,10.4,9.5,12.0,9.1,36.8,146.2,120.4,106.6,119.299995,127.6,114.2,130.2,128.1,11.9,8.9,8.15,7.4,8.9,10.6,9.0,8.7,9.25,9.0,9.4,10.6,8.9,9.6,8.2,434.6,417.7,133.4,144.9,145.8,126.9,104.9,90.3,75.9,116.9,8.8,9.0,9.0,12.5,9.1,12.7,8.9,12.6,9.0,11.2,8.7,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}}

Scheint tatsächlich keine Daten mehr zu liefern (null), aber warum? Im Dashboard sind es immerhin aktuell noch 10-12W!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

minierm

Das sagen die Rohdaten allerdings auch. Die Rohdaten enthalten Platzhalter für alle Werte des Tages. Keine Daten, dann "null". Nach 11.1, ein paar null, und 11.0 kommt 9.6. Dann ein paar null und dann wieder Werte. Wahrscheinlich kommt die Regex mit den null dazwischen nicht klar, bin aber auch kein regex Experte...

minierm

Hm, hab grad mit regex101.com getestet, liefert korrekt als letzten Wert 8,7.

uron

Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

uron

#79
Hier mal ein anderer Ansatz zur Fehlersuche:
Das Reading LAST_ERROR wirft read from https://server.growatt.com:443 timed out aus.
Was könnte der Grund für timed out sein?

  • Keine Anfrage mehr von FHEM?
  • zu viele Anfragen von FHEM - Server überlastet?
  • andere Gründe?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

uron

#80
PowerLast sollte doch eigentlich den aktuellen Wert liefern so wie PowerCurrent oder bin ich auf dem Holzweg?
Ich sehe beim Reading PowerAll eine kontinuierliche genaue "Fortschreibung" der Werte, die ich auch im Dashboard in der Grafik sehe - war ja auch zu erwarten. Warum können diese Werte nicht mit PowerLast zum Speichern in der Logdatei "abgegriffen" werden?
Merkwürdig ist, dass seit ein paar Tagen nur noch Werte <=12 gelogged werden?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

minierm

#81
"PowerLast" enthält immer den letzten nicht-null/"0" Wert aus quasi "PowerAll" (nur ohne Leerzeichen). Dieser Wert wird bei Änderung als UserReading in "PowerCurrent" geschrieben.
Wenn sich "PowerAll" längere Zeit nicht ändert (also die Platzhalter "null" nicht mit Wert gefüllt werden) wird per Watchdog ein "-" in PowerCurrent geschrieben (Da "PowerLast" ja auch mehrmals den gleichen Wert haben kann).
Falls man kein "-" möchte kann man für den Chart natürlich PowerLast nehmen oder stattdessen ein "0" in PowerCurrent schreiben.
Ein TimeOut kann immer wieder mal vorkommen, da muss man halt auf den Reading-Zeitstempel schauen.

Oh, wo ich grad das mit dem Leerzeichen geschrieben habe: Da ist wohl ein Fehler in der RegEx, da habe ich zum Schluß noch auf Leerzeichen getestet, bitte korrigieren:

attr Strom_BKW_Aktuell reading01RecombineExpr my $val = join ",", @matchlist;; $val =~ /.*,([1-9]\d*(?:\.\d*)*)(,0)*?/;; $1


minierm

Korrektur der Korrektur (Leerzeichen):

attr Strom_BKW_Aktuell reading01RecombineExpr my $val = join ",", @matchlist;; $val =~ /.*,([1-9]\d*(?:\.\d*)*)(,0)*?/;; $1


Zitat von: minierm am 15 Dezember 2022, 21:31:35
Kleine Korrektur für Strom_BKW_Aktuell getInvDayChart, da manchmal das Array mit Nullen gefüllt wird:
attr Strom_BKW_Aktuell event-on-change-reading PowerAll,PowerCurrent,PowerLast
attr Strom_BKW_Aktuell reading01JSON obj.pac
attr Strom_BKW_Aktuell reading01Name PowerLast
attr Strom_BKW_Aktuell reading01RecombineExpr my $val = join ",", @matchlist;; $val =~ /.*,([1-9]\d*(?:\.\d*)*)(, 0)*?/;; $1

uron

#83
Irgendwie komme ich überhaupt nicht weiter:
Gestern (25.12.) wurden in meiner Log-Datei lediglich 2 Werte eingetragen:
2022-12-25_00:06:24 Strom_Garage_Aktuell PowerCurrent: 0
2022-12-25_09:45:09 Strom_Garage_Aktuell PowerCurrent: 9

Mein Dashboard hat da viel mehr zu bieten (s. Anlage).
Ich hatte zuvor einmal am Interval gedreht und von 300 auf 600 (Sekunden) gestellt.

Merkwürdigerweise enden die Einträge in der Loggingdatei täglich recht "frühzeitig":
22.12.  07:54:59
23.12.  08:04:39
24.12.  07:21:43
25.12.  09:45:09
26.12.  07:51:38

Hat irgendjemand noch eine Idee, wo ich ansetzen könnte?
Die Änderung der Änderung habe ich eingearbeitet.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

minierm

Mein Logging funktioniert. Vielleicht mal ein eigenes Log erstellen, vlt wird ja zu viel geloggt? Mit dem Eventmonitor mal schauen, ob die Änderungen auftauchen, - falls sich überhaupt etwas ändert.

uron

#85
Ich habe gestern Abend (26.12.) eine neue Log-Datei (TestLog) erstellt und nur 2 Events geloggt, u.a. dabei Strom_Garage_Aktuell PowerCurrent.
Bis jetzt, 27.12., 13:10 Uhr wurden dort lediglich 2 Daten eingetragen:
2022-12-27_00:04:43 Strom_Garage_Aktuell PowerCurrent: 4
2022-12-27_00:49:43 Strom_Garage_Aktuell PowerCurrent: 7.8

Im EventMonitor sehe ich lediglich die Events
2022-12-27 13:09:45.087 HTTPMOD Strom_Garage_Aktuell PowerAll: 0, 0, 6.8, 0, 0, 10, 0, 13.7, 8.9, 9, 51.2, 10.1, 61.2, 64.4, 62.9, 66, 69.4, 76.4, 72.9, 76.5, 9.45, 9.2, 0, 8.5, 8.1, 8.1, 9.3, 8, 8.5, 8.1, 7.3, 8.6, 10.2, 0, 9.3, 10.3, 12.1, 303.6, 273.7, 275.8, 266.6, 228.4, 260.1, 305.6, 0, 310.7, 246.9, 291.8, 337.1, 412.5, 323.7, 308.9, 230.6, 10.8, 11, 0, 12, 11.3, 10.4, 10.5, 9.7, 9.8, 10.9, 1673.4, 0, 0, 0, 0, 0, 0, 10.5, 9.1, 9.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.6, 9.7, 9.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.4, 9.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.1, 6.8, 0, 9.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.4, 10, 9.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.7, 9.9, 12.7, 0, 0, 0, 0, 0, 7.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Dort tauchen also die "Produktionsdaten" alle auf, nur das Reading
Strom_Garage_Aktuell PowerCurrent: erscheint nicht in der LogDatei.
Hier das List, habe ich da etwas übersehen?
Internals:
   DEF        ./log/TestLog-%Y-%m.log FBDECT_FritzBox_08761_xxxxxxx:energy-Summe.*|Strom_Garage_Aktuell:PowerCurrent:.*
   FD         31
   FUUID      63a9f3cb-f33f-aab4-8089-642869ad9e6d51bb
   NAME       TestLog
   NOTIFYDEV  Strom_Garage_Aktuell,FBDECT_FritzBox_08761_xxxxxxx
   NR         1418
   NTFY_ORDER 50-TestLog
   REGEXP     FBDECT_FritzBox_08761_xxxxxxx:energy-Summe.*|Strom_Garage_Aktuell:PowerCurrent:.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/TestLog-2022-12.log
   logfile    ./log/TestLog-%Y-%m.log
   READINGS:
     2022-12-27 00:49:43   linesInTheFile  2
Attributes:
   alias      TestLog
   archivedir ./Log-Archiv/
   icon       time_note
   logtype    text
   room       PV-Anlage


Update am 28.12.:
heute endete das Loggen von "Strom_Garage_Aktuell:PowerCurrent:.*" um 8:19 Uhr, immerhin wurden heute 22 Datensätze aufgezeichnet!
Ich weiß keinen Rat mehr!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

uron

#86
So, ich habe jetzt eine Lösung für die aktuelle Leistung der PV-Anlage gefunden: Auf dem Umweg über ioBroker "importiere" ich mir nun die Daten nach FHEM und die kommen nun kontinuierlich.
Leider liefert mir ioBroker auch keine Daten über den aktuellen Speicherstand - da komme ich immer noch nicht weiter.
Irgendwie müssen diese Daten ja zum China-Server kommen - ich denke über eine Installation von Grott nach.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

uron

Hab wieder mal ein Problem: Seit dem 4.1.2023 habe ich alle 5 Minuten im Logfile folgende Fehlermeldung:
Growatt_tag: no parsed JSON structure available
Gibt es eine Möglichkeit, diese abzustellen?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker

Tobias

Hi,
Ich habe meine Wechselrichter komplett von der Chinacloud getrennt bzw den WiFi Stick nicht angesteckt. Erst Recht weil mein WiFiStick ständig ein offenes WLAN anbietet. Ich ziehe meine Daten über den Modbus-RTU Port direkt aus dem Wechselrichter und schiebe die Daten über MQTT ins FHEM. ISt dadurch offen und für jede andere SmartHome Lösung benutzbar. Ist auch mit OpenWB kompatibel.
Funktioniert für Solax, Growatt und auch andere

https://github.com/tobiasfaust/SolaxModbusGateway

Eventuell ja ein Grund für euch von der Cloud weg zu wechseln
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

uron

Hätte ich einen SPH-Wechselrichter, würde ich es sicher auch so machen!

Leider besteht meiner Problem mit der Fehlermeldung
Growatt_tag: no parsed JSON structure available
immer noch!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi ioBroker