« Photovoltaik / PV  |

PV-Überwachung ohne Cloud - Seite 3

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen
 1  2 ... 3 
  •  precision
  •   Bronze-Award
2.2. - 1.3.2026
49 Antworten | 13 Autoren 49
49
Eigentlich ist es mir ein Dorn im Auge, dass die PV-Daten in eine Cloud gehen:

https://blog.codinghorror.com/content/images/2025/05/there-is-no-cloud--1-.pngBildquelle: https://blog.codinghorror.com/content/images/2025/05/there-is-no-cloud--1-.png
Es liegt sowieso bei jeden von uns viel zu viel Zeug auf irgendwelchen Servern vom Onlinebanking über vertrauliche Mails, Kalendereinträge bis zu Röntgenbilder,...

Und der Stromverbrauch ist nochmal eine ganz andere Nummer.
Man erkennt damit Tagesroutinen der Bewohner und die Information sollte nicht in falsche Hände gelangen.

Deswegen finde ich diesen Artikel sehr interessant.
https://www.inside-digital.de/news/pv-ueberwachung-ohne-hersteller-cloud-neue-plattform-sucht-tester

Ich hab zwar keine Bus-System zuhause, aber wenn es möglich wäre mit geringem Equipment und einem Heimnetzwerk die Daten abrufbar zu machen, wäre das eine echt tolle Sache.

Mich wundert ehrlich gesagt, dass es soetwas nicht schon lange gibt. 

Was sagt ihr dazu?

  •  brtl
27.2.2026  (#41)
Da kommen mit mbpoll ja auch viele Fehler. Funktioniert das Python-Script nie, egal wie oft du es wiederholst? Ich kenne mich mit modbus (noch) nicht aus, aber die Verbindung scheint hier nicht zuverlässig zu funktionieren. Versuche mal retries=5.

1
  •  thohem
27.2.2026  (#42)
Blockiert was anderes den modbus? Der arbeitet sequenziell, wenn vorher was abschmiert und fehler wirft, geht der Rest eventuell auch nicht mehr. War bei meiner Victron Integration der Fall 

1
  •  Benji
  •   Gold-Award
27.2.2026  (#43)
worüber ich oft gestolpert bin: Register-Adressen sind mal 0-basiert, mal 1-basiert.
Probier mal in python 32063 statt 32064

ansonsten mal beide Varianten mit tcpdump vergleichen

1
  •  precision
  •   Bronze-Award
27.2.2026  (#44)

zitat..
brtl schrieb:

Da kommen mit mbpoll ja auch viele Fehler. Funktioniert das Python-Script nie, egal wie oft du es wiederholst? Ich kenne mich mit modbus (noch) nicht aus, aber die Verbindung scheint hier nicht zuverlässig zu funktionieren. Versuche mal retries=5.

Chatgpt meint dazu:
"Huawei Smart Dongle ist leider bekannt für:
 
- gelegentliche Timeout-Frames
- inkonsistente Antworten bei schneller Pollrate
- Probleme mit 1s Default-Timeout"

... und schlägt deshalb vor den Timeout (timeout=5 ) zu erhöhen.
Aber das modbus-Skript funktioniert leider noch immer nicht.
 

zitat..
thohem schrieb:

Blockiert was anderes den modbus? Der arbeitet sequenziell, wenn vorher was abschmiert und fehler wirft, geht der Rest eventuell auch nicht mehr. War bei meiner Victron Integration der Fall

Ich wüsste nicht was blockieren sollte.
Die Verbindung ist so:
Dongle hängt am Wechselrichter ==>Netzwerkkabel ==> direkt in Router
Thinclient hängt auch per Netzwerkkabel am Router

Beim Router sollte je im internen Netz nichts blockiert sein, hoffe ich.
Beim Fernzugriff hat er zuerst Mätzchen gemacht , weil bei den Huawei-LTE-Routern scheinbar Port Forwarding unterbunden wird. Aber via Tailscale komme ich rein. 
Ich hoffe nicht, dass das damit zu tun hat.

Ich freu mich schon so wenn endlich das Glasfasernetz bei mir ins Haus eingezogen wird. 
Leider ist die Ortschaft gross und es wird schon seit 2 Jahren gebuddelt, aber meine Hood war noch nicht an der Reihe. Der LTE-Router geht mir echt schon auf die Nerven. 

Benji schrieb:

worüber ich oft gestolpert bin: Register-Adressen sind mal 0-basiert, mal 1-basiert.
Probier mal in python 32063 statt 32064

ansonsten mal beide Varianten mit tcpdump vergleichen"

Das werde ich wenn ich zuhause bin probieren.
 
Ich habe gestern übrigens noch gelesen, dass pymodbus 3 scheinbar mit Probleme haben kann in Verbindung mit Huawei-WR und man stattdessen auf "pymodbus==2.5.3" downgraden soll. 
Allerdings hab ich das gestern abend nicht mehr zusammengebracht.

Übrigens: vielen Dank für eure Unterstützung @ALL 😀👍


1
  •  brtl
27.2.2026  (#45)
Erhöh mal bei ModbusTcpClient timeout (10 oder 20) und setze retries (5 oder mehr) und schau, ob es dann auch immer fehlschlägt, oder auch hier ab und zu funktioniert.

Wegen Version, frag ChatGPT wie du ein virtuelles Environment verwendest und dort die Dependencies (requirements) verwaltest, da kannst du dann die Versionen pinnen. Das solltest sowieso machen: jedes Python Script/Projekt = eigenes virtual Environment. Und Versionen pinnen macht auch Sinn, weil sonst hast du immer "latest" was bei größeren Updates mit breaking changes schnell zu Problemen führt.

1
  •  gerhardg
27.2.2026  (#46)

zitat..
thohem schrieb:

Blockiert was anderes den modbus? Der arbeitet sequenziell, wenn vorher was abschmiert und fehler wirft, geht der Rest eventuell auch nicht mehr. War bei meiner Victron Integration der Fall

Lokale Firewall am Client könnte noch reinspucken. Ist auch immer wieder ein Stolperstein.

Aber dann würde konsistent nichts am Client ankommen. Und zudem gehst Du ja vom Client raus und fetched die Daten. Daher sollte das eigentlich kein Thema sein.

1
  •  lewurm
  •   Bronze-Award
27.2.2026  (#47)

zitat..
Benji schrieb:

worüber ich oft gestolpert bin: Register-Adressen sind mal 0-basiert, mal 1-basiert.
Probier mal in python 32063 statt 32064

ansonsten mal beide Varianten mit tcpdump vergleichen

das ist auch meine Erfahrung (mpboll 1-basierend, rest der Welt 0-basierend?! 😅)
 
Nachdem es ja mit mbpoll geht würde ich ein Netzwerkproblem eher mal ausschliessen.  Ausserdem würde ich mal Wireshark anwerfen und vergleichen was mbpoll vs. der python code schickt.
 
Ich kann mich leider nicht mehr genau erinnern, aber ich hatte auch vor ein paar Monaten mit dieser Python Library ein Problem als ich auf master geupdated habe, es war was rund um Endianess.  Testweise kannst du mal Addresse 16509 probieren (32064 -> 0x7d40 was dann geswapped 0x407d -> 16509 ergibt.  Oder für 32063 -> 0x7d3f geswapped 0x3f7d -> 16253 könntest du auch probieren).


1
  •  precision
  •   Bronze-Award
1.3.2026 8:38  (#48)
Ich hab gerade Sonne auf der PV und habe ausprobiert mit 32064...

mbpoll -m tcp -p 502 -a 1 -t 4:int -r 32064 -c 2 192.168.8.101
mbpoll 1.0-0 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type 'mbpoll -w' for details.

Protocol configuration: Modbus TCP
Slave configuration...: address = [1]
                       start reference = 32064, count = 2
Communication.........: 192.168.8.101, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 32-bit integer (little endian), output (holding) register table

-- Polling slave 1... Ctrl-C to stop)
Read output (holding) register failed: Connection timed out
-- Polling slave 1... Ctrl-C to stop)
[32064]:        0
[32066]:        260506109
-- Polling slave 1... Ctrl-C to stop)
[32064]:        0
[32066]:        261030399
-- Polling slave 1... Ctrl-C to stop)
[32064]:        0
[32066]:        261030399

...und hier mit 32063...
mbpoll -m tcp -p 502 -a 1 -t 4:int -r 32063 -c 2 192.168.8.101
mbpoll 1.0-0 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type 'mbpoll -w' for details.

Protocol configuration: Modbus TCP
Slave configuration...: address = [1]
                       start reference = 32063, count = 2
Communication.........: 192.168.8.101, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 32-bit integer (little endian), output (holding) register table

-- Polling slave 1... Ctrl-C to stop)
Read output (holding) register failed: Connection timed out
-- Polling slave 1... Ctrl-C to stop)
[32063]:        0
[32065]:        34013184
-- Polling slave 1... Ctrl-C to stop)
[32063]:        0
[32065]:        34144256
-- Polling slave 1... Ctrl-C to stop)
[32063]:        0
[32065]:        34144256


Beim einen kommt etwas mit 260mio, beim anderen 34mio. Ist das ok, dass das ganz unterschiedliche Werte sind? 

Jetzt mach ich mich ans Werk und probier das Python mit alter Version in den Griff zu bekommen. 

1
  •  brtl
1.3.2026 9:07  (#49)
Naja, du fragst auch zwei unterschiedliche Register ab. Welchen WR WR [Wechselrichter] genau hast du eigentlich?

Und vergiss nicht die Retries... ;) 

1
 1  2 ... 3 


Beitrag schreiben / Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Förderansuchen