Probleme mit executeCommandLine in armbian

openHAB - open Home Automation Bus

Moderator: Co-Administratoren

Antworten
rbeudel
Beiträge: 276
Registriert: 29.06.2018, 17:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Essen
Hat sich bedankt: 27 Mal
Danksagung erhalten: 14 Mal

Probleme mit executeCommandLine in armbian

Beitrag von rbeudel » 12.02.2019, 15:01

Hallo,
ich habe mir aus verschiedenen Produkten eine USV und eine Lüftersteuerung für das Asus Board zusammengebaut.
Was ich nicht hinbekomme ein Shutdown nach Zeit bei Stromausfall. Das gleiche Szenario auf einem Raspi 3 funktioniert.
Ich habe folgende rule:

Code: Alles auswählen

rule "Lüfter einschalten"

when 
      Item FF_testKnopf changed to ON
then       
      FF_DualRelay1.sendCommand(ON)
end

rule "Lüfter ausschalten"

when 
      Item FF_testKnopf changed to OFF
then       
      FF_DualRelay1.sendCommand(OFF)
end

rule "Lüfter Automatik"

when 
	Item FF_Office_TemperaturPi changed
then
	if (FF_Office_TemperaturPi.state > 65) {
		FF_DualRelay1.sendCommand(ON)
	} 
	if (FF_Office_TemperaturPi.state < 41) {
		FF_DualRelay1.sendCommand(OFF)
	} 
end

rule "Pi herunterfahren bei Stromausfall"
	when
		Item FF_io16ina0 changed to CLOSED
	then
		executeCommandLine("sudo sh /etc/openhab2/scripts/rebootHomer.sh",5000)
		
				
end

rule "Tinkerboard ausschalten"

when
		Item FF_ShutdownKnopf changed to OPEN
	then

		executeCommandLine("sudo sh /etc/openhab2/scripts/rebootHomer.sh",5000)

end

rule "Tinkerboard ausschalten anhalten"

when
		Item FF_ShutdownKnopf changed to closed
	then

		executeCommandLine("sudo sh /etc/openhab2/scripts/stoprebootHomer.sh",5000)

end
das script ist:

Code: Alles auswählen

#!/bin/bash
# /usr/share/openhab2/runtime/bin/backup
sudo /sbin/shutdown -k +60 
Der Eigentümer des Script ist openhab und die Dateirechte 0777.
Meine sudoers Datei sieht so aus:

Code: Alles auswählen

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL
openhab ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

# User alias specification
User_Alias ABSCHALTER = ralf, openhab, pi

# Cmnd alias specification
Cmnd_Alias DOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot

# User privilege specification
ABSCHALTER ALL = NOPASSWD: DOWN
Wie gesagt, der raspi geht schön aus, das Tinkerboard macht nichts. Keine Fehlermeldung in den logs zu finden. Im Eventlog wird die Betätigung der Taste bzw des Relais angezeigt aber es passiert nichts.
Ich weis nicht weiter.
Viele Grüße,
Ralf
Viele Grüße,
Ralf


Debmatic und Openhab 4 in Proxmox 8 VM debian x86_64 auf Intel NUC mit influxdb und Grafana zur Visualisierung

hoedlmoser
Beiträge: 215
Registriert: 19.01.2015, 07:42
Hat sich bedankt: 22 Mal
Danksagung erhalten: 8 Mal

Re: Probleme mit executeCommandLine in armbian

Beitrag von hoedlmoser » 16.02.2019, 17:24

warum doppel sudo? bzw warum überhaupt ein script?
was sagen die logs in /var/log/?
funktioniert der aufruf wie in executeCommandLine auch als user ralf? wer von den usern ist in der gruppe sudo?
mach mal vor executeCommandLine ein wenig logging rein, damit Du wirklich sicher sein kannst dass die rule triggert, siehe https://www.openhab.org/docs/administra ... s-in-rules
RaspberryMatic 3.73.9.20231130 on Proxmox, HB-RF-ETH and Aurel Groundplane binded by openHAB 4.1.1

rbeudel
Beiträge: 276
Registriert: 29.06.2018, 17:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Essen
Hat sich bedankt: 27 Mal
Danksagung erhalten: 14 Mal

Re: Probleme mit executeCommandLine in armbian

Beitrag von rbeudel » 16.02.2019, 19:26

Hallo,
wie unschwer zu erkennen ist das alles ein Ergebnis von wochenlangen trial und error Versuchen bis es auf dem raspi geklappt hat. Als ich es dann auf das Produktive Tinker Board System übertragen habe, klappte nur der Lüfter Teil.
warum doppel sudo?
Wieso doppelt, wo?
bzw warum überhaupt ein script?
habe ich so in den Beispielen/Tutorials gefunden. Muß nicht sein wenn es anders geht.
was sagen die logs in /var/log/?
Nur das der Kontakt bzw der Button betätigt wurde.
funktioniert der aufruf wie in executeCommandLine auch als user ralf? wer von den usern ist in der gruppe sudo?
Nur mit sudo und Passwort.
wer von den usern ist in der gruppe sudo?
sudo:x:27:ralf,pi,openhab steht in der Liste
mach mal vor executeCommandLine ein wenig logging rein
mache ich morgen, habe ich auf die Schnelle nicht hinbekommen. Wenn ich so etwas

Code: Alles auswählen

logInfo("heating-control.rules", "Heating mode set to normal")
in eine rule einfüge, wird die ganze rule als leer gekennzeichnet und ignoriert. Man siehr meine openhab und linux Kenntnisse sind sehr begrenzt.
Vielen Dank erst einmal und viele Grüße,
Ralf
Viele Grüße,
Ralf


Debmatic und Openhab 4 in Proxmox 8 VM debian x86_64 auf Intel NUC mit influxdb und Grafana zur Visualisierung

rbeudel
Beiträge: 276
Registriert: 29.06.2018, 17:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Essen
Hat sich bedankt: 27 Mal
Danksagung erhalten: 14 Mal

Re: Probleme mit executeCommandLine in armbian

Beitrag von rbeudel » 17.02.2019, 15:06

Hallo,
jetzt habe ich noch einmal den shutdown Befehl direkt in die executeCommandLine geschrieben. Nachdem ich ein Restart von Openhab gemacht habe, bekam ich die Shutdown Vorwarnung in das Putty Fenster(Nachdem ich den Schalter betätigt habe)
Mit anderen Worten, es funktioniert :D . Beim Ausprobieren habe ich wohl zu wenig neu gestartet.
Viele Grüße,
Ralf
Viele Grüße,
Ralf


Debmatic und Openhab 4 in Proxmox 8 VM debian x86_64 auf Intel NUC mit influxdb und Grafana zur Visualisierung

Antworten

Zurück zu „openHAB“