NEWS
Test Adapter PSA v0.0.x Peugeot Opel Citroen
-
@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?
-
@matze1909 said in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
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
Danke, ich vermute, das sind die Anmeldedaten vom Host System, auf dem Docker installiert ist? Also bei mir ein Raspberry Pi. Leider funktioniert der Neustart immer noch nicht... Es kommt auch kein Fehler in der Konsole des Javascript Adapters. Bin ein wenig überfragt...
-
@iojoker
Habe auch etwas gebraucht, bis ich es hinbekommen habe. Du müsstest ja die gleichen Bedingungen haben wie ich, gehen wirs nochmal durch
Auf meinem raspi mit iobroker läuft der psa_cc ebenso unter docker.
Auf die Konsole logge ich mich als 'pi' ein. Der Restart funktioniert auf der Konsole mitdocker restart psa_car_controller1
Den Namen des psa_cc siehst Du mit
docker ps -a
unter 'NAMES'.
Zwecks täglichem Restart des psa_cc mit einem blockly bin ich nach
machs-smart
vorgegangen. Wichtig sind die zwei Einstellungen in der JS-Instanz, und mein Blockly sieht einfach so aus:
Der Block 'Car Controller Restart muss wie beschrieben mit der Javascript Funktion erzeugt werden (die Javascript Funktion darunter brauchst Du fürs finale Script nicht; schadet aber auch nicht, die nicht wegzuwerfen).
Mein Code dafür ist (analog im Link oben beschrieben)var SSH = require('simple-ssh'); var ssh = new SSH({ host: '192.168.178.deineadresse', user: 'pi', pass: 'deinpasswort' }); ssh.exec('docker restart psa_car_controller1').start();
Der Restart Befehl im Skript ist nicht anders als auf der Konsole.
Bei mir läufts so.
Nach dem Restart etwas Geduld mit dem Dashboard. Das braucht etwas, bis es wieder kommt...Viel Glück !
-
Noch eine andere Frage. Im Dashboard gibts ja den Durchschnittsverbrauch, ich meine das hier:
Weiß jemand, ob der Wert mit einem speziellen JSON-Request abfragbar ist ?
Darüberhinaus: sind die auf der github Seite von flobz aufgeführten Request-Beispiele alle oder gibt es da noch andere ? Aus dem Link zur offiziellen API-Dok bin ich nicht schlau geworden.