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
@mirage Hallo,
ist schon etwas her, ich bin irgendwie erst jetzt dazu gekommen, mich darum zu kümmern (wie das so ist manchmal...)
Ich habe allerdings folgendes Problem: Der elfin will nicht starten (die Lichter bleiben aus).
Über das Board der Wärmepumpe mit Strom versorgen klappt nicht, da laut Support das Board nur ~100mA zur Verfügung stellt.
Laut Doku braucht der Elfin folgende Versorgung:
Input Voltage: 5~36VDC
Working Current ~200mA
Power <700mW
Habe jetzt ein Netzteil mit 12VDC (2A) genommen und am Stecker GND (braun) mit (-) verbunden und 5-18VDC (rot) des Steckers mit (+) verbunden.
Leider passiert nichts, der Elfin will nicht starten. Habe ich irgendwo einen Denkfehler?
Bin über jede Hilfe dankbar!
@ReblausGT Super Arbeit mit dem Adapter, vielen Dank für deine Arbeit!
@lesiflo Auch von mir herzlichen Dank für's zur Verfügung stellen der View!
Eine Frage habe ich noch zu dem Schalter Autom. Limit, wie genau steuert der bei dir?
-> AN = Laden/Entladen nach einem Algorithmus (bin mir noch nicht 100% sicher, wie ich das genau steuern möchte)
-> AUS = Speicher wird gemäß Einstellungen der Schieber für jede Stunde konfiguriert
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?