NEWS
Hostsystem (Ubuntu) soll in iobroker Variable schreiben
-
Hallo
ich hab schon etwas gesucht aber ich befürchte mir fallen nicht die korrekten Begrifflichkeiten ein.
Ich Versuche gerade es irgendwie hinzubekommen, ein Shellscript auf dem Hostsystem auszuführen auf diesem läuft auch der iobroker.
Ein teil dieses Scripts sollte sein einen Druckernamen einzulesen<<< (das funktioniert schon)
und diesen Namen dann in ein Objekt im ioBroker zu schreiben <<< (das bekomm ich einfach nicht auf die Kette)ich möchte dann im iobroker den Namen auslesen und eine Steckdose schalten.
Somit muss das Objekt auch als Trigger herhalten.Habt ihr evlt. eine lösung wie ich das hin bekomme?
Danke schon mal
Gruß Andi -
Variante 1: Dein Skript setzt einen Datenpunkt per Simple-API (wäre ein z.B. curl-Aufruf)
Variante 2: Du rufst dieses Skript aus ioBroker heraus auf, im JavaScript Adapter mussexec
erlaubt sein. Du erhältst die Rückgabewerte deines Skriptes (was dein Skript z.B. per Echo ausgibt) -
@fleck-a87 sagte: wie ich das hin bekomme?
HTTP-Request an die Simple-API von ioBroker senden.
Ich weiß allerdings nicht, wie man das in einem Shellscript macht (curl?). -
@paul53 da ja alle Informationen in der URL stehen sollte ein
curl http://ip:8087/set/hm-rpc.0.IEQ12345.LEVEL?value=1
reichen. Als Antwort kommt dann der JSON gemäß https://github.com/ioBroker/ioBroker.simple-api#set-1 -
@bananajoe
Danke.
Um nicht einen zusätzlichen Adapter installieren zu müssen, kann man auch die im Web-Adapter eingebaute Simple-API (Port 8082) verwenden. Sie muss in der Instanz-Konfiguration freigegeben sein.curl http://127.0.0.1:8082/set/0_userdata.0.drucker.name?value=$drucker
-
@paul53 sagte in Hostsystem (Ubuntu) soll in iobroker Variable schreiben:
@fleck-a87 sagte: wie ich das hin bekomme?
HTTP-Request an die Simple-API von ioBroker senden.
Ich weiß allerdings nicht, wie man das in einem Shellscript macht (curl?).@bananajoe sagte in Hostsystem (Ubuntu) soll in iobroker Variable schreiben:
@paul53 da ja alle Informationen in der URL stehen sollte ein
curl http://ip:8087/set/hm-rpc.0.IEQ12345.LEVEL?value=1
reichen. Als Antwort kommt dann der JSON gemäß https://github.com/ioBroker/ioBroker.simple-api#set-1Ihr seit Hammer. Danke für die schnelle Antwort.
ich hab nun das Objekt
0_userdata.0.printer_notifyangelegt.
Wenn ich aber aktuell auf dem Server den Befehl
root@MAIN-SERVER:/scripte# curl https://127.0.0.1:8082/set/0_userdata.0.printer_notify?value=$drucker
curl: (7) Failed to connect to 127.0.0.1 port 8082 after 0 ms: Verbindungsaufbau abgelehntbei http kommt das ebenfalls.
@paul53 wo muss das denn im iobroker aktiviert werden?
kann man den Port auch anpassen? das problem ist das bei mir auf 8082 die VIS läuft
gruß Andi
-
@fleck-a87 sagte: wo muss das denn im iobroker aktiviert werden?
@fleck-a87 sagte in Hostsystem (Ubuntu) soll in iobroker Variable schreiben:
problem ist das bei mir auf 8082 die VIS läuft
Genau das ist der Web-Adapter, den auch die VIS nutzt. Deshalb benötigt man keine zusätzliche Instanz.
-
kaum macht mans richtig funktionierts ;-).
Danke euch. Dann werd ich da mal weiter rum basteln bist das geht was ich vor hab.
gruß Andi