NEWS
Test Adapter PSA v0.0.x Peugeot Opel Citroen
-
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. -
Hi,
ist das bei euch auch so, dass er ständig die Config verliert?Ich habe nach einem restart des PSA-Cotnrollers immer mal wieder das hier im log:
2024-05-23 05:24:11,933 :: INFO :: App version 3.5.0 2024-05-23 05:24:12,744 :: ERROR :: Please reconnect by going to config web page 2024-05-23 05:24:12,749 :: INFO :: save config change 2024-05-23 05:24:12,754 :: WARNING :: Can't get language 2024-05-23 05:24:12,754 :: WARNING :: Can't get language 2024-05-23 05:24:14,607 :: INFO :: update_data 2024-05-23 05:24:14,614 :: INFO :: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 2024-05-23 05:24:42,620 :: INFO :: 192.168.178.81 - - [23/May/2024 05:24:42] "[37mGET /config_login HTTP/1.1[0m" 200 - 2024-05-23 05:24:42,697 :: INFO :: 192.168.178.81 - - [23/May/2024 05:24:42] "[37mGET /_dash-layout HTTP/1.1[0m" 200 - 2024-05-23 05:24:42,700 :: INFO :: 192.168.178.81 - - [23/May/2024 05:24:42] "[37mGET /_dash-dependencies HTTP/1.1[0m" 200 - 2024-05-23 05:24:42,703 :: INFO :: 192.168.178.81 - - [23/May/2024 05:24:42] "[37mGET /_favicon.ico?v=2.16.1 HTTP/1.1[0m" 200 - 2024-05-23 05:24:42,750 :: INFO :: 192.168.178.81 - - [23/May/2024 05:24:42] "[37mPOST /_dash-update-component HTTP/1.1[0m" 200 - ...
ich muss jedesmal wieder diesen ultranervigen Prozess der Authentifizierung machen. Bin es langsam leid...
Nils
-
@jmeister79
Nö. Seit Monaten stabil. -
@jmeister79
Die letzten Tage nicht. Mein täglicher Restart läuft aktuell ohne Probleme. Ich würd aber aus der bisheriger Erfahrung bei mir sagen, dass ich mich so alle 2 - 4 Wochen neu authentifizieren muss. -
@roughestboy said in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
Bei mir läufts so.
Nach dem Restart etwas Geduld mit dem Dashboard. Das braucht etwas, bis es wieder kommt...
Viel Glück !Vielen Dank für deine Hilfe, jetzt funktioniert es!
Ich musste im SSH-Befehl noch ein 'sudo' voranstellen, weil ich mich nicht mit pi anmelde. Logisch irgendwie...@jmeister79 said in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
Hi,
ist das bei euch auch so, dass er ständig die Config verliert?Seitdem ich dem Docker Container ein eigenes Volume verpasst habe, passiert das bei mir eigentlich nicht mehr. Vorher musste ich mich auch jedes mal neu 'anmelden', wenn sich der PSACC aufgehängt hat. Du verwendest aber gar kein Docker, stimmt's?
Also die Funktionalität von PSACC finde ich eigentlich echt sehr gut. Aber wieso zum Teufel bleibt die Anwendung immer hängen??? Nach einem Neustart des Containers geht es dann wieder, aber eigentlich kann das ja nicht im Sinne des Erfinders sein. Sehr schade...
-
... ich habe den javascript-Adapter auf 8.3.1 aktualisiert ... seitdem bekomme ich diese Fehler:
javascript.0 2024-05-25 18:00:00.045 error at processTimers (node:internal/timers:512:7) javascript.0 2024-05-25 18:00:00.045 error at listOnTimeout (node:internal/timers:569:17) javascript.0 2024-05-25 18:00:00.044 error at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2024-05-25 18:00:00.044 error at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2024-05-25 18:00:00.044 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2024-05-25 18:00:00.044 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1769:34) javascript.0 2024-05-25 18:00:00.043 error at Object.SendRequest (script.js.4_Skripte_sonstiges.CORSA_PSA_Controller_Abfrage:36:5) javascript.0 2024-05-25 18:00:00.041 error Error in callback: ReferenceError: request is not defined
Jemand dieselben Probleme und bereits gelöst ?!
(Das Script von @matze1909 aus Beitrag #210 wird lediglich alle 3 Stunden aufgerufen und hat bis zur Aktualisierung einwandfrei funktioniert ...)
-
Gibt schon 8.4.0
-
@sigi234
... okay ... über die Katze aktualisiert ... schaun'mer mal ...Hattest Du ebenfalls das Problem oder ist es "Prinzip Hoffnung", dass der Fehler verschwindet?
(Ich kann nicht beurteilen, ob das Changelog etwas beinhaltet ...) -
@raspiuser sagte in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
okay ... über die Katze aktualisiert
Lass die Katze in Ruh'. 8.4.0 liegt im Beta-Repo/npm.
-
@thomas-braun sagte in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
Lass die Katze in Ruh
... jo ... aber wenn's (vielleicht) hilft ?! ... und vor der 8.3.1 hatte ich 7.8 irgendwas ...
-
@raspiuser sagte in Test Adapter PSA v0.0.x Peugeot Opel Citroen:
Hattest Du ebenfalls das Problem oder ist es "Prinzip Hoffnung", dass der Fehler verschwindet?
Prinzip Hoffnung
-
@sigi234
... 8.4.0 brachte keine Besserung, habe jetzt das letzte Backup (mit 7.8.0) eingespielt und hoffe, dass es wieder funktioniert.Vielleicht hat doch noch jemand eine Lösung zu meinen Fehlern aus #287 ?
EDIT:
7.8.0 funktioniert (wieder) ... also "verträgt" sich das Script aus #210 irgendwie nicht mit 8.4.0 ...
Gegenüber dem Original-Script habe ich das Intervall geändert (letzte Zeile) ... ist da das Problem ?function iter(name, obj) { for(let i in obj) { if(typeof obj[i] == 'object') iter(name + '.' + i, obj[i]); else { log(name + '.' + i + ': ' + obj[i]); if(existsState(name + '.' + i)) setState(name + '.' + i, obj[i]); else createState(name + '.' + i, obj[i]); // type: "mixed" } } } function SendRequest(){ var options = { url: 'http://192.168.178.100:5000/get_vehicleinfo/VXKUHZKXZMxxxxxxx' }; request(options, function (error, response, body){ if (!error) iter('javascript.0.PSA', JSON.parse(body)); else console.error(error); }); } schedule('0 */3 * * *', SendRequest);
-
@raspiuser
hab das Problem mit der 8.3. auch und ich hab nix geändert am Script!
Allerdings momentan deaktiviert, da es seitens evcc gelöst wurde und momentan stabil läuft