JasperE84 / PyFusionSolarDataRelay

Interface to relay PV inverter data from FusionSolar public kiosk mode to InfluxDB/VictoriaMetrics, PVOutput.org, MQTT and Home Assistant
MIT License
20 stars 2 forks source link

docker: Cannot fetch PvOutput since 10 days #17

Closed ced2git closed 1 month ago

ced2git commented 1 month ago

Hello,

Since few days, i'm getting the cron job is getting a traceback when trying to fetch the info. It seems this is related to the parsing of the JSON file.

2024-07-27 22:48:19,769 - apscheduler.scheduler - INFO - Adding job tentatively -- it will be properly scheduled when the scheduler starts 2024-07-27 22:48:19,777 - apscheduler.scheduler - INFO - Added job "PvRelay.process_fusionsolar_request" to job store "default" 2024-07-27 22:48:19,777 - apscheduler.scheduler - INFO - Scheduler started 2024-07-27 22:48:19,777 - apscheduler.scheduler - DEBUG - Looking for jobs to run 2024-07-27 22:48:19,778 - apscheduler.scheduler - DEBUG - Next wakeup is due at 2024-07-27 23:00:00+02:00 (in 700.221971 seconds) 2024-07-27 23:00:00,000 - apscheduler.scheduler - DEBUG - Looking for jobs to run /usr/local/lib/python3.10/site-packages/apscheduler/util.py:428: PytzUsageWarning: The localize method is no longer necessary, as this time zone supports the fold attribute (PEP 495). For more details on migrating to a PEP 495-compliant implementation, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html return tzinfo.localize(dt) 2024-07-27 23:00:00,010 - apscheduler.executors.default - INFO - Running job "PvRelay.process_fusionsolar_request (trigger: cron[hour='*', minute='0,30'], next run at: 2024-07-27 23:00:00 CEST)" (scheduled at 2024-07-27 23:00:00+02:00) 2024-07-27 23:00:00,010 - root - INFO - Requesting data from FusionSolar Kiosk API... 2024-07-27 23:00:00,011 - apscheduler.scheduler - DEBUG - Next wakeup is due at 2024-07-27 23:30:00+02:00 (in 1799.999489 seconds) 2024-07-27 23:00:00,016 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): region03eu5.fusionsolar.huawei.com:443 /usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host 'region03eu5.fusionsolar.huawei.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn( 2024-07-27 23:00:00,138 - urllib3.connectionpool - DEBUG - https://region03eu5.fusionsolar.huawei.com:443 "GET /rest/pvms/web/kiosk/v1/station-kiosk-file?kk=1O0eLg93hkB8qp2rL5MQPqJc25jPljtK HTTP/1.1" 200 74 2024-07-27 23:00:00,140 - root - ERROR - Uncaught exception in FusionSolar data processing loop. Traceback (most recent call last): File "/code/pvfusionsolar.py", line 42, in fetch_fusionsolar_status response_json_data = json.loads(response_json_data_decoded) File "/usr/local/lib/python3.10/json/init.py", line 346, in loads return _default_decoder.decode(s) File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/lib/python3.10/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/code/pvrelay.py", line 34, in process_fusionsolar_request fusionsolar_json_data = self.pvfusionsolar.fetch_fusionsolar_status() File "/code/pvfusionsolar.py", line 44, in fetch_fusionsolar_status raise Exception( Exception: Error while parsing JSON response data element from FusionSolar Kiosk API: 'Expecting value: line 1 column 1 (char 0)' 2024-07-27 23:00:00,140 - root - DEBUG - Waiting for next FusionSolar interval... 2024-07-27 23:00:00,140 - apscheduler.executors.default - INFO - Job "PvRelay.process_fusionsolar_request (trigger: cron[hour='*', minute='0,30'], next run at: 2024-07-27 23:30:00 CEST)" executed successfully

JasperE84 commented 1 month ago

Does your kiosk url still work and is the kkid parameter still valid (unchanged)?

My container is still fetching data by the looks of it (on vacation now, but seeing pvoutput stats appearing)

ced2git commented 1 month ago

Hello, Yes I need to close the case. The kiosk is only valid for a year and I didn’t know that. I ve created a new uri and changed the config. It works againIs there a way to retrieve the data from the past days ?Thanks Envoyé d un smartphone... Le 28 juil. 2024 à 13:33, JasperE84 @.***> a écrit : Does your kiosk url still work and is the kkid parameter still valid (unchanged)? My container is still fetching data by the looks of it (on vacation now, but seeing pvoutput stats appearing)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

JasperE84 commented 1 month ago

Alright thats solved then. This project does not support backfilling although, depending on the backend db, im sure it could be manually done to some extent as the solarfusion dashboards show historical content. You could look into tools fiddler and postman to deep dive in this and check what the data looks like. Then you'd have to find a way to backfilling your backend. I however cant support any further down that road.