Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von gem »

Hallo zusammen:)

ich versuche jetzt schon seit einigen Wochen meine Funksteckdosen mit OH3 zu verbinden und es klappt leider nicht. Habe mir auch schon alle Beiträge dazu hier im Forum und auch auf anderen Seiten angeschaut und versucht alles umzusetzen, aber komme leider nicht weiter. Vielleicht kann mir ja hier jemand helfen.
Ich habe auf dem Pi folgende Datein erstellt:
Thing:

Code: Alles auswählen

Thing exec:command:poweroutletD-control  "Steckdose D" [ command="/opt/raspberry-remote/steckdoseD.sh D %2$s", interval=0, autorun=true 
Mein Skript sieht wie folgt aus

Code: Alles auswählen

#!/bin/sh

if [ "$2" = "off" ] || [ "$2" = "0" ] || [ "$2" = "OFF" ]; then
        /opt/raspberry-remote/send 11011 4 1
        else 
        /opt/raspberry-remote/send 11011 4 0
    
fi
Item:

Code: Alles auswählen

 Switch SteckdoseD "Exec" (exec) { exec=">[ON:sudo /opt/raspberry-remote/send 11011 4 1] >[OFF:sudo /opt/raspberry-remote/send 11011 4 0] "}

Rules:

Code: Alles auswählen

rule "Steckdose D schalten"
	when
		Item SteckdoseD received command ON
	then
		executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 1")
       			
       			
    when Item SteckdoseD received command OFF
	then
		executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 0")
       			
end 
Hatte hier die ON und OFF Befehle auch schon ohne sudo, ging aber auch nicht.

Und zuletzt meine Whitelist:

Code: Alles auswählen

sudo %2$s
sudo /opt/raspberry-remote/steckdoseD.sh@D@%2$s
sudo /opt/raspberry-remote/send 11011 4 1
executeCommandLine("sudo","/opt/raspberry-remote/steckdoseD.sh")
/opt/raspberry-remote/steckdoseD.sh@D@%2$s
sudo /opt/rasperry-remote/steckdoseD.sh D %$2s
/opt/raspberry-remote/steckdoseD.sh D %2$s
Wie man in meiner Whitelist sehen kann, habe ich verschiedene Befehle schon ausprobiert. Also meine Items sahen zum Beispiel auch mal so aus:

Code: Alles auswählen

Switch SteckdoseD_run   {exec="> [OFF:sudo /opt/raspberry-remote/send 11011 4 0]> [ON:sudo /opt/raspberry-remote/send 11011 4 1]", channel="exec:command:SteckdoseD:run"}
String SteckdoseD_Args  {channel="exec:command:SteckdoseD:input"}
String SteckdoseD_Out   {channel="exec:command:SteckdoseD:output"}
Und meine Rules sah auch mal so aus:

Code: Alles auswählen

rule "Steckdose D schalten"
	when
		Item SteckdoseD received command
	then
	
	executeCommandLine("/opt/raspberry-remote/steckdoseD.sh")
	/*	if( receivedCommand == ON ){
			SteckdoseD_Args.sendCommand( "on" )
		} else {
			SteckdoseD_Args.sendCommand( "off" )
		}
		//wait
		while( SteckdoseD.state !=OFF ) {
			Thread::sleep( 500)
		} */
end
Ach und meine Sitemap sieht so aus:

Code: Alles auswählen

 sitemap home label="Home" {
  	Frame label="Steckdosen" icon="poweroutlet" {
         	
         Default item=Livingroom_Power	label="Wohnzimmer"
         Switch item=SteckdoseD label="Wohnzimmer"
         
    }

}
Auf der BasicIU kann ich die Steckdose schalten und kann in meinen logs diesen Vorgang auch sehen, jedoch tut sich nichts an der Steckdose. Wenn ich in der Kommandozeil auf dem Pi sudo /opt/raspberry-remote/send 11011 4 1 oder 11011 4 0 eingebe wird die Steckdose geschaltet. Wenn ich aber sudo /opt/raspberry-remote/steckdose.sh eingebe, dann geht die Steckdose aus, falls es an war aber nicht mehr an wenn es aus war.

Ich habe auch schon versucht sudo -u openhab /opt/433Utils/RPi_utils/raspberry-remote/steckdoseD.sh auszuführen, jedoch bekomme ich nur folgendes angezeigt:using pin 0
wiringPiSetup: Unable to open /dev/mem or /dev/gpiomem: Permission denied.
Aborting your program because if it can not access the GPIO
hardware then it most certianly won't work
Try running with sudo?

Also nochmal zusammenfassend, mit dem Command openhab-cli showlogs kann ich sehen, das meine Steckdosen geschaltet wurden, aber an der Steckdose tut sich nichts. Und anscheinend stimmt auch was mit meinem Skritpt nicht.
Wäre echt dankbar wenn mir jemand helfen könnte, brauch das nämlich für ein Projekt.

Vielen Dank im Voraus!

oh73
Beiträge: 302
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von oh73 »

bei openhab 3 muss jedes Leerzeichen im Befehl mi "," ersetzt werde.

sieht dann so aus

Code: Alles auswählen

rule "Steckdose D schalten"
	when
		Item SteckdoseD received command ON
	then
		//executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 1")
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","1")
       			
    when Item SteckdoseD received command OFF
	then
		//executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 0")
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","0")	
end 
außerdem muss für den sudo Befehl openhab in der sudoers Datei eingetragen sein!
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von gem »

oh73 hat geschrieben: 11. Jan 2023 17:48 bei openhab 3 muss jedes Leerzeichen im Befehl mi "," ersetzt werde.

sieht dann so aus

Code: Alles auswählen

rule "Steckdose D schalten"
	when
		Item SteckdoseD received command ON
	then
		//executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 1")
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","1")
       			
    when Item SteckdoseD received command OFF
	then
		//executeCommandLine("sudo","/opt/raspberry-remote/send 11011 4 0")
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","0")	
end 
außerdem muss für den sudo Befehl openhab in der sudoers Datei eingetragen sein!
Vielen lieben Dank! Es hat endlich geklappt! Nur habe ich den Code bisschen umschreiben müssen, da mir in den logs immer ein Fehler angezeigt wurde.

Code: Alles auswählen

rule "Steckdose D schalten"
	when
		Item SteckdoseD received command 
	then
		if( receivedCommand == ON )
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","1")
       			
        if( receivedCommand == OFF)
		
       	executeCommandLine(Duration.ofSeconds(500),"sudo","/opt/raspberry-remote/send","11011","4","0")	
end 

oh73
Beiträge: 302
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von oh73 »

ja, sicher, da war 2 mal when in der Rule das geht nicht!
hatte ich gar nicht bemerkt.
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von gem »

Habe mit sudo adduser openhab sudo openhab zu der sudo Gruppe hinzugefügt und einige male die Steckdose an und ausgeschaltet. Jedoch gehts paar mal an und aus mit etwas Wartezeit, aber nach 3-4 versuchen geht nichts mehr, bis ich kurz mit der Fernbedienung die Steckdose schalte. Woran könnte das liegen?

oh73
Beiträge: 302
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von oh73 »

denke das liegt eher am Raspberry und dem Programm darauf.

ist schon etwas länger her, wo ich meine Funksteckdosen mit dem Raspberry geschaltet habe.
heute mach ich das mit einem externen AIO Gateway von Mediola.
weis aber noch bei mir hat das auf dem Raspberry nur mit dem Programm pilihgt einigermaßen funktioniert.
kam aber auch öfters zu Probleme, zum Teil hab ich auch den Schaltbefehl 2 mal hintereinander gesendet.
manchmal hat der Raspberry aber einfach nur Zeit gebraucht um den Befehl aus zu führen!

dann kommt noch hinzu, die 433 Mhz Funksteckdosen schalten einfach nicht zuverlässig.

deshalb rüste ich nach und nach auf Zigbee um, ist um vieles zuverlässiger! und der Vorteil man hat immer den aktuellen Status.

Edit:
du könntest mal den Befehl executeCommandLine(Duration.ofSeconds(500) etwas abändern,
ein var result = executeCommandLine(Duration.ofSeconds(500)
davor und dann mit LogInfo die Variable result anzeigen lassen, eventuelle Fehlermeldungen??
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux

gem
Beiträge: 11
Registriert: 11. Jan 2023 16:34
Answers: 0

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von gem »

Ja ich glaube auch dass es eher am Pi liegt. Habe mehrmals versucht die Steckdose zu schalten und irgendwann hat es einwandfrei geklappt und hing gar nicht mehr. Ich hoffe es bleibt auch so. Nochmals vielen lieben Dank!

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Beitrag von madmike »

Hallo zusammen,
ich benutze seit Jahren eine Sonoff 433MHz Bridge die ich mit Tasmota geflasht habe das läuft super seit Jahren keine Problem. Daher kann ich diese Lösung wärmstens empfehlen, gerade weil auch das Anlernen der Steckdosen sehr einfach ist (Tasmota Konsole) zeigt alles an.

viewtopic.php?t=777

mfg
Madmike

Antworten