76_SMAInverter.pm - Abfrage von SMA Wechselrichter

Begonnen von sct14675, 28 Juli 2016, 11:01:16

Vorheriges Thema - Nächstes Thema

Funkboje

Eine Alternative ist, die Daten mit der Solaranzeige auszulesen und sie per MQTT an FHEM zu senden.

Projekt:  Solaranzeige.de Open Source Software für einen Raspberry Pi.

-------------------------------------
Ulrich

Projektinhaber der Solaranzeige (solaranzeige.de)

suchmich1983

Hi,

hat schon mal jemand SMAInverter mit einem SMA Tripower 8.0 getestet?
Ich bekomme via diesem Modul keinen Zugang. Auch scheint der Port 9522 bei mir nicht offen zu sein (Connection refused)

Danke und Gruß
Christian

Inverter -> Start BlockingCall getstatus_DoParse
2020.04.02 21:38:25 4: Inverter - current time: 02.04.2020 21:38:25
2020.04.02 21:38:25 4: Inverter - operation time begin: 02.04.2020 06:25:03
2020.04.02 21:38:25 4: Inverter - operation time end: 02.04.2020 20:33:21
2020.04.02 21:38:25 4: Inverter - Send login to 192.168.178.23 on Port 9522 with password XXXX
2020.04.02 21:38:25 5: Inverter - Send: 534D4100000402A000000001003A001060650EA0FFFFFFFFFFFF0001E90023BB590700010000000001800C04FDFF0700000084030000313F865E00000000C0C1BFBF888888888888888800000000

DS_Starter

Verrat uns bitte mal noch wo du "Connection refused" siehst.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

suchmich1983

#798
Ja sorry..

Sehe ich wenn ich vom fhem Server aus nen telnet auf Port 9522 Richtung Wechselrichter mache

So sieht der state im device aus

state. Timeout: process terminated. 2020-04-02 23:11:22

Noch mal aus dem log

2020.04.02 23:14:55 3: SMAInverter MySolarInverter - WARNING - old process 20326 will be killed now to start a new BlockingCall
2020.04.02 23:14:55 1: SMAInverter MySolarInverter -> BlockingCall getstatus_DoParse Timeout: process terminated
2020.04.02 23:14:55 3: MySolarInverter - Send request 00020058001E8200FF208200 to 192.168.178.23 on port 9522
2020.04.02 23:14:56 3: SMAInverter MySolarInverter - WARNING - old process 20339 will be killed now to start a new BlockingCall
2020.04.02 23:14:56 1: SMAInverter MySolarInverter -> BlockingCall getstatus_DoParse Timeout: process terminated

DS_Starter

Guten Morgen,

Telnet läuft auf den Geräten nicht, das wird nicht funktionieren.

Hast du bei dir die Attribute target-serial und target-susyid gesetzt ?
Wenn nicht bitte tun.  target-susyid ist 181 und  target-serial die Seriennummer der Kommunikationsbaugruppe. Du findest sie im SMA Portal unter KOnfiguration -> Geräteübersicht -> Parameter deines WR

Ein list deines FHEM-Devices kannst du auch mal posten.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Volker Kettenbach

Guten Morgen,

Zitat von: DS_Starter am 03 April 2020, 09:06:37
Telnet läuft auf den Geräten nicht, das wird nicht funktionieren.

jein - es liegt nicht daran, dass kein telnet läut, sondern daran, dass der Port 9522 per UDP (nicht per TCP wie telnet) funktioniert.
Siehe hier im Code:

PeerHost => $host, PeerPort => 9522, Proto => 'udp'

Wenn der Service auf dem Wechselrichter per tcp funktionierte, dann könnte man mit dem Kommando "telnet <pvwr-ip> 9522"> (Linux/MacOS - windows vermutlich so ähnlich) auch darauf connecten.

Wenn man prüfen will, ob ein UDP-Port offen ist, kann man z.B. "nmap" verwenden:

volker@volkers-mbp ~/GitHub/FHEM-SMA-Speedwire > sudo nmap -sU -p 9522 pv-wr.bh
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-03 09:27 CEST
Nmap scan report for pv-wr.bh (192.168.11.212)
Host is up (0.021s latency).

PORT     STATE         SERVICE
9522/udp open|filtered unknown


Hinsichtlich des "connection refused" bei suchmich, wäre es gut mal zu wissen:

  • ob die WR auf ping antwortet
  • was die genaue Fehlermeldung von perl ist - das ggf. bitte mal mit dem u.g. Skript überprüfen

https://github.com/kettenbach-it/FHEM-SMA-Speedwire/blob/master/smastp_test.pl

DS_Starter

Zitatsondern daran, dass der Port 9522 per UDP (nicht per TCP wie telnet) funktioniert.
das ist natürlich richtig, udp hatte ich ganz verdrängt  :o

Aber ich vermute es liegt an der nicht gesetzten target-serial. Das hatten wir schon, denke ich. Bei den älteren WR (meiner) funktioniert die Ermittlung automatisch, bei neueren musste sie gesetzt werden.
Na mal schauen ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

suchmich1983

Stimmt, UDP hatte ich auch unterschlagen.

Nach Hinzufügen und susyid und seriennummer geht es noch immer nicht! Der WR antwortet auf "ICMP/Ping"!

Anbei der Output von dem perl Testscript:
home@HOME:/tmp$ perl test.pl 192.168.178.23 XXXX
Sending to inverter 192.168.178.23:9522
send: Login, 78 bytes sent - Received 66 bytes: (534d4100000402a000000001002e001060650be07800c8e8033800019801af4e34b300010000000004800d04fdff07000000840300004c20cb510000000000000000)
Got code: 0d04fdff send: Query total today, 58 bytes sent - Received 74 bytes: (534d4100000402a0000000010036001060650de07800c8e8033800a09801af4e34b3000000000000f1b1010200540000000000000000010126004803875ef8d902000000000000000000)
substr outside of string at test.pl line 107.
Use of uninitialized value in unpack at test.pl line 107.
Got code: 01020054 send: Query spot AC power, 58 bytes sent - Received 86 bytes: (534d4100000402a00000000100420010606510e07800c8e8033800a09801af4e34b300000000000081f0010200510000000000000000013f26404803875e5f0600005f0600005f0600005f0600000100000000000000)
Got code: 01020051 send: Query spot DC power, 58 bytes sent - Received 114 bytes: (534d4100000402a000000001005e0010606517e07800c8e8033800a09801af4e34b300000000000081f0010280530000000001000000011e25404703875e8e0600008e0600008e0600008e06000001000000021e25404703875e000000000000000000000000000000000100000000000000)
recv: Bad file descriptor at test.pl line 86.


Anbei der Output von nmap:
home@HOME:~$ sudo nmap -sU -p 9522 192.168.178.23

Starting Nmap 6.40 ( http://nmap.org ) at 2020-04-03 11:28 CEST
Nmap scan report for 192.168.178.23
Host is up (0.00033s latency).
PORT     STATE         SERVICE
9522/udp open|filtered unknown
MAC Address: 00:40:AD:AC:37:8A (SMA Regelsysteme Gmbh)

Nmap done: 1 IP address (1 host up) scanned in 0.45 seconds


List des Devices
Internals:
   CFGFN     
   DEF        8977 192.168.178.23
   FUUID      5e8654bd-f33f-c18f-6d10-7c34539fdb8ff7b9
   HOST       192.168.178.23
   INTERVAL   60
   LASTUPDATE 02.04.2020 / 23:10:26
   NAME       MySolarInverter
   NR         3893
   PASS       XXXX
   STATE      Timeout: process terminated
   TYPE       SMAInverter
   VERSION    2.10.0
   HELPER:
     DEFAULT_TARGET_SERIAL 4294967295
     DEFAULT_TARGET_SUSYID 65535
     FAULTEDCYCLES 34
     INTERVAL   60
     MAXBYTES   300
     MYSERIALNUMBER 123321123
     MYSUSYID   233
     PKT_ID     32769
     RUNNING_PID:
       abortFn    getstatus_ParseAborted
       arg        MySolarInverter
       bc_pid     5106
       finishFn   getstatus_ParseDone
       fn         getstatus_DoParse
       loglevel   4
       pid        1588
       telnet     telnetPort_127.0.0.1_50966
       timeout    60
       abortArg:
   READINGS:
     2020-04-03 11:24:45   state           Timeout: process terminated
Attributes:
   detail-level 2
   disable    0
   room       Energie
   suppressSleep 1
   target-serial 3006549679
   target-susyid 181

DS_Starter

Ein verbose 5 vom WR-device wäre jetzt evtl. hilfreich und stimmt das Passwort ? Bei mir ist das Alagenpasswort gesetzt mit dem ich mich auch im SMA Portal anmelde.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

suchmich1983

Verbose 5 hatte ich schon mal gepostet. Da steht nicht wirklich viel drin.
Das Passwort ist das, mit dem ich mich auf dem WebIf vom Wechselrichter einlogge als "Benutzer". Habs aber auch mal mit dem vom Portalpasswort versucht.... geht auch nicht. :(

2020.04.03 12:02:43 4: MySolarInverter - ###############################################################
2020.04.03 12:02:43 4: MySolarInverter - ##########  Begin of new SMAInverter get data cycle  ##########
2020.04.03 12:02:43 4: MySolarInverter - ###############################################################
2020.04.03 12:02:43 4: MySolarInverter - timeout cycles since module start: 4
2020.04.03 12:02:43 4: MySolarInverter -> Start BlockingCall getstatus_DoParse
2020.04.03 12:02:43 4: MySolarInverter - current time: 03.04.2020 12:02:43
2020.04.03 12:02:43 4: MySolarInverter - operation time begin: 03.04.2020 06:22:49
2020.04.03 12:02:43 4: MySolarInverter - operation time end: 03.04.2020 20:35:01
2020.04.03 12:02:43 4: MySolarInverter - Send login to 192.168.178.23 on Port 9522 with password XXXX
2020.04.03 12:02:43 5: MySolarInverter - Send: 534D4100000402A000000001003A001060650EA0B500AF4E34B30001E90023BB590700010000000001800C04FDFF0700000084030000C309875E00000000C0C1BFBF888888888888888800000000
2020.04.03 12:02:48 3: A_FTUILongPollKeepaliveWorkaround: HASH(0xd2d1fc4)
2020.04.03 12:03:15 3: SMAInverter MySolarInverter - WARNING - old process 3058 will be killed now to start a new BlockingCall
2020.04.03 12:03:15 1: SMAInverter MySolarInverter -> BlockingCall getstatus_DoParse Timeout: process terminated
2020.04.03 12:03:15 4: MySolarInverter - ###############################################################
2020.04.03 12:03:15 4: MySolarInverter - ##########  Begin of new SMAInverter get data cycle  ##########
2020.04.03 12:03:15 4: MySolarInverter - ###############################################################
2020.04.03 12:03:15 4: MySolarInverter - timeout cycles since module start: 5
2020.04.03 12:03:15 4: MySolarInverter -> Start BlockingCall getstatus_DoParse
2020.04.03 12:03:15 4: MySolarInverter - current time: 03.04.2020 12:03:15
2020.04.03 12:03:15 4: MySolarInverter - operation time begin: 03.04.2020 06:22:49
2020.04.03 12:03:15 4: MySolarInverter - operation time end: 03.04.2020 20:35:01
2020.04.03 12:03:15 4: MySolarInverter - Send login to 192.168.178.23 on Port 9522 with password XXXX
2020.04.03 12:03:15 5: MySolarInverter - Send: 534D4100000402A000000001003A001060650EA0B500AF4E34B30001E90023BB590700010000000001800C04FDFF0700000084030000E309875E00000000C0C1BFBF888888888888888800000000

DS_Starter

Das verbose 5 zeigt deswegen nichts weiter weil:

1. der WR nicht antwortet   oder
2. der WR sich nicht angesprochen fühlt  oder
3. die Antwort nicht durchkommt/empfangen wird (sollte aber funktionieren , da nmap geht)

Was mir noch einfällt ...

- ist Speedwire aktiviert ?  (glaube das geht nur mit Kabel, nicht WLAN)
- eine andere target-serial verwenden. Es gibt verscheidene, für CPU, Kommunikationseinheit, ...

Ansonsten wäre es noch hilfreich wenn User sich melden, die einen STP 6.0 schon betrieben. Das funktioniert lt. Statistics
https://fhem.de/stats/statistics.html bei mindestens einem.  :)
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Wzut

Zitat von: suchmich1983 am 02 April 2020, 22:36:54
hat schon mal jemand SMAInverter mit einem SMA Tripower 8.0 getestet?
ja (8000 TL) ich am Anfang inzwischen frage ich alles via Modbus ab.
Webinterface hat meine nicht (2018) und zum abfragen hatte ich das Erichter Passwort. Hast du auch einen HM 2.0  am Start ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

suchmich1983

Zitat von: Wzut am 03 April 2020, 13:44:43
Hast du auch einen HM 2.0  am Start ?
Keine Ahnung, wo sehe ich das?

Ja Speedwire ist aktiviert. Alle anderen Module funktionieren auch wie SBFSpot oder SMAEM.

Ich find auch SMAPortal gar nicht mal schlecht, aber das läuft nicht sehr gut. Ständig können die Daten nicht abgerufen werden oder so wie jetzt ist mein Login beim sunnyportal gesperrt. Obwohl das Intervall auf mehreren Minuten steht.

DS_Starter

ZitatIch find auch SMAPortal gar nicht mal schlecht, aber das läuft nicht sehr gut. Ständig können die Daten nicht abgerufen werden oder so wie jetzt ist mein Login beim sunnyportal gesperrt. Obwohl das Intervall auf mehreren Minuten steht.
Das haben wir seit ca. drei Tagen. Vorher gabs das nicht. Ich vermute eine Störung das Attr getDataRetries kannst du hochsetzen. Damit wird es etwas besser.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

suchmich1983

Ich kann mich ja nicht mal mehr einloggen. Account gesperrt.
Hatte ich heute schon mal und musste dann das Passwort zurück setzen.

Naja egal. Ich Versuch mir was zu bauen mit sbfspot und smaeam