Ich habe wie unter https://linuxize.com/post/how-to-setup-passwordless-ssh-login/ auf dem iobroker raspi für den user iobroker einen ssh key erzeugt und über ssh-copy-id zum user pi auf den anderen raspi kopiert.
Damit kann sich der user iobroker jetzt ohne Passwort per ssh auf dem raspi als user pi anmelden und der Aufruf des Programms klappt endlich im Blockly.
Ich verstehe nur nicht, wozu ich im Blockly die ssh user Angaben mache, wenn ich es dann nachher noch über das keyfile regeln muss
genau so stelle ich mir das vor. Grenzen für laden/entladen des Speichers setzen, das Gleiche für die openWB und die Wärmepumpe.
Kannst du sagen/zeigen, wie du das umgesetzt hast? Das sieht genial aus.
Ich habe auch eine openWB, ein E3DC, dass ich per rscp steuern kann, und eine Wärmepumpe, die ich per SG Ready Schnittstelle über einen Shelly triggern kann.
Mit dem intelligenten Batteriepuffer des TibberLink Adapters kann ich ja nur für die aktuelle Stunde erkennen, was gemacht werden soll, aber nicht für den ganzen Tag.
Ich habe wie unter https://linuxize.com/post/how-to-setup-passwordless-ssh-login/ auf dem iobroker raspi für den user iobroker einen ssh key erzeugt und über ssh-copy-id zum user pi auf den anderen raspi kopiert.
Damit kann sich der user iobroker jetzt ohne Passwort per ssh auf dem raspi als user pi anmelden und der Aufruf des Programms klappt endlich im Blockly.
Ich verstehe nur nicht, wozu ich im Blockly die ssh user Angaben mache, wenn ich es dann nachher noch über das keyfile regeln muss
Wenn Du über remote ssh und den user pi das Ganze ausführen willst, dann musst Du die credentials des users pi im Homeverzeichnis des User iobroker ablegen.
Ich bin mir nicht sicher, ob ich das korrekt verstanden habe.
Soll ich jetzt per scp die Dateien aus dem .ssh Verzeichnis des pi users in das .ssh Verzeichnis des iobroker users kopieren?
Das hat leider keine Besserung gebracht...
Ich kann immer noch nicht nachvollziehen, wieso alles andere funktioniert, nur nicht das gewünschte Programm.
Alles andere funktioniert über ssh.exec, whoami gibt pi aus, Verzeichnis über mkdir anlegen klappt, shell scripte ausführen auch, nur nicht das e3dcset.
Der blockly Funktion gibt man ja auch den user pi beim Erzeugen der ssh variable mit.
Eben ist mir aufgefallen, dass es ja kein .sh ist, sondern ein binary, was ich ausführen möchte, kann es etwas damit zutun haben?
ich habe versucht, in den bestehenden Beiträgen Hilfe zu finden, aber es will bei mir nicht klappen.
Ich möchte aus dem blockly heraus ein script auf einem anderen raspi ausführen.
Einfache Befehle (ls, whoami etc.) und auch ein test.sh mit einfachen Befehlen werden ausgeführt, aber nicht das eigentliche script.
mein ssh exec sieht so aus:
var SSH = require('simple-ssh');
var ssh = new SSH({
host: 'remoteIP',
user: 'pi',
pass: 'pwd'
});
ssh.exec('/home/e3dcset/e3dcset', {
out: function (stdout) {
console.log(stdout);
setState('0_userdata.0.test', stdout);
}
}, ).start();
Das Script ist in folgendem Ordner und Berechtigungen:
-rwxr-xr-x 1 pi pi 90964 Nov 7 12:20 e3dcset
Wenn ich das Script lokal in einer shell aufrufe, gibt es keine Probleme:
In einem Beitrag wurde geschrieben, dass iobroker die Javascripte mit dem user "iobroker" ausführt, aber in dem exec gebe ich ihm ja den user "pi" mit, wenn ich über das exec den Befehl "whoami" absetze kommt auch "pi" zurück.
Wo liegt der Fehler? Kann mir jemand helfen?
@arnod Hi Arno, eine Verständnisfrage:
der Adapter steuert 'nur' die Akkubeladung (und Wallbox usw.), die neuen Features, die EBA einbaut (Tibber, Akku nachts beladen, Wärmepumpen Berücksichtigung usw.) sind nicht drin enthalten, richtig?
Ich würde gerne den Akku im Winter per Tibber Preisradar nachts laden, so wie ich es verstehe kann ich das über den Adapter nicht steuern, oder?
Zur Info:
ich habe noch ein anderes Gerät gefunden, den elfin-ew11a
Der ist bestellt und wenn ich das so umgesetzt bekomme werde ich noch einmal hier reinschreiben
wir haben eine Poolwärmepumpe von Peraqua mit Modbus RTU Anschluss (ja, das Gerät hat auch WLAN aber das funktioniert nicht zuverlässig).
Meine Idee ist jetzt, dass ich die WP über Modbus in ioBroker einbinde, nur das genaue WIE ist noch die Frage.
Ich habe noch einen ESP32 mit WLAN hier liegen, daran könnte ich ein TTL RS-485 Konverter Modul Max485 Adapter anschließen, was ich dann an die WP klemme.
Jetzt kenne ich mich aber nicht so gut aus, was die Verkabelung angeht...
Brauche ich von der WP Platine nur A und B abgreifen und an den MAX485 Adapter anklemmen?
Was ist mit den -+12v Pins?
Die ganze Modbus Logik würde ich dann in ESPHome abbilden und in ioBroker bekommen (so die Theorie...)
Hier im Forum habe ich auch den HF2211S erwähnt gesehen:
Da verstehe ich nicht ganz, wie ich den bzw. die Modbus Daten in den ioBroker bekommen würde.
Was wäre die einfachere Variante?
Über hilfreiche Hinweise würde ich mich sehr freuen