Open Heini1985 opened 1 year ago
Es gab wohl wieder eine Änderung an der api. Muss ich genauer bei sehen
Es gab wohl wieder eine Änderung an der api. Muss ich genauer bei sehen
Hi Newan, schon News hier? Danke dir. LG Ivo
Hatte ich bei mir auch im Log. Die letzten drei Tage gab es aber eine Menge Wartungsarbeiten von Easee.
Seit der letzten heute Nachmittag und einem Neustart des Adapters danach ist bei mir wieder alles sauber. Lag also vielleicht einfach an der Cloud API, nicht am Adapter.
Ja es funktioniert immer mal wieder. Solange da easee die Server net stabil hat, ist es ein zeitliches Problem hier durchgehend Support zu geben. Denke wir warten noch 1-2 Tage ab.
Da ich heute mal wieder das Auto geladen habe: Fehlermeldungen habe ich zwar nicht mehr, aber es scheint Probleme mit SignalR zu geben. Updates gab es nur zum Abfrageintervall, jedoch nicht über SignalR. Irgendwas hat Easee hier also definitiv geändert.
Im Changelog finde ich allerdings nichts. Das letzte war der SignalR URI Change, den hast du ja schon eingebaut.
Vielleicht hilft das https://github.com/evcc-io/evcc/issues/9717
Hab ich auch beobachtet und teste gerade in meinem Evcc
Hatte den heute auch bekommen und er hat das log vollgespammt: `
easee.0 | 2023-11-05 13:13:23.936 | error | AxiosError: Request failed with status code 401 -- | -- | -- | -- easee.0 | 2023-11-05 13:13:23.936 | error | RefreshToken error easee.0 | 2023-11-05 13:12:52.845 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:12:52.844 | error | RefreshToken error easee.0 | 2023-11-05 13:12:22.415 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:12:22.415 | error | RefreshToken error easee.0 | 2023-11-05 13:11:52.044 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:11:52.043 | error | RefreshToken error easee.0 | 2023-11-05 13:11:21.634 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:11:21.634 | error | RefreshToken error easee.0 | 2023-11-05 13:10:51.203 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:10:51.202 | error | RefreshToken error easee.0 | 2023-11-05 13:10:20.835 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:10:20.834 | error | RefreshToken error easee.0 | 2023-11-05 13:09:50.445 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:09:50.444 | error | RefreshToken error easee.0 | 2023-11-05 13:09:20.008 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:09:20.008 | error | RefreshToken error easee.0 | 2023-11-05 13:08:49.588 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:08:49.588 | error | RefreshToken error easee.0 | 2023-11-05 13:08:19.138 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:08:19.138 | error | RefreshToken error easee.0 | 2023-11-05 13:07:48.805 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:07:48.804 | error | RefreshToken error easee.0 | 2023-11-05 13:07:18.315 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:07:18.314 | error | RefreshToken error easee.0 | 2023-11-05 13:06:47.870 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:06:47.870 | error | RefreshToken error easee.0 | 2023-11-05 13:06:17.434 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:06:17.434 | error | RefreshToken error easee.0 | 2023-11-05 13:05:46.979 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:05:46.978 | error | RefreshToken error easee.0 | 2023-11-05 13:05:16.496 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:05:16.496 | error | RefreshToken error easee.0 | 2023-11-05 13:04:46.066 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:04:46.065 | error | RefreshToken error easee.0 | 2023-11-05 13:04:15.601 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:04:15.600 | error | RefreshToken error easee.0 | 2023-11-05 13:03:45.235 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:03:45.234 | error | RefreshToken error easee.0 | 2023-11-05 13:03:14.797 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:03:14.797 | error | RefreshToken error easee.0 | 2023-11-05 13:02:44.200 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:02:44.199 | error | RefreshToken error easee.0 | 2023-11-05 13:02:13.766 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:02:13.765 | error | RefreshToken error easee.0 | 2023-11-05 13:01:43.357 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:01:43.356 | error | RefreshToken error easee.0 | 2023-11-05 13:01:12.989 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:01:12.988 | error | RefreshToken error easee.0 | 2023-11-05 13:00:42.466 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:00:42.465 | error | RefreshToken error easee.0 | 2023-11-05 13:00:12.095 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 13:00:12.095 | error | RefreshToken error daswetter.0 | 2023-11-05 13:00:12.004 | error | exception in HourlyForecast [TypeError: Cannot read properties of undefined (reading 'city')] easee.0 | 2023-11-05 12:59:41.613 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:59:41.612 | error | RefreshToken error easee.0 | 2023-11-05 12:59:11.120 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:59:11.119 | error | RefreshToken error easee.0 | 2023-11-05 12:58:40.739 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:58:40.739 | error | RefreshToken error easee.0 | 2023-11-05 12:58:10.351 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:58:10.350 | error | RefreshToken error easee.0 | 2023-11-05 12:57:39.940 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:57:39.939 | error | RefreshToken error easee.0 | 2023-11-05 12:57:09.535 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:57:09.534 | error | RefreshToken error easee.0 | 2023-11-05 12:56:39.104 | error | AxiosError: Request failed with status code 401 easee.0 | 2023-11-05 12:56:39.103 | error | RefreshToken error easee.0 | 2023-11-05 12:56:08.748 | error | AxiosError: Request failed with status code 401`
Vielleicht kann man das irgendwie abfangen, dass der Fehler nur 1x pro 10 Minuten oder so angezeigt wird und nicht jede halbe Minute.
habe den gleichen Fehler. Wenn man die Instanz von hand stoppt und 2 mins wartet dann wieder startet, dann tritt der Fehler für ein paar stunden bis zu einem Tag nicht mehr auf. Wäre schön wenn man das irgendwie abfangen könnte
Falls das jemandem hilft, habe mir hierfür ein Skript gebaut was genau diesen Fall abfängt und den Adapter von selbst neu startet. sollte dieser einmal nicht erreichbar sein:
// Easee adapter Neustarten falls offline on({ id: 'system.adapter.easee.0.alive' / easee.0 alive /, val: false }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; setStateDelayed('system.adapter.easee.0.alive' / easee.0 alive /, true, 10000, false); console.error('Easee Adapter gestoppt, Start in 10 Sekunden'); (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})(); }); // Easee adapter Neustarten falls offline on({ id: 'easee.0.info.connection' / If communication with easee works /, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('easee.0.info.connection').val == true) { console.debug('Easee wieder erreichbar'); (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})(); } else { console.warn('Easee nicht erreichbar, Timer gestartet'); timeout = setTimeout(async () => { timeout = null; setState('system.adapter.easee.0.alive' / easee.0 alive /, false); console.error('Easee nicht erreichbar, Adapter Stopp'); }, 180000); } });
Danke @NCIceWolf für das Skript. Wenn ich das so übernehme, bekomme ich es jedoch in der Zeile 20 mit setState('system.adapter.easee.0.alive' / easee.0 alive */, false); nicht zum laufen. Da sagt mir der javascript-Adapter liegt ein Fehler vor.
Ich habe mir den Code auf folgendes angepasst und so startet er bei mir:
let timeout = null; // Timeout-Variable außerhalb der Funktionen deklarieren
// Wenn der Adapter offline ist
on({ id: 'system.adapter.easee.0.alive', val: false }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
setStateDelayed('system.adapter.easee.0.alive', true, 10000, false); // Adapterstatus auf true setzen
console.error('Easee Adapter gestoppt, Start in 10 Sekunden'); // Fehlermeldung ausgeben
if (timeout) {
clearTimeout(timeout); // Timeout löschen, wenn es existiert
timeout = null;
}
});
// Überwachen der Verbindung zum Easee
on({ id: 'easee.0.info.connection', change: 'any' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
if (getState('easee.0.info.connection').val === true) {
console.debug('Easee wieder erreichbar'); // Debugmeldung ausgeben
if (timeout) {
clearTimeout(timeout); // Timeout löschen, wenn es existiert
timeout = null;
}
} else {
console.warn('Easee nicht erreichbar, Timer gestartet'); // Warnmeldung ausgeben
if (timeout) {
clearTimeout(timeout); // Timeout löschen, wenn es existiert
timeout = null;
}
timeout = setTimeout(async () => {
setState('system.adapter.easee.0.alive', false); // Adapterstatus auf false setzen
console.error('Easee nicht erreichbar, Adapter Stopp'); // Fehlermeldung ausgeben
timeout = null;
}, 180000); // 180 Sekunden Timeout
}
});
Da ich zum jetzigen Zeitpunkt den Fehlerfall nicht hatte, kann ich noch nicht sagen, ob es läuft
Danke @NCIceWolf für das Skript. Wenn ich das so übernehme, bekomme ich es jedoch in der Zeile 20 mit setState('system.adapter.easee.0.alive' / easee.0 alive */, false); nicht zum laufen. Da sagt mir der javascript-Adapter liegt ein Fehler vor.
Scheinbar hatte er die Definition des Timeouts nicht übernommen, hab nur eben schnell das Blockly konvertiert und hier rein kopiert. Zumindest bei mir klappt das Skript bisher sehr gut. Und das Easee immer mal wieder Probleme mit der API-Erreichbarkeit hat, ist leider Fakt.
Praktisch wäre wenn man die Wallbox direkt ansteuern könnte, das geht aber wohl nur über OCPP. Und da müsste jemand schon viel Langeweile mitbringen um den Adapter hier umzubauen... Oder man baut die Prüfung der Erreichbarkeit mit in diesen Adapter ein, ist aber natürlich auch etwas Aufwand.
Danke @NCIceWolf für das Skript. Wenn ich das so übernehme, bekomme ich es jedoch in der Zeile 20 mit setState('system.adapter.easee.0.alive' / easee.0 alive */, false); nicht zum laufen. Da sagt mir der javascript-Adapter liegt ein Fehler vor.
Scheinbar hatte er die Definition des Timeouts nicht übernommen, hab nur eben schnell das Blockly konvertiert und hier rein kopiert. Zumindest bei mir klappt das Skript bisher sehr gut. Und das Easee immer mal wieder Probleme mit der API-Erreichbarkeit hat, ist leider Fakt.
Praktisch wäre wenn man die Wallbox direkt ansteuern könnte, das geht aber wohl nur über OCPP. Und da müsste jemand schon viel Langeweile mitbringen um den Adapter hier umzubauen... Oder man baut die Prüfung der Erreichbarkeit mit in diesen Adapter ein, ist aber natürlich auch etwas Aufwand.
Also wenn ich dein Script als Blockly importiere passiert gar nichts. Als JavaScript kommt dieser Fehler: `
javascript.0 | 2024-03-01 09:27:56.288 | error | at processImmediate (node:internal/timers:478:21) -- | -- | -- | -- javascript.0 | 2024-03-01 09:27:56.288 | error | at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1670:17) javascript.0 | 2024-03-01 09:27:56.288 | error | at /opt/iobroker/node_modules/iobroker.javascript/main.js:2195:17 javascript.0 | 2024-03-01 09:27:56.288 | error | at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2097:37) javascript.0 | 2024-03-01 09:27:56.288 | error | at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1844:21) javascript.0 | 2024-03-01 09:27:56.287 | error | at new Script (node:vm:94:7) javascript.0 | 2024-03-01 09:27:56.287 | error | SyntaxError: Unexpected token ')' javascript.0 | 2024-03-01 09:27:56.287 | error | ^ javascript.0 | 2024-03-01 09:27:56.287 | error | setState('system.adapter.easee.0.alive' / easee.0 alive */, false); javascript.0 | 2024-03-01 09:27:56.286 | error | script.js.Erkennungslogiken.Störungserkennungen.Easee-Adapter.Neustart compile failed: at script.js.Erkennungslogiken.Störungserkennungen.Easee-Adapter.Neustart:20`
Danke @NCIceWolf für das Skript. Wenn ich das so übernehme, bekomme ich es jedoch in der Zeile 20 mit setState('system.adapter.easee.0.alive' / easee.0 alive */, false); nicht zum laufen. Da sagt mir der javascript-Adapter liegt ein Fehler vor.
Ich habe mir den Code auf folgendes angepasst und so startet er bei mir:
let timeout = null; // Timeout-Variable außerhalb der Funktionen deklarieren // Wenn der Adapter offline ist on({ id: 'system.adapter.easee.0.alive', val: false }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; setStateDelayed('system.adapter.easee.0.alive', true, 10000, false); // Adapterstatus auf true setzen console.error('Easee Adapter gestoppt, Start in 10 Sekunden'); // Fehlermeldung ausgeben if (timeout) { clearTimeout(timeout); // Timeout löschen, wenn es existiert timeout = null; } }); // Überwachen der Verbindung zum Easee on({ id: 'easee.0.info.connection', change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('easee.0.info.connection').val === true) { console.debug('Easee wieder erreichbar'); // Debugmeldung ausgeben if (timeout) { clearTimeout(timeout); // Timeout löschen, wenn es existiert timeout = null; } } else { console.warn('Easee nicht erreichbar, Timer gestartet'); // Warnmeldung ausgeben if (timeout) { clearTimeout(timeout); // Timeout löschen, wenn es existiert timeout = null; } timeout = setTimeout(async () => { setState('system.adapter.easee.0.alive', false); // Adapterstatus auf false setzen console.error('Easee nicht erreichbar, Adapter Stopp'); // Fehlermeldung ausgeben timeout = null; }, 180000); // 180 Sekunden Timeout } });
Da ich zum jetzigen Zeitpunkt den Fehlerfall nicht hatte, kann ich noch nicht sagen, ob es läuft
Danke, dein Script funktioniert bei mir auch, also bringt keine Fehler beim Start. Ob es auch den Adapter ordentlich neu startet und das Problem behebt, wird sich zeigen.
Hallo zusammen ich habe seit einiger zeit diesen Fehler.
AxiosError: Request failed with status code 401 RefreshToken error
Seit heute geht die Instanz auf rot. Wenn ich SignalR an habe funktioniert es zwar aber sehr träge und die Instanz ist gelb. ich habe die Version 1.0.10 installiert.
könnt ihr mir weiter helfen?
Gruß
Heini1985