NEWS
Test Adapter PSA v0.0.x Peugeot Opel Citroen
-
Hallo zusammen,
sorry wenn ich eine Frage stelle, die schon beantwortet ist, aber ich bin gerade komplett Lost...
Ich habe seit gestern mit dem iobroker PSA Adapter ziemliche Probleme. Ich habe in der Citroen App das Passwort geändert und das auch im iobroker nachgezogen, danach ist der Adapter nicht mehr ordenlich gestartet, hat keine Verbindung mehr aufbauen können. Diese Fehlermeldung habe ich im Log gefunden:2024-04-06 09:32:10.738 - [32minfo[39m: psa.0 (883) starting. Version 0.0.11 in /opt/iobroker/node_modules/iobroker.psa, node: v18.19.1, js-controller: 5.0.19 2024-04-06 09:32:11.323 - [31merror[39m: psa.0 (883) AxiosError: Request failed with status code 400 2024-04-06 09:32:11.324 - [31merror[39m: psa.0 (883) Login failed 2024-04-06 09:32:11.325 - [31merror[39m: psa.0 (883) {"error_description":"Internal Server Error","error":"server_error"} 2024-04-06 09:32:11.326 - [31merror[39m: psa.0 (883) Login failed 2024-04-06 09:32:11.603 - [33mwarn[39m: psa.0 (883) Error: unsupported 2024-04-06 09:32:11.604 - [33mwarn[39m: psa.0 (883) receive new api failed 2024-04-06 09:32:11.623 - [33mwarn[39m: psa.0 (883) Error: unsupported 2024-04-06 09:32:11.624 - [33mwarn[39m: psa.0 (883) receive old api failed 2024-04-06 09:32:11.625 - [33mwarn[39m: psa.0 (883) OldAPI Login failed, only relevant for non eletric cars
Na ein wenig Recherche habe ich dann festgestellt, dass ich noch die Version 0.0.11 laufen habe, die aktuellste ist aber 0.0.12. Allerdings habe ich im iobroker nicht die Möglichkeit gehabt, diese zu aktualisieren, daher habe ich den Adapter deinstalliert und wollte ihn jetzt neu installieren, leider finde ich ihn in der iobroker Oberfläche nicht mehr und die Installation über
npm install iobroker.psa
funktioniert leider nicht. Ich bekomme keine Fehlermeldung, sondern folgende Ausgabe:
pi@raspberrypi:~ $ npm install iobroker.psa up to date, audited 136 packages in 3s 16 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
Kann mir hier jemand weiterhelfen?
Vielen Dank
Markus
-
@ich77
Der PSA adapter funktioniert doch schon lange nicht mehr. Deshalb wird das hier doch mit dem PSA Car Cotroller gelöst. -
@uwe96 Vielen Dank, bei mir hat er bist gestern eigentlich problemlos funktioniert. Dann schaue ich mir den PSA Car Controller mal an, gibt es da irgendwo eine gute Doku?
-
@ich77
Ich habe den als Docker installiert. Da gibt es nicht viel zu erklären.
https://github.com/flobz/psa_car_controller
Das Verbinden mit PSA ist nicht ganz so einfach. Weiter oben ist es aber beschrieben. -
@ich77
Auf Github steht alles super detailliert beschrieben.
Die Doku ist sehr gut. -
Hi,
PSA-CC läuft bei mir auf einem anderen Pi.
Diesen möchte ich per Blockly über ein Button-Widget rebooten, was auch funktioniert und PSA-CC starten, was leider nicht funktioniert.
Die Befehle per SSH funktionieren aber:Wegen Bookworm
source .venv/bin/activate
Und dann PSA-CC starten
psa-car-controller -f config.json -c charge_config.json -r -l 192.168.178.93
Und hier der Funktionsaufruf in Blockly, der nicht funktioniert:
var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.178.93', user: 'pi', pass: 'xxxxxx' }); ssh.exec('source .venv/bin/activate').start(); ssh.exec('psa-car-controller -f config.json -c charge_config.json -r -l 192.168.178.93').start();
Kann jemand sagen wo es hieran hapert?
-
gibt es ne Möglichkeit dem PSA-CC per Konsole nen cron job zu verpassen.. aber und an hängt der und muss händisch gestopt und wieder gestartet werden...
-
Mit meiner Funktion könnte man das noch automatisieren mit Blockly.
Wenn der Server nicht antwortet Funktion aufrufen.Nur geht die Funktion halt noch nicht.
-
Es läuft jetzt.
Und zwar mit folgendem Blockly:Die beiden Funktionen sind:
var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.178.xxx', user: 'pi', pass: 'xxxx' }); ssh.exec('sudo reboot').start();
und
var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.178.xxx', user: 'pi', pass: 'xxxx' }); ssh.exec('/home/pi/.venv/bin/psa-car-controller -f /home/pi/config.json -c /home/pi/charge_config.json -r -l 192.168.178.xxx').start();
Ich reboote hiermit auch den Pi.
Wahrscheinlich reicht auch einfach ein erneutes Starten, also Aufruf der PSA-CC Start-Funktion.Wenn du PCA-CC auch auf Bookworm installiert hast, machst du es wahrscheinlich auch über den venv.
Du musst dann schauen, wohin du es installiert hast und entspr. anpassen. -
@hg6806
ich starte im Moment morgens den javascript Adapter per cron neu.. das funktioniert momentan auch...ich übernehm das Blockly aber gern und teste das mal aus mit dem Neustart des Adapters
Danke schonmal...
-
... noch habe ich den Original Adapter (steht auf STOP) installiert, aber ...
Kann jemand (der Entwickler ?) einschätzen, ob man ihn endgültig löschen kann ? Verschwindet er demnächst aus der Adapter Übersicht ?
-
@docsnyder7 said in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
gibt es ne Möglichkeit dem PSA-CC per Konsole nen cron job zu verpassen.. aber und an hängt der und muss händisch gestopt und wieder gestartet werden...
Ich habe den PSACC im Docker installiert und auch dort schmiert das Script im Container scheinbar sporadisch irgendwie ab. Laut Docker läuft der Container, die Oberfläche von PSACC ist aber nicht mehr erreichbar und Daten können auch nicht über das iobroker Skript gelesen werden. Wenn ich den Container über die Konsole neu starte, geht es direkt wieder. Cronjob in jeder Nacht führe ich schon obligatorisch durch, aber ab und zu bleibt es trotzdem noch tagsüber hängen. Sehr nervig dann.
Ich möchte den PSACC gern über ein Javascript aus dem iobroker neustarten. Der folgende Befehl bewirkt aber nichts (auch keine Fehlermeldung), obwohl er in der Konsole funktioniert. Ein Rechteproblem???
exec('sudo docker restart containerName');
-
@iojoker
ich hab es über einen cronjob direkt auf der konsole gemacht.. da startet der externe PSA-Car-Controller von flobz neu
allerdings wird auch das zunehmend überflüssig, weil die Jungs von evcc es hinbekommen haben, die PSA -Token Geschichte zu implementieren. die funnzt momentan sehr gut -
@docsnyder7 Danke für die Info. Ich nutze aber (nicht mehr) evcc, sondern eine von mir selbst programmierte Lösung zur Ladesteuerung. Ich bräuchte halt nur eine zuverlässige Quelle für den SoC der Batterie...
-
@iojoker
Ich hab auch parallel zu EVCC ein Script laufen, was den Hausakku rausnimmt, weil das für meine Kombi evcc nicht hinbekommt... -
Hallo zusammen,
ich habe vielleicht einen Tip für euch, wie man relativ einfach die Daten aus dem PSA_Controller bekommt.
Ich war die letzten Tage auch am verzweifeln, bin dann aber auf eine Lösung mit dem Umweg über FHEM gestoßen. Es gibt eine Möglichkeit alle Daten per HTTPMOD auszulesen und diese dann über den FEHM Adapter im iobroker zu nutzen.
Da bei mir FHEM sowieso läuft, klappt ein Zugriff jetzt ohne Probleme.
Hier noch die Definition für FHEM:defmod Corsa HTTPMOD http://192.168.7.31:5000/get_vehicleinfo/<DEINE_FIN>?from_cache=0 300
attr Corsa disable 0
attr Corsa enableControlSet 1
attr Corsa extractAllJSON 1
attr Corsa reading01Name Ladung
attr Corsa reading01Regex "level": ([\d.\d]+)
attr Corsa room Energie
attr Corsa set01Hint 0,1
attr Corsa set01Name Klimatisierung
attr Corsa set01URL http://192.168.7.29:5000/preconditioning/<DEINE_FIN>/$val
attr Corsa set02Hint 0,1
attr Corsa set02Name laden
attr Corsa set02URL http://192.168.7.29:5000/charge_now/<DEINE_FIN>/$val
attr Corsa set03Hint 70,80,90
attr Corsa set03Name MaxLadung
attr Corsa set03URL http://192.168.7.29:5000/charge_control?vin=<DEINE_FIN>&percentage=$val
attr Corsa showBody 0
attr Corsa stateFormat {
my $rw = sprintf("%.0f",ReadingsVal($name,"energy_01_level",undef))."%";;
"Batterie ".$rw
}
attr Corsa verbose 0Viele Spass
Ralf -
@iojoker Moin,
hast du simple ssh in der Javascript Instanz "installiert" und das Kommando "exec" erlaubt?Ich habe auch ein Script zum neustarten erstellt, dass ich mit der Alexa aufrufen kann.
-
@matze1909 Ich glaube, SSH wird dafür gar nicht benötigt. Ich habe es nun testhalber trotzdem eingetragen und es hilft nicht. Den EXEC Befehl hatte ich bereits freigegeben. In anderen Skripten funktioniert es ja auch. Deswegen vermute ich ein Rechteproblem...
Mit welchem Befehl startest du denn den Container neu? Oder habe ich das falsch verstanden? -
async function PSA_Neustart() { var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.178.115', user: 'xx', pass: 'xxxxxxxx' }); ssh.exec('docker restart PSA').start(); } await PSA_Neustart();
Hier das JS von meinem Blockly
-
@matze1909 ich nutze das auch so und hasse es geradezu das passwort im quelltext zu haben. Geht das irgendwie so wie bei linux in fstab, woan die pw hinterlegt?