Wer zur Miete wohnt oder nicht seine Wände aufreißen möchte, der wird wahrscheinlich nicht unbedingt Relais nutzen können, um seine Geräte per Smart Home Panel zu steuern. Stattdessen können Geräte aber auch über Steckdosen per 433 MHz Funk gesteuert werden. Dazu bietet der Raspberry Pi eine hervorragende Plattform, um die OpenHAB Funksteckdosen auszulesen und per Klick an- und auszuschalten.
In diesem Tutorial nehmen wir daher jene Funksteckdosen in unsere Hausautomatisierung hinzu. Im speziellen lesen wir die Steckdosen aus und erstellen die Weboberfläche zum Schalten der Steckdosen.
Zubehör
Damit wir die 433.92 MHz Funksteckdosen über das Raspberry Pi und OpenHAB 2 verwenden und per Weboberfläche bzw. Touchscreen schalten können, ist folgendes Zubehör nötig:
- Raspberry Pi
- Funksteckdosen (siehe Hinweis unten)
- 433 MHz RF Set (Sender & Empfänger)
- Jumper Kabel
- Breadboard
Hinweis: Achte darauf, dass die Funksteckdosen manuell einstellbar (einstellbarer Hauscode) sind und nicht Plug & Play sind. Ich rate dazu die verlinkten 433 MHz Funksteckdosen von Brennenstuhl zu nehmen, da es mit diesen definitiv funktioniert und das Tutorial auch damit erstellt wurde. Weitere funktionierende Modelle können gerne in den Kommentaren verlinkt werden.
Eine weitere Möglichkeit bieten das Brennenstuhl Brematic Home Automation Gateway GWY 433, welches speziell auf deren Funksteckdosen ausgerichtet ist und natürlich auch mit OpenHAB genutzt werden kann. Allerdings wird dieses Gerät in diesem Tutorial nicht benötigt, da wir uns für wenige Euro das ganze auch selber bauen können.
OpenHAB Funksteckdosen vorbereiten
Beginnen wir mit der Verkabelung des 433 MHz Senders und Empfängers. Der Empfänger ist nicht unbedingt dauerhaft nötigt, aber mindestens jedoch zum Auslesen der Codes. Beide Module (Transmitter/Sender und Receiver/Empfänger) brauchen 5V Spannung. Daher wird VCC des Moduls an 5V angeschlossen des Raspberry Pi’s (Pin 2) und GND an einen freien GND Pin (z.B: Pin 6) angeschlossen.
Darüber hinaus wird der ATAD (Daten) Pin des Senders (im Bild rechts) an GPIO 17 angeschlossen. Einen der mittleren beiden Pins des Empfängers schließen wir an GPIO 27 an. Die der schematische Aufbau:
Mehr ist vorläufig nicht nötig, um zunächst die Codes auszulesen. Solltest du andere GPIOs verwenden, musst du dies gleich entsprechend anpassen.
Die Steckdosen sind per Hauscode einstellbar. Dazu musst du die Hinterseite öffnen und einen Code einstellen. Dabei sind die ersten fünf Schalter der Code (Unten: Null, Oben: Eins) und danach die Auswahl von A-E. In diesem Bild ist es Code 00011 für Steckdose E:
Den gleichen Hauscode stellst du auch in der Fernbedienung ein:
Schließe die Steckdose an und teste sie auf Funktionalität.
Software für 433 MHz Funksteckdosen installieren
Wir nutzen rc-switch und die 433Utils von ninjablocks, um die Funkcodes auszulesen. Öffne dazu eine SSH Verbindung zu OpenHAB und klone das Verzeichnis (git muss installiert sein: sudo apt-get install git
):
cd /opt/ git clone --recursive git://github.com/ninjablocks/433Utils.git
Anschließend kompilieren wir die Dateien, wofür allerdings wiringpi notwendig ist:
sudo apt-get install wiringpi cd /opt/433Utils/RPi_utils/ make
Nun kümmern wir uns um das Auslesen der Codes. Falls du die Codes bereits aus einem früheren Tutorial kennst, brauchst du sie nicht erneut auszulesen. Falls du sie nicht kennst, ist es sehr einfach diese Auszulesen. Starte dazu im Verzeichnis die ausführbare RFSniffer Datei:
./RFSniffer
Drücke anschließend die Tasten der Funkfernbedienung, mit denen du die Steckdose an- bzw. ausschaltest. Die Codes werden nacheinander angezeigt. Es ist möglich, dass zwischen vielen Wiederholungen mal ein anderer Code angezeigt wird – dies ist aber oftmals einfach zu ignorieren. Drücke den Knopf am besten mehrere Sekunden und siehe welcher Code am häufigsten auftritt – dieser ist es mit hoher Wahrscheinlichkeit. Gleich wirst du es auch noch testen können.
Bei mir sind es diese Codes für meine zu schaltende 433 MHz Funksteckdose:
- An: 5506385
- Aus: 5506388
Nun senden wir die Codes als Überprüfung (passe deine Codes an):
./codesend 5506385
Die Steckdose sollte nun an- bzw. ausgeschaltet werden (je nachdem, welchen Code du gesendet hast).
Dieses Skript soll anschließend von OpenHAB aus aufgerufen werden, weshalb wir noch eine Bash Datei erstellen, in welcher die Codes gespeichert werden (inkl.
sudo nano /opt/433Utils/RPi_utils/run.sh
Die Datei bekommt den nachfolgenden Inhalt. Falls du mehrere Steckdosen schalten willst, kannst du das Skript entsprechend anpassen. Beachte auch, dass du deine entsprechenden Codes angibst:
#!/bin/sh if [ "$1" = "D" ]; then if [ "$2" = "off" ] || [ "$2" = "0" ] || [ "$2" = "OFF" ]; then /opt/433Utils/RPi_utils/codesend 5506388 else /opt/433Utils/RPi_utils/codesend 5506385 fi fi
Speichere mit STRG+O und kehre zurück ins Terminal mit Strg+X. Mit den nötigen Input Parametern (bspw: D OFF) kannst du das Skript auch bereits testen.
Für uns ist nachfolgend nur noch die codesend sowie unsere erstellte Bash Datei wichtig, daher geben wir diesen die nötigen Rechte:
sudo chmod +x /opt/433Utils/RPi_utils/codesend sudo chmod +x /opt/433Utils/RPi_utils/run.sh
Übrigens: Falls du andere GPIO Pins nutzt, so musst du die Dateien vor dem Kompilieren bearbeiten (die Pin Nummerierung kannst du hier entnehmen).
OpenHAB Vorbereitung
In OpenHAB 2 müssen wir nun noch Things und Items für jede Steckdose anlegen. Wenn du mehr als eine Steckdose nutzt, so sollte das Shell Skript natürlich ebenfalls angepasst sein. In diesem Beispiel erstellen wir die Dateien allerdings erst einmal nur für eine 433 MHz Funksteckdose in OpenHAB.
Wir erstellen also zunächst ein Thing:
sudo nano /etc/openhab2/things/poweroutlets.things
Folgender Inhalt kommt hinein:
Thing exec:command:poweroutletD-control [ command="/opt/433Utils/RPi_utils/run.sh D %2$s", interval=0, autorun=true ]
Nach dem Speichern erstellen wir ebenfalls noch ein Item in einer separaten Datei:
sudo nano /etc/openhab2/items/poweroutlets.items
Dieser Inhalt kommt hier hinein (Namen etc. können angepasst werden):
Group grp_poweroutlets "Funksteckdosen Gruppe" <poweroutlet> String poweroutletDSwitch "Funksteckdose D" <poweroutlet> (grp_poweroutlets) [ "Switchable" ] { channel="exec:command:poweroutletD-control:input", autoupdate="true" }
Als letztes erstellen wir nur noch die Sitemap. Natürlich kann ebenso eine existierende Sitemap einfach erweitert werden, falls dies gewünscht ist:
sudo nano /etc/openhab2/sitemaps/poweroutlets.sitemap
1 2 3 4 5 |
sitemap poweroutlets label="Funksteckdosen" { Frame label="Funksteckdosen Gruppe" { Switch item=poweroutletDSwitch //mappings=[ "ON"="ON", "OFF"="OFF" ] } } |
Das war es auch bereits. Nach speichern der Datei können wir zum nächsten Schritt gehen – dem Testen.
Testen der OpenHAB Funksteckdosen
Um das User Interface und die Funksteckdosen in OpenHAB 2 zu testen, rufen wir die gerade erstellte Sitemap über einen Browser (Desktop PC oder Smartphone) aus dem selben Netzwerk auf:
http://openhabianpi:8080/basicui/app?sitemap=poweroutlets
Hierbei sollte ein solches Bild erscheinen:
Durch betätigen des Schalters kannst du nun die Steckdose an- und ausschalten.
Damit ist es natürlich auch möglich seine 433 MHz Funksteckdosen über das Smartphone fernzusteuern. Gerade, wenn der Abstand der Steckdosen zum 433 MHz Sender größer ist, kann es sein, dass die Verbindung unterbrochen wird. In diesem Fall eignen sich ESP8266 Außenstationen, die ähnlich angesteuert werden.
Weiteres zur Benutzung von OpenHAB 2 und 433 MHz Funksteckdosen
Ein Problem, das wir bei der Benutzung haben, ist, dass beim Neustart des Raspberry Pi’s bzw. OpenHABs der Status der Steckdose verloren geht. Dies können wir allerdings durch Installieren des Perstistence Add-ons umgehen.
Ein weiterer Punkt ist, falls du die Steckdosen per Handsender schaltest, wird der Status in OpenHAB nicht automatisch geändert. Daher musst du in diesem Fall den RFSniffer im Hintergrund laufen lassen und bei erkanntem Signal den Status auch in OpenHAB 2 updaten. Dies geht zum Beispiel mit der REST API von OpenHAB 2.
Ach ja: Solltest du das ganze ohne Raspberry Pi und OpenHAB umsetzen wollen, ist dies auch möglich: Ein einfacher ESP8266 NodeMCU für wenige Euro ist ausreichend, um die Brennenstuhl Funksteckdosen zu schalten.
57 Kommentare
Ich bin dabei das Setup mit einem ESP8266 aufzubauen, der per MQTT mit OpenHAB auf dem RasPi kommuniziert.
Ich persistiere den Status und die Fernbedienung wird weggelassen ?
Aktuell versuche ich nun eine Zeitschaltuhr in OpenHAB nachzubilden. Aber so richtig gelingt mir das noch nicht. Ich habe es mir einer Regel versucht, doch irgendwie wird diese noch nicht ausgeführt.
Tutorials zu MQTT Steckdosen sowie der Kommunikation zum ESP8266 via MQTT kommen bald 🙂
Vielen Dank für die Anleitung aber auch für die weitergehend Tipps am Ende des Beitrags.
Frage: Wozu ist eigentlich Input Parameter „D“ gut? Welchen Sinn hat der?
Könnte ich den auch weg lassen.
„D“ ist in meinem Fall die Steckdose (A-D). Das war gedacht, falls du mit einem Skript mehrere Steckdosen steuern willst.
Hallo,
kannst Du demnächst vielleicht ein Beispiel posten, wie Du den Status in OpenHAB mit der „REST API“ und RFSniffer erfassen würdest? Das wäre klasse. Habe mir gerade die REST API Docu angeschaut und bin schwer ins Grübeln gekommen, wie das gehen soll.
Vielen Dank, Andreas
Ich habe länger mit RasPi und 433 MHz Funksteckdosen experimentiert. Ein Problem war in meinen Augen der fehlende Rückkanal: Man sieht nur, dass man einen Befehl gesendet hat, aber nicht, ob die Funksteckdose den auch ausführt.
Wenn ich das richtig verstehe, wird auch der RFSniffer nur den Sendeimpuls eines Fremdsenders aufschnappen und den Status entsprechend auf dem RasPi anpassen. Damit ist aber nicht gesagt, dass die Funksteckdose auch wirklich geschaltet hat. Oder sehe ich das falsch?
Ich bin schließlich auf teure AVM DECT Funksteckdosen umgestiegen, die ich mit dem RasPi schalte. Ein Zusatznutzen war dabei, dass man damit auch die Temperatur am Ort der Steckdose abfragen kann (ZB für Gewächshausheizung).
Das ist richtig. Daher wird das nächste Tutorial um Wlan Funksteckdosen gehen, bei denen man eine sichere Rückantwort bekommt. Ich wollte dennoch beide Möglichkeiten aufzeigen.
Inzwischen ist das Tutorial zu den Wifi Steckdosen da: Raspberry Pi + OpenHAB: Sonoff S20 Wifi Steckdose steuern
Super Anleitung
Bei mir hat es auf Anhieb geklappt. Habe aber noch ein kleiner Problem zwar ist die Kennung [„Switchable“] ja vorhanden aber Alexa erkennt die Steckdose nicht hat das was mit dem String zu tun ?
Vielen Dank, Tim
Tolle Anleitung und vielen Dank für die ausführliche Erklärung.
Befasse mich nun gerade wenige Tage mit der Thematik – das Schalten einer Steckdose habe ich – dank Deiner Anleitung auch hinbekommen.
Kannst Du mir bitte erklären, weche Schritte (Erweiteungen in den jeweiligen scripten) notwendig sind, um mehrere Dosen zu schalten?
Für die Unterstützung schon mal besten Dank…,
Christian
Naja im Grunde das ganze für mehrere Steckdosen wiederholen (inkl. verschiedener Code, für jede Dose ein Item, usw).
Hallo,
hört sich sehr interessant an. Leider scheitere ich gerade an eine sehr frühen Stelle…
Ich benutze die Steckdosen von Brennenstuhl. Die Steckdosen funktionieren mit der Fernbedienung.
Und ich habe den Aufbau mit Sender und Empfänger realisiert. Mit „codesend“ und „RFSniffer./RFSniffer“ funktioniert der Aufbau.
Ich kann die Codes der FB nicht empfangen 🙁
Da ich die Codes aus einem früheren Aufbau kenne, habe ich sie gesendet. Leider auch das ohne Erfolg.
Hallo und danke für die Anleitung.
Ich habe zwei 4er Sets Funksteckdosen verschiedener MArken (Elro und Intertechno) eingebunden und kann sie per openHAB nun steuern.
Sinn des ganzen war, sie dann mit Alexa steuern zu können.
Leider klappt das nicht.
Wie oben schon von Tim geschrieben, scheint der Grund die Definition als „String“ zu sein.
Die offizielle Dokumentation ist zwar recht kurz ausgefallen, aber in diversen Foren wird erwähnt, dass ein als „Switchable“ getaggtes Item auch ein Switch sein muss für Alexa.
Lässt sich das bei der hier Beschriebenen Lösung irgendwie anpassen?
PS: Da es hier gefragt wurde, hier mein Code zum Steuern mehrerer Steckdoesen:
Hallo Michael, würde auch gerne mehrere Steckdosen schalten, weiß aber nicht wie der Code aussehen muss. Wenn du dieses Skript benutzt, wie sieht dann deine entsprechende Thing- und Item-Datei für diesen Part aus? Danke und Gruß Stephan
Hallo,
das Tutorial hat mir wirklich weitergeholfen.
Nun möchte ich aber die Alexa-Sprachsteuerung benutzen, die soweit auch unter Openhabian (auf den Raspberry Pi) funktioniert.
Leider kann Alexa den .Item-Eintrag „String poweroutletDSwitch „Funksteckdose D“ ….“ nicht finden, während „Switch“-Einträge gefunden werden.
Danke im Vorraus
Nachdem ich Tage lang erfolglos nach einer Lösung für Alexa recherchiert habe (offenbar hat niemand sonst das Alexa-Einbindeproblem), kommte ich mir selbst etwas erbasteln. Ich habe mir die Rules Thematik angeschaut und kam auf die Idee, ‚Dummy‘-Switche an zu legen, die per Rule dann die eigentlichen String Items der Funksteckdosen triggern. Funktioniert super mit Alexa.
Ich poste hier meinen Code, reduziert auf 2 meiner 8 Funksteckdosen.
(Achtung, ich habe die Bezeichnungen dem Tutorial gegenüber geändert)
Inhalt der xxx.items Datei:
Inhalt der alexa.rules Datei:
Die eigentliche Schaltung des ‚echten‘ Items erfolgt durch sendCommand. Das postUpdate ändert den Zustand des Items, der würde andernfalls nämlich trotz Schaltvorgang nicht geändert werden.
Viel Erfolg damit.
Hi, dein Post hat eine 3 Tage andauernde Openhab Alexa Beziehungskrise gelöst, vielen Dank, er sollte direkt in das Tutorial eingearbeitet werden. Ich habe gefühlt 1000 Tutorials gelesen und probiert, aber erst dein Post hat zu dem gewünschten Ergebnis geführt.
Super, auf Anhieb hat fast alles geklappt…
Per rus.sh schalten geht.
danach habe ich item, thing und sitemap 1:1 erstellt.
Die Sitemap im Browser aufrufen geht, aber der Schalter hat keine Wirkung…
Gibt es sowas wie einen Debugmodus, oder wie kann ich den Fehler suchen?
Hi,
ich habe das gleiche Problem. Sehe den Schalter auch in der App auf dem Iphone. Der schaltet auch, was man im Log sehen kann. Aber irgendwie tut sich nichts. Wenn ich das Script in der Shell ausführe funktioniert es. Kann das an den Berechtigungen liegen? Die angegebene URL http://openhabianpi:8080/basicui/app?sitemap=poweroutlets funktioniert bei mir auch nicht. Fehler 404 not found. Komisch aber dass es die Handyapp tut.
Versuch es mal mit
sudo -u openhab
aus der Shell zu starten. Dass die Sitemap nicht geladen wird, deutet auf einen anderen Namen hin.Hi, sudo -u openhab funktoniert auch. Das mit der Sitemap habe ich nun auch hinbekommen. Die war einfach im Standardsetup nicht intstalliert. Leider habe ich immer noch das Problem, dass die Schalter ohne Funktion sind.
Habe das gleiche Problem (Schalter ohne Reaktion). Ich habe die Weboberfläche einfach über die IP aufgerufen und mich zum BasciUI durchgeklickt. Laut event.log tut sich auch was, aber die Steckdosen bleiben aus. Die run.sh alleine funktioniert.
So, hab jetzt den Fehler gefunden.
@Sodamann. Bei mir war nach der Installation das Exec Binding nicht installiert. Dies macht das Ausführen von Scripts auf Kommandozeilenebene erst möglich. Also in der PaperUI unter Bindings auf das + gehen und das Exec Binding installieren. Danach funktionieren auch die Schalter.
Hallo, habe das gleiche Problem. Hast du bereits eine Lösung gefunden?
Mit freundlichen Grüßen
Moin,
erst mal Danke für die Anleitung und generell für die coolen Projekte. Ich habe deine Anleitung befolgt und meine Steckdosen (aktuell zwei) laufen auch sowohl per ./codesend, als auch per Script Bsp. exec /../../run.sh D ON bzw. OFF (gleiche mit C). Jedoch gehen die beiden nicht über das Interface von openHAB zu schalten. Sowohl einzeln nicht, wenn ich deine Anleitung eins zu eins befolge, als zu zweit eben nicht.
Bin gerade etwas ratlos :/.
Viele Grüße
Dennis
Auch die Exec Binding deinstalliert und wieder installiert hat leider nichts geholfen :/
Wichtig sind die entsprechenden Rechte, sodass der openhab user diese ausführen kann.
Rechte sind genau wie in der Anleitung gesetzt, habe auch extra die gleichen GPio’s benutzt und die gleichen Namen.
Meine Wetterdaten werden leider ebenfalls nicht angezeigt. Werde zur Sicherheit morgen openHAB noch mal neu aufsetzen.
Hallo Leute, die Anleitung hat, nachdem ich auch das Binding „Exce“ installiert habe ohne Probleme funktioniert.
Ich wollte jetzt eine Regel eingeben, dass wenn ein Ereignis eintritt, die Funksteckdose schaltet.
Ich bekomme das doch zum Verrecken nicht hin 🙂
Habt Ihr das hinbekommen?
Die logische Regel:
rule „Steckdose-D“
when
Item vAlleAusserHaus changed from OFF to ON
then
sendCommand(poweroutletDSwitch, „ON“)
end
funktioniert nicht.
Kann ich nicht sagen, dass er einen „Codesend“ machen soll, wenn ein Ereignis eintritt?
Hat jemand dazu eine Vorlage, die er hier posten würde, damit ich das auf meine Umgebung anpassen kann?
Danke schon mal im Voraus
Markus
Hallo, ich habe das gleiche Problem.
Ich bekomme es nicht hin.
When Musiccast power on —–
then Funksteckdose ab an
also ich bin kein Programierer und habe nun echt keine Ideen mehr.
;-(
habit ihr ne Lösung gefunden?? bzw Parat
Hallo,
und erstmal ein großes lob an dieser Anleitung.
Hab aber jetzt mal doch eine fragen. und die wäre wie kann man weitere Funksteckdosen mit einbinden.
wäre super wenn wer ein script hat. wo man das dann ab lesen könnte.
Hallo, super Anleitung, bis jetzt hat alles geklappt so wie Ich das wollte. Ich hätte eine frage ob es Möglich ist mit Desktop Icons oder ein Python GUI auf dem Raspberry pi zu erstellen da Ich ein Raspberry Pi 3 mit Touchscreen verwende und Ich somit nurnoch gerne drauf drücken möchte. Würde da was gehen?
Moin,
wollte mich eigentlich nur bei allen bisherigen Kommentatoren für die weiteren Fragen und auch Antworten bedanken. Alle Fragen die ich zu Beginn und während dem Lesen hatte wurden vollständig beantwortet!
Hallo,
vielen dank erstmal für die Klasse Anleitung.
Ich habe alles hinbekommen und es funktioniert auch unter der Basic UI.
Leider kann ich es unter der Paper UI nicht schalten.
Bei Exces Binding (Befehl) Ausführung kann ich es nicht schalten ist ausgegraut der Eingabewert wird aber angezeit. Hat jemand eine Idee? wie ich es unter Paper UI zum laufen bekomme?
Vielen Dank.
Hallo,
ich wage mich nun mal an das Projekt OpenHAB. In der verganenheit habe ich das andere Projekt von dieser Seite schon ungesetzt 433MHz Funksteckdosen alles schick.
Nun aber hänge ich fest, auf einem alten PI model b habe ich ein frisches Strech installiert dannach das openhab installiert und nach der obrigen Anleitung die Steckdosen eingepflegt.
Aber auch ich habe das Problem die Steckdosen schalten nicht.
in der Konsole kommen und gehen die Signale einwandfrei klar selbe schaltung wie bei dem anderen Tut… in der OpenHAB Seite wird auch das umschalten sowie on/off angezeigt habe auch das fehlende exec nach installiert aber weiterhin passiert nichts.
habt ihr noch eine Idee für mich?
Lars
Da schließe ich mich an.
Geht bei mir auch nicht. Kann das an der aktuellen OpenHAB Version liegen.
Nicht das sich seit Erstellung des Tut da etwas verändert wurde.
Gruß Frank
Bei mir das gleiche Problem wie bei Peter, Lars und Frank. Die Dose schaltet einfach nicht. Vielleicht kann hier jemand weiterhelfen.
Gruß Konrad
Hallo, ich habe inzwischen das Problem gelöst. Fehler lag bei mir. Ich habe die Item-Datei unter falschen Namen gespeichert. Ich hatte gespeichert „poweroutlets.item“. Es muss „poweroutlets.items“ heissen. Also ne Kleinigkeit mit grosser Wirkung. Jetzt funktioniert alles. Man muss wirklich alles ganz genau eingeben🤓
Hallo zusammen,
wie schaffe ich es denn, wenn der Code in 32 bit gesendet werden muss?
24 bit Code funktioniert ohne Probleme, aber habe noch eine Steckdose, welche einen 32bit Code hat und diese kann ich stand jetzt mit diesem Script nicht schalten!
Vielen Dank.
Lieben Gruß, Martin.
Hallo,
ich kann zwar Codes empfangen, aber keine senden. Mein Set ist genau nach deinem Modell aufgebaut.
Danke und Grüße
Moin moin, ich bin der Anleitung soweit gefolgt und habe nun ein Problem.
Ich habe in altes Steckdosen Set, bei welchem ich ohne Probleme das Signal mit dem Sniffer einfangen kann.
Jedoch hab ich mir vor kurzem ein neues zugelegt, bei welchem ich mit dem Sniffer kein Signal erhalte.
Dieses hier:
https://www.amazon.de/gp/product/B00NQ6FJF6/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
Kann mir einer sagen, woran das liegen könnte?
MfG Tassi
die funktionieren bei mir auch nicht. Die Steckdosen müssen ein bestimmtes Chipset verbaut haben.
Hallo,
tolle Anleitung, habe sie Schritt für Schritt befolgt und hat wunderbar funktioniert.
Jetzt habe ich auf meinem RasPi Buster installiert und OH2.4 manuell dazu. Meine sitemap funktioniert wieder, allerdings kann ich die Funksteckdosen nicht mehr ansprechen.
Ich kann am RasPi in der Shell mit dem run.sh Skript die Steckdosen ein- und ausschalten (also Hard- und Software funktionieren) aber nicht von OH.
Exec Binding ist installiert, things sind definiert und online, log zeigt dass das entsprechende item den command erhalten hat. Wenn ich das Skript umbenenne (zb runxx.sh), kommt eine Fehlermeldung, dass OH das Skript nicht findet, also scheint das Ansprechen des Skript auch zu funktionieren.
Woran kann es liegen? Userrechte?
Vielen Dank
Sepp
Hallo in die Runde,
ist es nicht viel einfacher direkt über den RFSniffer die Url aufzurufen?
while(1) {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 2032312) {
printf(„Es geht n“);
192.168.178.72:8080/classicui/CMD?Hue_Lampe_Flur_oben_1=ON;
} else {
printf(„Ich glaube es geht hier mit“);
printf(„Received %in“, mySwitch.getReceivedValue() );
}
fflush(stdout);
mySwitch.resetAvailable();
}
usleep(200);
Allerdings kenne ich jetzt nicht den entsprechenden Befehl um die URL direkt aufzurufen. Wenn hier jemand einen Tipp hat wäre ich sehr dankbar.
Viele Grüße
Torsten
Hi an alle,
zunächst Danke für das Tutorial! Wirklich eine coole Anleitung!
Bei mir hat anfänglich das Schalten ebenfalls nicht funktioniert. Bei mir lag es daran, dass ich zunächst (1) das Exec Binding und (2) die RegEx Transformation hinzufügen musste.
Dann musste der user „openhab“ noch zur Gruppe gpio zugeordnet werden.
Test:
> sudo -u openhab /opt/433Utils/RPi_utils/run.sh D ON
lief in folgende Fehlermeldung:
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?
Danach den user der Gruppe gpio hinzufügen:
> sudo usermod -a -G gpio openhab
und openhab neustarten. Danach funktionierte es.
Vielen Dank ! Super Erklärung ! Hilft mir sehr beim Smart-Home basteln 🙂
Für alle bei denen das Schalten per OpenHab nicht funktioniert: Denkt dran beim aktuellen Release die whitelist anzupassen.
Super Tutorial.
Könnte jemand anhand dieses Tutorials eine whitelist Datei posten?
Ich kann per run.sh alles steuern aber über 8080/basicui/app?sitemap=poweroutlets funktioniert es nicht. In den OpenHab Logs sehe ich keinen Fehler, deswegen meine Vermutung mit der whitelist.
Gibt es eine Ausführliches Tutorial für die Alexa Integration?
Für die Alexa Integration ist das hier ein guter Start:
Eigenen Raspberry Pi Alexa Skill entwickeln und Pi fernsteuern
Habe schon pilight installiert und verwende andere GPiO’s , wo kann ich die GPIO’s anpassen?
Hallo Ihr lieben. Erstmal sVielen Dank für die Anleitung. Diese Anleitung hat mehr geholfen.
in den Jahren. Aber seid kurzen duch das Update von Openhabian kurz Openhab2 auf openhab2.5.9
läuft das ganze nicht mehr So wie es früher mal war. auch bei netz durch suchen, kam ich zu keine besondere erkenntmis.
Folgende Probleme sind auch geträten.
In der Console kann ich alles Steuern
> sudo -u openhab /opt/433Utils/RPi_utils/run.sh D ON
> sudo -u openhab /opt/433Utils/RPi_utils/run.sh D OFF
Die Funksteckdose geht An und Aus.
Aber in der BasicUI also in Openhab selber kann ich diese Funksteckdosen nicht ansteuern.
Hat da jemand eine idee, oder eine lösung.
Vielen lieben dank im Vorraus
Lg,Manu
Schau mal in den Log: sudo nano /var/log/openhab2/openhab.log.
Ich vermute, dass dein Befehl nicht in der Exec-Whitelist ist:
sudo nano /etc/openhab2/misc/exec.whitelist
Dort die Zeile aus dem Log einfügen.
Gruß, Michael
Hallo zusammen,
vielen Dank für die Anleitung. Leider habe ich das gleiche Problem wie viele andere scheinbar auch. Es funktioniert alles, nur das Schalten der Steckdose via sitemap nicht.
Was hat es mit dieser whitelist auf sich? Welche Zeile aus dem Log soll da wie eingepflegt werden?
Danke und Gruß
Benjamin
Die Anleitung ist klasse und (auch für mich als Anfänger bei openHab) gut verständlich, aber ich habe das Problem, dass sich von meinen drei Steckdosen nur eine über die Sitemap schalten lässt und ich kann mir nicht erklären, warum?
Zum Testen habe ich mit Steckdose B begonnen und die Schritt für Schritt, wie erklärt eingebunden. Das Ein-/Ausschalten funktioniert manuell über die Konsole und über die Sitemap wunderbar. Anschließend habe ich noch Steckdosen A und C hinzugefügt, die Skripte angepasst, aber die lassen sich nur über die Konsole per direktem Aufruf schalten und leider nicht über die Sitemap – hier werden sie nur angezeigt, aber reagieren nicht auf den Switch.
Kann sich das irgendjemand erklären und mich auf die richtige Spur bringen, da ich mit meinem (Beginner-)Latein am Ende bin.
LG, Christian
Nach halben Tag läufts bei mir nun auch endlich – am Ende hings an der Wellenlänge 232nm. – evt. hilfts wem:
RC-Steckdose: pollin-dip-schalter (vom Artikel)
RC Empfänger/Sender: 080408(?) / FS1000A (vom Artikel)
platform: RP zero W
Symptome: – senden/empfangen der eigenen signale tut, nur die pollin-dip-funkdosen schalten nicht, egal welcher Abstand.
– Fernbedienung-dezimalcode kann nur auf <2cm(!) ausgelesen werden; stimmen soweit mit dennen von "send" überein.
RCSniffer gibt Dezimalcode der Fernbedienung nur unter 2cm reichweite aus, anlöten von Kupferantenne brachte keinen Unterschied. Erst mit dem demo-tools von rc-switch konnte ich auch die Wellenlänge messen, die bei mir 232nm beträgt. Ab da liefs, sieht bei mir nun so aus:
./send 11111 1 1 232 – Dose A anschalten
./send 11111 1 0 232 – Dose A ausschalten
I know this is old, but – THANK YOU SO MUCH! your pulse lenght and „./send command brought the solution for me!
Coole Anleitung – wirklich super.
Bei mir ist der Raspberry leider im Keller und somit kann ich diese Lösung nicht einsetzen. Kennt jemand ein 433mHz Gateway den man via REST API steuern kann? Diesen könnte ich dann im Wohnzimmer an WLAN oder Ethernet anschliessen und via Netzwerk mit dem Raspberry verbinden.