PC ausschalten mit exec Binding geht nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
dolbel
Beiträge: 4
Registriert: 13. Dez 2018 17:34
Answers: 0

PC ausschalten mit exec Binding geht nicht

Beitrag von dolbel »

Hallo zusammen,

ich versuche hier verzweifelt meinen PC (Win 10) via openHAB 2 (Synology DS218play) zum Ausschalten zu bewegen aber leider tut sich hier nichts. Selbst im Log wird nichts aufgeführt, was darauf hinweisen könnte was nicht geht.

Exec Bindung, Exec und RegEx Trasformations sind installiert und meine items/things sehen so aus:

item:

Code: Alles auswählen

Switch PCAUS "PC aus" { channel="exec:command:micropcofft:run" }
thing: (IP, Benutzer und Passwort sind natürlich nur Platzhalter)

Code: Alles auswählen

Thing exec:command:micropcofft [command="net rpc shutdown -I 192.168.xxx.xx -U benutzer%%passwort -f", interval=0, autorun=false]

Falls mir jemand weiterhelfen oder mich in die richtige Richtung schubsen könnte wäre ich sehr Dankbar.

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von udo1toni »

Funktioniert der Befehl denn, wenn Du ihn auf der Kommandozeile der Synology eingibst? eventuell scheitert das Ganze an fehlenden Rechten.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
webguards
Beiträge: 56
Registriert: 5. Jun 2018 17:06
Answers: 0

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von webguards »

Ich habe deine Ausführung eins zu eins umgesetzt und bekomme folgende Fehlermeldung.

Code: Alles auswählen

An exception occurred while formatting the command line with the current time and input values : 'Conversion = 'u''
Meine Lösung wäre (kein Things)

Code: Alles auswählen

item:
Switch		WOL09	"Computer[%s]"		<network>	[ "Switchable" ]			{ wol="192.168.xxx.255#xx:xx:xx:xx:xx:xx" }

Code: Alles auswählen

rules:
rule	"Computer OFF"
when	Item WOL09 received command OFF
then 	executeCommandLine('net rpc shutdown -f -I 192.168.xxx.xxx -U user%pass -C Computer wird in 5 Minuten runtergefahren -t 300') 
end

rule	"Computer ON"
when	Item WOL09 received command ON
then 	executeCommandLine("net rpc abortshutdown -f -I 192.168.xxx.xxx -U user%pass")
end
Die erste Regel aktiviert den Ausschaltbefehl: PC in 5 Minuten runterfahren (-C Zeigt Text auf dem Bildschirm an).
Die zweite Regel bricht den Vorgang des runterfahren ab, falls ich es mir doch ander überlegt habe, wenn der PC aus ist greift der WOL des ITEMS
=== Das Kuriose an SMARTHOME, man wird nie fertig ;) ===

Thin Client HP als Multifunktionsserver (Docker) | 2x Echo Dot als SST und TTS | Fritzbox | FritzDect | KODI MediaCenter | Samsung TV und Samsung HTS | fireTV via adb | CasaControl mit 20 Aktoren via EXEC | Xiaomi Gateway mit mehrere Tür- und Temperatursensoren | Broadlink RM PRO | 80% regelbasiert Automatisiert

dolbel
Beiträge: 4
Registriert: 13. Dez 2018 17:34
Answers: 0

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von dolbel »

OK, jetzt kommen wir der Sache evtl. schon näher. Wenn ich den Befehl über putty eingebe...

Code: Alles auswählen

net rpc shutdown -I 192.168.xxx.xx -U benutzer%%passwort -f
... bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Could not connect to server 192.168.xxx.xx
The username or password was not correct.
Die von mir eingegebene IP, Benutzer und Passwort stimmen allerdings.
Auf der Synology habe ich dem Benutzer "openhab" bereits Adminrechte zugewiesen. Muss ich hier sonst wo noch Einstellungen vornehmen?

@webguards
Ich gehe mal davon aus, dass wenn der obere Befehl in putty schon nicht funktioniert, dein Lösungsansatz wahrscheinlich auch ins Leere läuft. Habe ihn deshalb noch nicht umgesetzt.

Aber vielen Dank schonmal für die Unterstüzung.

dolbel
Beiträge: 4
Registriert: 13. Dez 2018 17:34
Answers: 0

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von dolbel »

So, habe es jetzt hinbekommen, kann aber nicht sagen, was letztendlich geholfen hat. Ich habe folgende Schritte auf dem PC durchgeführt:
https://www.windowspro.de/tipp/uac-filt ... abschalten
https://www.howtogeek.com/109655/how-to ... ndows-pcs/

Danach funktionierte der Befehl mit putty, allerdings mit nur einem "%":

Code: Alles auswählen

net rpc shutdown -I 192.168.xxx.xx -U benutzer%passwort -f
Mein Weg über ein "Thing" hat leider immer noch nicht funktioniert, kein Plan warum. Aber Dank webguards Rule-Lösung klappt es jetzt.
Hier nochmal mein Item und Rule:

Code: Alles auswählen

Switch	WOL09	"Computer[%s]"	<network>	[ "Switchable" ]	{wol="192.168.xxx.xx#xx:xx:xx:xx:xx:xx"}

Code: Alles auswählen

rule	"Computer ON"
when	Item WOL09 received command ON
then 	executeCommandLine("net rpc shutdown -f -I 192.168.xxx.xx -U benutzer%passwort")
end
An dieser Stelle nochmal ein Dank an udo1toni und webguard für die richtigen Schubser.

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von udo1toni »

dolbel hat geschrieben: 14. Dez 2018 13:09Mein Weg über ein "Thing" hat leider immer noch nicht funktioniert, kein Plan warum.
Oben beim Thing hast Du username%%password verwendet, in der Rule dann username%password. Muss es nun ein oder zwei Prozentzeichen sein?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

dolbel
Beiträge: 4
Registriert: 13. Dez 2018 17:34
Answers: 0

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von dolbel »

Also in putty hat es nur mit einem Prozentzeichen funktioniert. Im Thing ging beides nicht, weshalb ich auf die Rule umgestiegen bin. Und hier ebenfalls nur mit einem %

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: PC ausschalten mit exec Binding geht nicht

Beitrag von udo1toni »

Eventuell musst Du den Pfad zu net mit angeben, oder ein /bin/bash vornstellen. Es kann auch sein, dass Du die Leerzeichen zwischen den einzelnen Parametern mit @@ ersetzen musst, dann sähe der Aufruf also so aus:

Code: Alles auswählen

Thing exec:command:micropcofft [command="/bin/bash net@@rpc@@shutdown@@-I@@192.168.xxx.xx@@-U@@benutzer%passwort@@-f", interval=0, autorun=false]
Ich hab auch noch nicht rausgefunden, wann die Leerzeichen ersetzt werden müssen und wann nicht.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten