Halmand / dbus-shelly-1pm-and-pm1-Plus-pvinverter-multi-instance

Integrate Shelly 1PM into Victron Energies Venus OS as a pv inverter
20 stars 8 forks source link

Shelly is frozen #2

Open 21-Jailbraik-21 opened 1 year ago

21-Jailbraik-21 commented 1 year ago

Hello, thanks for the script I have 2 Shelly 1Plus PM running in Venus OS. I've only been running the script for 2 days. But today a Shelly is frozen in the VRM - the display shows 58 watts. But it's night :)

Halmand commented 1 year ago

IP is the same ???

amcsSH commented 1 year ago

Dear @21-Jailbraik-21 , a possible issue with Shelly could be

I noticed that the shellyPlus1PM values froze after an unstable WiFi connection. A resuming seems to fail as well after a shelly firmware update. In both cases, a reboot of the VenusOS device solves the issue.

Best, Andreas

21-Jailbraik-21 commented 1 year ago

OK thanks It just happened again. Have fixed IP addresses assigned. Updates are current. Will watch again. Could you try a daily restart?

Halmand commented 1 year ago

my shelly runs 2 months no problem.
Wifi 2,4Ghz or 5Ghz many have problems with 5ghz

21-Jailbraik-21 commented 1 year ago

All three run in the 2.4GHz range. L2 froze again today. I have 3 pieces: L1 / L2 / L3

Halmand commented 1 year ago

make logging to debug and look the log

21-Jailbraik-21 commented 1 year ago

`2023-03-02 05:04:54,292 root CRITICAL Error at main Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 159, in _new_conn conn = connection.create_connection( File "/usr/lib/python3.8/site-packages/urllib3/util/connection.py", line 84, in create_connection raise err File "/usr/lib/python3.8/site-packages/urllib3/util/connection.py", line 74, in create_connection sock.connect(sa) OSError: [Errno 113] No route to host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 665, in urlopen httplib_response = self._make_request( File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 387, in _make_request conn.request(method, url, **httplib_request_kw) File "/usr/lib/python3.8/http/client.py", line 1256, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1302, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output self.send(msg) File "/usr/lib/python3.8/http/client.py", line 951, in send self.connect() File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 187, in connect conn = self._new_conn() File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 171, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0xb5aab970>: Failed to establish a new connection: [Errno 113] No route to host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/requests/adapters.py", line 439, in send resp = conn.urlopen( File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 719, in urlopen retries = retries.increment( File "/usr/lib/python3.8/site-packages/urllib3/util/retry.py", line 436, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.178.146', port=80): Max retries exceeded with url: /rpc/Shelly.GetStatus (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5aab970>: Failed to establish a new connection: [Errno 113] No route to host'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 264, in main pvac_output = DbusShelly1pmService( File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 53, in init self._dbusservice.add_path('/Serial', self._getShellySerial()) File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 75, in _getShellySerial meter_data = self._getShellyData() File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 129, in _getShellyData meter_r = requests.get(url = URL) File "/usr/lib/python3.8/site-packages/requests/api.py", line 76, in get return request('get', url, params=params, kwargs) File "/usr/lib/python3.8/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, kwargs) File "/usr/lib/python3.8/site-packages/requests/sessions.py", line 530, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3.8/site-packages/requests/sessions.py", line 643, in send r = adapter.send(request, kwargs) File "/usr/lib/python3.8/site-packages/requests/adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.178.146', port=80): Max retries exceeded with url: /rpc/Shelly.GetStatus (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xb5aab970>: Failed to establish a new connection: [Errno 113] No route to host')) 2023-03-02 05:04:56,235 root CRITICAL Error at main Traceback (most recent call last): File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 264, in main pvac_output = DbusShelly1pmService( File "/data/dbus-shelly-1pm-pvinverter02/dbus-shelly-1pm-pvinverter.py", line 31, in init self.dbusservice = VeDbusService("{}.http{:02d}".format(servicename, deviceinstance)) File "/opt/victronenergy/dbus-systemcalc-py/ext/velib_python/vedbus.py", line 78, in init self._dbusname = dbus.service.BusName(servicename, self._dbusconn, do_not_queue=True) File "/usr/lib/python3.8/site-packages/dbus/service.py", line 144, in new raise NameExistsException(name) dbus.exceptions.NameExistsException: Bus name already exists: com.victronenergy.pvinverter.http_44 2023-03-02 05:05:00,532 root CRITICAL Error at main Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 159, in _new_conn conn = connection.create_connection( File "/usr/lib/python3.8/site-packages/urllib3/util/connection.py", line 84, in create_connection raise err File "/usr/lib/python3.8/site-packages/urllib3/util/connection.py", line 74, in create_connection sock.connect(sa) OSError: [Errno 113] No route to host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 665, in urlopen httplib_response = self._make_request( File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 387, in _make_request conn.request(method, url, **httplib_request_kw) File "/usr/lib/python3.8/http/client.py", line 1256, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1302, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output self.send(msg) File "/usr/lib/python3.8/http/client.py", line 951, in send self.connect() File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 187, in connect conn = self._new_conn() File "/usr/lib/python3.8/site-packages/urllib3/connection.py", line 171, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0xb5a86970>: Failed to establish a new connection: [Errno 113] No route to host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/requests/adapters.py", line 439, in send resp = conn.urlopen( File "/usr/lib/python3.8/site-packages/urllib3/connectionpool.py", line 719, in `

21-Jailbraik-21 commented 1 year ago

Unfortunately, L2 is offline again. Yesterday what it L1.

Copied part of the log. I hope you can help me.

Halmand commented 1 year ago

the Ip adress are Fixed and have no a second device withe same IP ???

ThomasLohner commented 1 year ago

This happens when the shelly is not available. For example i see this after shelly reboot. There's some error handling in the script but maybeI the loop somehow gives up after a couple of tries. Then the script is still running but not gathering data anymore.

21-Jailbraik-21 commented 1 year ago

Hello, just wanted to give feedback. It's been working for a week now with no problems.

The problem was probably with me: WLAN access point was activated. Since I got rid of it - no more problems.

Unbenannt