NEWS
Wert über cmd-File setzen
-
-
Hallo, wie kann ich in Windows über ein CMD-File einen wert in iobroker setzen?
Den Restful-Api-Adapter habe ich installiert. Vom Smartphone aus über Tasker funktioniert dies auch.
Allerdings bräuchte ich nun eine Lösung für windows 10.
Danke.@manfredh-1 du müsstest es über einen Web-Aufruf machen. Ein API Aufruf in diesem Fall ist nichts anderes als eine URL aka http://123.123.123.123:456/API/Bla/blub?27
Da gibt es so keinen CMD-Befehl dafür. Du könntestcurlfür Windows installieren, das habe ich für so etwas schon öfters genommen.
Oder per PowerShell (was du aus einer CMD aufrufen kannst).Da ich sowieso und gerne MQTT nutze, habe ich den MQTT Client/Sender für Windows installiert und nutze diesen.
Also, viele Wege führen nach Rom, welcher darf es sein?
-
@manfredh-1 du müsstest es über einen Web-Aufruf machen. Ein API Aufruf in diesem Fall ist nichts anderes als eine URL aka http://123.123.123.123:456/API/Bla/blub?27
Da gibt es so keinen CMD-Befehl dafür. Du könntestcurlfür Windows installieren, das habe ich für so etwas schon öfters genommen.
Oder per PowerShell (was du aus einer CMD aufrufen kannst).Da ich sowieso und gerne MQTT nutze, habe ich den MQTT Client/Sender für Windows installiert und nutze diesen.
Also, viele Wege führen nach Rom, welcher darf es sein?
@bananajoe
ok danke. Werde es vermutlich über PowerShell machen.
Ich hoffe nur, dass ich vom DVBviewer aus eine Aufgabe als PowerShell-Script starten kann. Bisher habe ich nur cmd- oder bat-Files verwendet.
Es soll nämlich, bevor eine Aufnahme im DVBviewer startet die Steckdose des Sat-Verteilers und die externe Festplatte eingeschaltet werden, sowie ein paar weitere Datenpunkte in iobroker gesetzt werden. -
@bananajoe
ok danke. Werde es vermutlich über PowerShell machen.
Ich hoffe nur, dass ich vom DVBviewer aus eine Aufgabe als PowerShell-Script starten kann. Bisher habe ich nur cmd- oder bat-Files verwendet.
Es soll nämlich, bevor eine Aufnahme im DVBviewer startet die Steckdose des Sat-Verteilers und die externe Festplatte eingeschaltet werden, sowie ein paar weitere Datenpunkte in iobroker gesetzt werden.@manfredh-1 also beruflich hat es sich in der Vergangenheit bewährt, die PowerShell-Skripte über eine
.cmdoder.batzu starten.powershell.exe -NoProfile -ExecutionPolicy Bypass -file "C:\Program Files\Zabbix\UserParameter\printerstatus.ps1" parameter1 parameter2Beim versuch das direkt zu machen ... nun die Hürden sind hoch weil man wie im Beispiel oben die ausgeführte Shell nicht beeinflussen kann
-
@manfredh-1 also beruflich hat es sich in der Vergangenheit bewährt, die PowerShell-Skripte über eine
.cmdoder.batzu starten.powershell.exe -NoProfile -ExecutionPolicy Bypass -file "C:\Program Files\Zabbix\UserParameter\printerstatus.ps1" parameter1 parameter2Beim versuch das direkt zu machen ... nun die Hürden sind hoch weil man wie im Beispiel oben die ausgeführte Shell nicht beeinflussen kann
@bananajoe said in Wert über cmd-File setzen:
also beruflich hat es sich in der Vergangenheit bewährt, die PowerShell-Skripte über eine .cmd oder .bat zu starten.
Super vielen Dank. Das funktioniert perfekt.
-
@manfredh-1 also beruflich hat es sich in der Vergangenheit bewährt, die PowerShell-Skripte über eine
.cmdoder.batzu starten.powershell.exe -NoProfile -ExecutionPolicy Bypass -file "C:\Program Files\Zabbix\UserParameter\printerstatus.ps1" parameter1 parameter2Beim versuch das direkt zu machen ... nun die Hürden sind hoch weil man wie im Beispiel oben die ausgeführte Shell nicht beeinflussen kann
@bananajoe
Eine Frage habe ich noch:
Kann man über ein PowerShell-Script einen Wert aus einem Datenpunkt auslesen, etwas zu diesem Wert addieren und dann den Wert wieder zurück in ioBroker schreiben ? -
@bananajoe
Eine Frage habe ich noch:
Kann man über ein PowerShell-Script einen Wert aus einem Datenpunkt auslesen, etwas zu diesem Wert addieren und dann den Wert wieder zurück in ioBroker schreiben ?@manfredh-1 Klar.
Wie in der Anleitung der API beschrieben: https://github.com/ioBroker/ioBroker.rest-api/blob/master/README.md hats du ja sowohl
getals auchputBefehle.
Du musst dir ja nur den Rückgabewert extrahieren, kommt halt ein JSON zurück soweit ich das sehe.
Wenn ich bei mir die URLhttp://192.168.1.8:8093/v1/state/0_userdata.0.Verbrauch.BueroKeller.0000_bis_0100aufrufe kommt
{"val":0.2130000000001928,"ack":false,"ts":1658617200112,"q":0,"c":"script.js.001_Routinen.Stromverbrauch.Verbrauchserfassung","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1658617200112}und laut JSONPathfinder ist dann
x.valder Wert (xist dein JSON Objekt)Du kannst ja mal dein PowerShell-Konstrukt posten, das habe ich jetzt nicht extra ergoogelt.
Ich sehe gerade, cool, man sieht sogar von woher der Wert zuletzt geändert wurde (In diesem Fall mein Skript)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden