habpanel mit virtuellem switch für Reboot und Shutdown

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von scotty »

Hallo Zusammen,

im englischen openhab forum habe ich diese Anleitung zur Erstellung eines openHABian-Neustart- bzw. Herunterfahrschalters gefunden:

https://community.openhab.org/t/beginne ... itch/71903

Nun möchte ich das allerdings nicht über eine Sitemap sondern über habpanel realisieren. Installiert ist bei mir OH 2.5.6-1 und außerdem verwende ich Visual Studio Code unter Linux. Nach meinem derzeitigem Kenntnisstand muss ein virtueller Switch erstellt werden. Allerdings weiß ich nicht genau, wie dann die Item-Datei bzw. eine Regel dazu formuliert wird. Kann mir jemand Hilfestellung geben?

Edit: Dieser Versuch funktionierte leider noch nicht:
syst.items

Code: Alles auswählen

Switch openHabRestart   "Openhab Restart" (System) {exec=">[ON:sudo /etc/init.d/openhab restart]" ,autoupdate="false"}
syst.rules

Code: Alles auswählen

rule "Führt ein OpenHab System Reboot durch"
 when
    	 Item openHabRestart changed
 then    	  
        if (openHabRestart.state == ON) {
             var text = "führe einen reboot von openHab durch ..."          
             logInfo("System", text)
			
        }
end
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

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

Re: habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von udo1toni »

Zunächst einmal möchte ich darauf hinweisen, dass openHAB eigentlich äußerst stabil läuft - gewöhnlich monatelang ohne Neustart, natürlich nur, solange man nichts an der Konfiguration ändert.

Du solltest also in der normalen UI keinen Schalter für den Neustart von openHAB benötigen.

Konkret schlägt exec hier fehl, weil Du das falsche Kommando nutzt.

Wenn Du „openHABian Neustart“ schreibst, meinst Du natürlich openHAB, nicht openHABian. Ich gehe aber deshalb davon aus, dass Du das openHABian Image zur Installation verwendet hast.

openHABian basiert auf dem Raspbian lite Image vom Juni oder Juli 2019, eben dem ersten, welches auch auf dem Raspberry 4 läuft.
Raspbian basiert auf einem Gemisch aus Ubuntu und Debian, wobei Ubuntu auf Debian basiert.
Debian läuft schon seit etlichen Jahren mit systemd als Startsystem, entsprechend mag es zwar im System eine Datei /etc/init.d/openhab geben, sie spielt aber keine Rolle. Stattdessen wird openHAB mittels

Code: Alles auswählen

sudo systemctl restart openhab2.service
neu gestartet.

Wie im Thread im englischen Forum erklärt, muss der konkrete Befehl per visudo in der sudoers Datei eingetragen werden, damit er ohne Passworteingabe per sudo ausgeführt werden kann.


Gesendet von iPad mit Tapatalk
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von scotty »

Vielen Dank, udo1toni. Ich habe mir schon gedacht, dass es sich um ein falsches Kommando handelt. Zumal ich den korrekten Befehl bereits verwendet habe. Jetzt sieht die syst.items so aus:

Code: Alles auswählen

Switch openHabRestart   "Openhab Restart" (System) {exec=">[ON:sudo systemctl restart openhab2.service]" ,autoupdate="false"}
Über eine Widget-Schaltfäche versuche ich nun den Restart einzuleiten. Das System reagiert allerdings nicht. Was mache ich falsch?
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

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

Re: habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von udo1toni »

Hast Du wirklich das exec1 Binding installiert? Die Konfiguration ist für das exec1 Binding. openHAB bietet default nur das exec2 Binding an. Das ist auch die bessere Wahl, auch wenn es komplizierter zu konfigurieren ist. Die notwendigen Schritte:
  1. Ein Thing anlegen
  2. Im Thing das gewünschte Kommando eintragen
  3. das identische Kommando in die exec.whitelist eintragen (wird bei der Installation des Bindings automatisch unterhalb /etc/openhab2/misc/ angelegt)
  4. mindestens ein Item für den run channel anlegen
Du kannst das Thing über Textkonfiguration anlegen oder über Paper UI, das bleibt sich gleich.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von scotty »

udo1toni hat geschrieben: 18. Jul 2020 22:13 Hast Du wirklich das exec1 Binding installiert?
Nein, ich habe in der Version 2.5.6 nur ein exec-Binding zur Auswahl. OK, ich fang noch einmal von vorne an.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: habpanel mit virtuellem switch für Reboot und Shutdown

Beitrag von scotty »

Mit dem Anlegen eines Things habe ich mich ein wenig schwer getan. Deshalb habe ich das ganze jetzt (nachgebaut) so gelöst:

Item:

Code: Alles auswählen

String Flag_System "System" <switch>
rules:

Code: Alles auswählen

rule "Reboot openHAB"
when
    Item Flag_System received command "Reboot"
then
   	logInfo("Flag_System", "Rebooting openHAB")
    executeCommandLine("sudo@@reboot", 60000)
end
bzw.

Code: Alles auswählen

rule "Shut down openHAB"
when
    Item Flag_System received command "PowerOff"
then
	logInfo("Flag_System", "Shutting down openHAB")
    executeCommandLine("sudo@@poweroff")
end
Dazu zwei Widgets "Reboot" bzw. "PowerOFF" und das ganze läuft.

Ein Dankeschön noch einmal an udo1toni, der mich immer wieder auf den richtigen Weg bringt!
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Antworten