Newan / ioBroker.easee

easee is a wallbox with an REST-API. This adapter for ioBroker can used to connect the wallbox with your home environment
MIT License
21 stars 8 forks source link

Easee API error on charger config - stop refresh: Request failed with status code 504 #59

Closed technolion closed 1 year ago

technolion commented 1 year ago

Describe the bug

Error: Request failed with status code 504

To Reproduce
Steps to reproduce the behavior:

I use a script that calculates excess power and starts, stops or changes charging power using the easee ioBroker adapter. This usually works, but sometimes the adapter crashes with a 504 error.

Screenshots & Logfiles

easee.0 2023-03-05 14:18:39.441 debug Chargers ausgelesen
easee.0 2023-03-05 14:18:39.290 debug read new states from the API
easee.0 2023-03-05 14:18:20.529 error Easee API error on charger config - stop refresh
easee.0 2023-03-05 14:18:20.529 error Error: Request failed with status code 504
easee.0 2023-03-05 14:18:09.445 debug {"smartCharging":false,"cableLocked":true,"chargerOpMode":6,"totalPower":3.6600000858306885,"sessionEnergy":3.5997793674468994,"energyPerHour":3.4841086864471436,"wiFiRSSI":-67,"cellRSSI":-77,"localRSSI":null,"outputPhase":10,"dynamicCircuitCurrentP1":16,"dynamicCircuitCurrentP2":0,"dynamicCircuitCurrentP3":0,"chargerFirmware":307,"chargerRAT":1,"lockCablePermanently":false,"inCurrentT2":15.427000045776367,"inCurrentT3":15.406999588012695,"inCurrentT4":0.019999999552965164,"inCurrentT5":0.009999999776482582,"outputCurrent":16,"inVoltageT1T2":null,"inVoltageT1T3":null,"inVoltageT1T4":null,"inVoltageT1T5":null,"inVoltageT2T3":237.91600036621094,"inVoltageT2T4":238.76499938964844,"inVoltageT2T5":228.27699279785156,"inVoltageT3T4":null,"inVoltageT3T5":null,"inVoltageT4T5":null,"ledMode":24,"cableRating":32,"dynamicChargerCurrent":32,"circuitTotalAllocatedPhaseConductorCurrentL1":16,"circuitTotalAllocatedPhaseConductorCurrentL2":0,"circuitTotalAllocatedPhaseConductorCurrentL3":0,"circuitTotalPhaseConductorCurrentL1":15.364999771118164,"circuitTotalPhaseConductorCurrentL2":0.020999999716877937,"circuitTotalPhaseConductorCurrentL3":0.009999999776482582,"reasonForNoCurrent":27,"wiFiAPEnabled":false,"lifetimeEnergy":1045.4598069444453,"offlineMaxCircuitCurrentP1":40,"offlineMaxCircuitCurrentP2":40,"offlineMaxCircuitCurrentP3":40,"errorCode":0,"fatalErrorCode":0,"eqAvailableCurrentP1":null,"eqAvailableCurrentP2":null,"eqAvailableCurrentP3":null,"deratedCurrent":null,"deratingActive":false,"connectedToCloud":true,"isOnline":true,"voltage":237.91600036621094,"latestPulse":"2023-03-05T13:17:34.000Z","errors":[]}
easee.0 2023-03-05 14:18:09.444 debug Charger status ausgelesen mit id: EH8XMF8C
easee.0 2023-03-05 14:18:09.281 debug {"id":"EH8XMF8C","name":"EH8XMF8C","color":1,"createdOn":"2021-11-29T15:50:22.974512","updatedOn":"2022-09-14T15:29:14.245698","levelOfAccess":2,"productCode":1}
easee.0 2023-03-05 14:18:09.281 debug Charger found
easee.0 2023-03-05 14:18:09.280 debug [{"id":"EH8XMF8C","name":"EH8XMF8C","color":1,"createdOn":"2021-11-29T15:50:22.974512","updatedOn":"2022-09-14T15:29:14.245698","levelOfAccess":2,"productCode":1}]
easee.0 2023-03-05 14:18:09.280 debug Chargers ausgelesen
easee.0 2023-03-05 14:18:09.168 debug read new states from the API
easee.0 2023-03-05 14:17:39.157 warn No Chargers found!
easee.0 2023-03-05 14:17:39.157 error Error: Request failed with status code 504
easee.0 2023-03-05 14:17:36.191 debug New value over SignalR for: EH8XMF8C.status.totalPower, value: 3.6600000858306885
easee.0 2023-03-05 14:17:36.190 debug New value over SignalR for: EH8XMF8C.status.inCurrentT2, value: 15.427000045776367
easee.0 2023-03-05 14:17:34.202 debug New value over SignalR for: EH8XMF8C.status.inCurrentT3, value: 15.406999588012695
easee.0 2023-03-05 14:17:29.799 debug {"mid":"EH8XMF8C","dataType":3,"id":73,"timestamp":"2023-03-05T13:17:27Z","value":"15.364999771118164"}
easee.0 2023-03-05 14:17:29.798 debug New SignalR-ID, possible new Value: 73
easee.0 2023-03-05 14:17:27.789 debug {"mid":"EH8XMF8C","dataType":3,"id":70,"timestamp":"2023-03-05T13:17:26Z","value":"16"}
easee.0 2023-03-05 14:17:27.788 debug New SignalR-ID, possible new Value: 70
easee.0 2023-03-05 14:17:27.701 debug read new states from the API

Versions:

technolion commented 1 year ago

Feel free, to provide instructions on how to get more detailed logging. I am new to ioBroker.

spoeh-man commented 1 year ago

Ich denke dass Problem liegt an der API ich habe in letzter zeit auch dauernd 504er fehler auf der API

technolion commented 1 year ago

Ich denke dass Problem liegt an der API ich habe in letzter zeit auch dauernd 504er fehler auf der API

Stimmt, hätte natürlich vorher auch mal schauen könne, was 504 bedeutet: Gateway Timeout. Easee selber meldet allerdings derzeit keine Probleme: https://status.easee.com/

Vielleicht könnte man ein Retry-Handling bei einem 504er Fehler einbauen?

spoeh-man commented 1 year ago

ja dass habe ich auch gesehen und mal meinen abfrageintervall geändert eventuell mag es die API auch nicht wenn sie zu oft abgefragt wird aber selbst bei 2 minunten kommen die errors

technolion commented 1 year ago

Eigentlich sollte das backend ein 502 Fehler melden, wenn man zu häufig abfragt, und keinen 504: https://developer.easee.cloud/docs/http-error-codes

Deswegen gehe ich bei einem 504 eher von einem überlasteten Backend aus. Zu blöd, dass man nicht direkt mit der Wallbox kommunizieren kann :-(

spoeh-man commented 1 year ago

komischfreweise jetzt habe ich mal auf 120 sekunden gestellt und es geht wieder

edit sagt und nun wieder nicht

spoeh-man commented 1 year ago

Deine Idee mit dem überlasteten Backend teile ich sonst wäre der Fehler immer aber er tritt nur sporadisch auf . Weit hergeholt aber wir haben Wetter was die Solarleistung stark schwanken lässt eventuell versuchen grade viele solargeführt dass auto laden und daher ist die API überlastet

technolion commented 1 year ago

Deine Idee mit dem überlasteten Backend teile ich sonst wäre der Fehler immer aber er tritt nur sporadisch auf . Weit hergeholt aber wir haben Wetter was die Solarleistung stark schwanken lässt eventuell versuchen grade viele solargeführt dass auto laden und daher ist die API überlastet

Das kann sogar sehr gut sein! Wolken/Sonne/Wolken/Sonne. Bei mir geht es auch ständig rauf und runter. Falles es Dich interessiert: Ich habe dieses Script geschrieben, um die Wallbox via adapter anzusprechen: https://github.com/technolion/ioBroker.wallboxExcessPV/blob/main/excessPVCharging.js

spoeh-man commented 1 year ago

Bei meinen 300 Watt PV Leistung übertrieben aber trotzdem Danke ;-)

technolion commented 1 year ago

Ich habe eine Mail an integration@easee.com geschrieben und das Problem gemeldet.

Newan commented 1 year ago

Bekomme ich auch, warten wir mal ab was bei easee passiert. Änderung der API sehe ich derzeit auch keine. Wenn Ihr mehr infos habt gerne teilen dann ändere ich den Adapter

technolion commented 1 year ago

Ich habe das Refresh-Intervall auf 6 Stunden gestellt und SignalR aktiviert. Nach ein paar Neustarts des Adapters habe ich endlich wieder eine Verbindung:

easee.0 | 2023-03-06 10:58:47.467 | info | Charger registrate in SignalR: EH8XMF8C
-- | -- | -- | --
easee.0 | 2023-03-06 10:58:47.062 | info | Starting SignalR
easee.0 | 2023-03-06 10:58:46.835 | info | Easee Api Login successful
easee.0 | 2023-03-06 10:58:46.618 | info | starting. Version 1.0.7 in /opt/iobroker/node_modules/iobroker.easee, node: v16.19.1, js-controller: 4.0.24
host.penguin | 2023-03-06 10:58:46.051 | info | instance system.adapter.easee.0 started with pid 63493

Das ist natürlich ein Workaround, weil man hoffen muss, dass die SignalR-Connection stabil bleibt.

spoeh-man commented 1 year ago

So wie es scheint hat Easee gerade Masive Probleme. Selbst die App war gestern nicht fähig eine Ladung zu starten auch die Smart Charging Funktion mit Tibber war out of order.

NCIceWolf commented 1 year ago

Ja, es gab hier ein Problem bei Easee. Ich habe dazu Mails am 06.03., 08.03. und 10.03.2023 erhalten. Seit dem 10.03. soll das Problem nun behoben sein, nachdem es zwei Tage ohne Auffälligkeiten beobachtet wurde. Ich habe seitdem auch keine Fehlermeldungen mehr in meinem Log.

Den Status aktueller oder vergangener Probleme findet man hier: https://easee.statuspage.io/

@Newan: Das Thema solltest du schließen können ;)

Newan commented 1 year ago

Danke fürs Feedback