Seite 1 von 1

Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 17:26
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!

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 17:48
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!

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 18:27
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 

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 18:42
von oh73
ja, sicher, da war 2 mal when in der Rule das geht nicht!
hatte ich gar nicht bemerkt.

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 19:18
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?

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 20:07
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??

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 11. Jan 2023 23:37
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!

Re: Funksteckdosen 433MHz mit OpenHab schalten geht nicht

Verfasst: 15. Jan 2023 23:01
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