Update: 11.05.2018 Beachtet meinen Blog-Beitrag über den SignalDuino mit WLAN (ESP8266)
Update: 11.02.2018 Bitte beachtet auch folgenden Blogbeitrag über die Sonoff 433 MHz Bridge, eine einfache Möglichkeit Steckdosen zu schalten.
Es ist mal wieder soweit. Ein neues Gadget habe ich mir gekauft. Meinen siebten Raspberry Pi. Ich hatte vor einiger Zeit schon drüber gebloggt (-> Blog-Beitrag hier).
Nun steht man bei solchen Anschaffungen immer vor der gleichen Frage: Fhem neu installieren oder einfach „rüberkopieren“. Ich hatte mich dazu entschlossen, Fhem neu zu installieren. Schwierigkeiten machen eigentlich immer nur die „Sonderfälle“, bspw. wie jetzt hier beschrieben, die Sender für die Baumarkt-Steckdosen zu installieren.
Zunächst zur Hardware: Hier benötigt man einen 433 MHz-Sender, den es bei amazon super günstig gibt (z.B. Aukru 433 MHz Funk- Sende und Empfänger Modul Superregeneration Wireless Transmitter-Modul Einbrecher Alarm 433M receiver module Burglar Alarm für Arduino Raspberry pi
) und passende Kabel: 40x 20cm female-female jumper wire cable Kabel Steckbrücken Drahtbrücken Arduino
. Der Empfänger ist für die Tonne :-).
Die 3 Anschlüsse: 5V GND und D führen in den Rasperry Pi 3 rein. Hier wird der zweite Pin (rot) für 5 V, der sechste Pin (braun) für 0 V und der Data-Transmit-Pin mit dem elften Pin vom Raspberry Pi B 3 verbunden. Man zählt von links nach rechts dann immer weiter runter. An dem Pin Ant wird ein 17 cm langes Kabel, welches als Antenne dient, angeschlossen.
[asa]B00KM83Q1U[/asa]
Komplizierter wird es mit der Software:
Hier kann ich zunächst auf diese Website verweisen, welche die Grundinstallation von WiringPi und RCSwitch-Pi vornimmt. (-> da lang).
Wenn ihr soweit seid, könnt ihr schon mal auf der Konsole mit
sudo ./send 11111 2 0
ein „Hallo“ zur Steckdose sagen, bzw. sie schalten.
Doch halt! Woher die 11111 und 2?
Auf euren Steckdosen – ich hoffe ihr habt die richtigen mit DIP-Schalter gekauft – habt ihr ein Mäuseklavier. Diese sind gekennzeichnet mit 5 Schaltern mit den Schaltmöglichkeiten 0 und 1 und 4 Schalter mit den Code A-D.
Um keinen Ärger mit den Nachbarn zu bekommen, der zufälligerweise im gleichen Baumarkt oder amazon (-> mumbi Funksteckdosen Set: 3 x Funksteckdose und 1x Fernbedienung – Plug & Play – 1000 Watt
) die Steckdosen gekauft hat mit den Schalten davon ins Gehege kommt, könnt ihr euch einen Code (von den ersten 5 Schaltern) ausdenken, das ist der sogenannte Haus-Code. Der zweite Bereich Eurer Steckdose ist der Unit-Code, als das Teil was ihr gerade in der Hand habt. Sie kann zwischen A und D variieren. Also nehmen wir Eure Steckdose, schaltet mal den Hauscode auf 5 x die 1 (on) und nehmen wir mal an, das ist von Eurem gekauftem Set die zweite Steckdose. Also, DIP-Schalter auf B = 0 setzen. Das steht aber wahrscheinlich auch alles in Eurer Bedienungsanleidung. So geht ihr durch all Euren Steckdosen hin.
Vorteil: Obwohl ihr nur ein dreier oder vierer-Set gekauft habt, könnt ihr durch umstellung der ersten 5 Schaltungsmöglichkeiten = 32 -1 Möglichkeiten * 4 switchen. Reicht erst mal 🙂
Und mit dem Code von oben und mit Fhem habt ihr die Möglichkeit, alles komfortabel zu steuern.
Weiter mit der Installation:
Jetzt solltet ihr Fhem die Rechte geben, auch das Command send zu benutzen:
sudo chown root ./send
sudo chmod 4711 ./send
Also dann die Datei send diese obigen Rechte geben.
Jetzt habe ich diese Datei in dem Ordner /usr/local/bin und /usr/bin kopiert. Fragt mich nicht wieso, aber es klappt zumindest bei mir.
Jetzt kommt Fhem ins Spiel:
Hier habe ich das Modul Genshellswitch genommen aus diesem Thread (-> fhem-forum)
Also die Zip-Datei auspacken und ab ins fhem/FHEM verzeichnis damit.
Nun könnt ihr in Fhem alle Euch zur Verfügung stehenden Steckdosen einhacken.
define Laterne_LED GenShellSwitch send 11111 2 1 0
attr Laterne_LED alias Aussenbeleuchtung LED
attr Laterne_LED eventMap 1
attr Laterne_LED group Balkon
attr Laterne_LED room Licht
Im Grunde seid ihr jetzt fertig, wenn ihr den obigen Coden eingegeben habt, seht ihr im Raum „Licht“ hier den Eintrag Aussenbeleuchtung LED.
Mit dieser Funktionalität seid ihr jetzt in Fhem komplett offen.
Also könnt ihr bspw. die Laterne bei Sonnenuntergang ein- und bei Sonnenaufgang ausschalten.
Das sieht dann ungefähr so aus
define at_AbendStundAN at *{sunset("REAL",-2400,"16:00","21:00")} set Laterne_LED on
attr at_AbendStundAN room timer
Oder ihr könnt die LED-Laterne in Verbindung mit einem 433 MHz PIR Bewegungsmelder benutzen:
define AliRF4_an notify AliRF4:motion.* {\
Log 2, "Bewegungsmelder 4 ALARM";;\
if($DEVICE eq "T" && $READING eq "lights" && $VALUE < 14) { fhem("set Laterne_LED on-for-timer 60");;}\
fhem("set Pushover1 msg 'Fhem: Alarm ' 'PIR-Sensor 4' '' 0 '' ");;\
}
Ihr seht, den Anwendungsmöglichkeiten sind keine Grenzen gesetzt.
Ihr könnt auch mit einem 433 MHz Receiver von Eurer Baumarkt-Fernbedienung nicht die Steckdose einschalten, sondern sie so einstellen, das sie über Fhem geht.
Also: Drück auf Taste 1 der FB -> Signal geht an einem 433 MHz Receiver -> der wertet es aus -> und schaltet ggf. die Steckdose ein.
Warum so kompliziert? Nun, ihr könntet mit der FB auch einen Philips Hue (-> Blogbeitrag) und / oder ein WLAN-LED-Licht (-> siehe Blogbeitrag) usw. einschalten.
Wie gesagt, Möglichkeiten ohne Ende.
Und wie immer: Bei Fragen, fragen
Das könnte Euch auch interessieren:
- SignalDuino – WLAN 433 MHz übertragung (Blogbeitrag)
- Baumarkt-Steckdosen schalten am Arduino
- WLAN-Controller für RGB-WW Stripes (XCSource) – ein Erfahrungsbericht
- WLAN RGB-Stripes mit dem ESP8266 steuern – ein Blogbeitrag
- LED-Bilderrahmen mit RGB 8806 Stripes – ein Gastbeitrag
- LED-Statusanzeige mit WS2812B Stripes – Blogbeitrag
Hallo Robert,
ja, geht. Aber ich würde heutzutage die Sonoff S20 Steckdosen empfehlen.
Grund: Du brauchst kein 433 Mhz sender, einfacher zu installieren, MQTT bei Tasmota Anbindung, Alexa Steuerung usw.
https://blog.moneybag.de/wlan-steckdose-sonoff-s-20-tasmota/
LG
/robin
Hallo Robin,
wie sind Deine Erfahrungen bzgl. der Reichweite des Funksignals evtl .auch durch Wände?
Gruß Robert
Hallo DreiBaer,
100 jahre her bei mir, ich glaube ich mache alles mit root.
LG
/robin
bei mir siehts im quellcode so aus
#Steckdose code 4
define AmazonFireTV GenShellSwitch send 11101 1 1 0
bitte im forum fragen.
LG
/robin
Hi Robin,
hier ist die Logausgabe vom FHEM:
——————–
2018.01.11 20:52:31 3: GenShellSwitch command line: send 11111 1 1 |
2018.01.11 20:52:32 3: GenShellSwitch command result: using pin 0
2018.01.11 20:52:32 2: GenShellSwitch set TestLeuchte on
——————–
Das Kommando send 11111 1 1 ist OK. Nur der senkrechte Strich dahinter ist komisch.
Scheint vom GenShellSwitch zu kommen! Irgendeine Idee?
Gruß
DreiBaer
Hallo Robin,
die Berechtigungen habe ich schon korrekt gesetzt gehabt. Deinem Vorschlag habe ich auch nochmal ausgeführt. Und sofort wurde die Steckdose geschaltet. Daran hat es also nicht gelegen.
Mit welchem Benutzer führt FHEM denn die Kommandos aus?
Gruß
DreiBaer
Hallo DreiBaer,
war bei mir auch, ist ein Rechteproblem. Versuche den Befehl mal unter root abzusetzen.
LG
/robin
Hi,
danke für die Anleitung.
Es funktioniert auch alles soweit. Das Kommando wird korrekt an mein send-Programm geschickt (send 11111 1 0). Das kann ich im Logfile von FHEM sehen. Aber leider wird es nicht ausgeführt. Kopiere ich es aus der Weboberfläche in eine ssh-Konsole wird es korrekt ausgeführt.
Hast Du ne Ahnung woran das liegt?
gruß
DreiBaer
Hallo Holger,
möglicherweise den Standort wechseln oder eine bessere Antenne nehmen.
Oder einen besseren Empfänger nehmen, siehe hier https://blog.moneybag.de/tuer-fenster-kontakt-sensor-auf-433-mhz-basis/
LG
/robin
Hallo wie kann ich eine höhere Reichweite zum senden erziehlen?
Hallo Robin,
vielen Dank für den super Eintrag, genau das, was ich die ganze Zeit gesucht habe.
Jedoch gibt es die Seite für die Einrichtung der Software wohl nicht mehr. Hättest du vielleicht eine andere oder sogar selbst ein Beispiel.
Ich bin noch sehr neu auf dem Thema FHEM.
Hallo Malte,
nix dokumentiert. Hier ist ein Blogbeitrag dazu, wie man an den Code kommt: https://blog.moneybag.de/baumarkt-steckdosen-schalten-mit-dem-arduino/
Den muss man dann in Hex umwandeln.
LG
/robin
Hallo Robin,
wo ist denn das alles dokumentierT? Ich verstehe z.b. nicht wie du auf „0107D4“ kommst?!
Hallo Malte,
Ich habe das damals mit dem HomeScene und AliRF Plugin gemacht.
AliRF plugin reagiert (z.b. Baumarkt Fernbedienung Taste 4 On oder Off), dann wird ein Notify ausgelöst.
Code nur beispielhaft!
define FB1T4off AliRF 0107D4
attr FB1T4off IODev arduino
define FB1T4on AliRF 0107D1
attr FB1T4on IODev arduino
define FB1T4off_alarm notify FB1T4off:motion.* {\
Log 2, "FB1T4 off Wohnzimmer Sleep Modus";;\
{fhem("set HomeStatus scene sleep")}\
}\
attr FB1T4off_alarm alias FB1T4 On Wohnzimmer Kinomodus
define FB1T4on_alarm notify FB1T4on:motion.* {\
Log 2, "Fernbedienung - taste 4 On gedrückt";;\
{fhem("set HomeStatus scene kino")}\
}\
LG
/robin
„Ihr könnt auch mit einem 433 MHz Receiver von Eurer Baumarkt-Fernbedienung nicht die Steckdose einschalten, sondern sie so einstellen, das sie über Fhem geht.
Also: Drück auf Taste 1 der FB -> Signal geht an einem 433 MHz Receiver -> der wertet es aus -> und schaltet ggf. die Steckdose ein.“
Schön dass du das erwähnst, aber nirgends erklärst.. Kannst Du helfen?!
Hallo Robin,
ich habe nach deiner Anleitung vor einigen Wochen verschiedene Steckdosen mit GenShellSwitch erfolgreich eingerichtet.
Nun möchte ich ein Funkrelais einrichten. Ich habe den IT-Code 0000fff0ff ff 00 per Fernbedienung eingegeben. (Ich kann die Codes mit a-culfw mitlesen.) Über GenshellSwitch habe ich entsprechend 11110 3 1 0 eingetragen. Das Funkrelais reagiert aber nicht immer richtig. Mal schaltet es gar nicht, mal beim Einschalten on/off, mal beim Ausschalten off/on. Habe ich mehrmals über den Raspi geschaltet, ist anschließend auch für mehere Versuche die Fernbedienung durcheinander.
Gibt es für on/off noch andere Möglichkeiten als 1/0?
Hallo Christian,
wenn von Fhem nix geschaltet werden kann, liegt es meistens an den Benutzerrechten. Versuche mal alles unter root auszuführen. (aua, jetzt gibt es wieder haue…)
LG
/robin
Hallo Robin,
danke für das Tutorial.
Soweit hat alles geklappt.
Über den Terminal-Befehl kann ich die Steckdose auch schalten.
Nur in FHEM passiert nichts außer, dass sich das Lampensymbol änder.
Woran kann das liegen?
Grüße
Christian
Hallo Michael,
ich habe das so gelöst.
in TabletUI
…
in DIV gepackt
data-type="switch" data-device="HomeStatus" class="cell" data-cmd="set" data-set-on="scene sleep" data-set-off="scene sleep" data-get-on="sleep"
Und in Fhem eine Scene „HomeStatus“ erzeugt mit der ich dann die ganzen Devices (sei es Lampe, Steckdose, Hue usw. ein- und ausschalte)
LG
/robin
Wenn ich „set Buero_Licht off; set Esszimmer_Licht off“ in die DEF eingebe, funktioniert es nicht. In der Command taucht nur „set Buero_Licht off; set“ auf und der Rest fehlt. In Folge dessen werden nicht alle Geräte geschaltet.
… oder meinst du ein Notify erstellen und das damit lösen?
Hallo Michael,
eine Funktion machen, in der alle Kommandos (Steckdose ein / aus ) nacheinander ausgeführt werden. Die Funktion wird dann in TabletUI aufgerufen.
LG
/robin
Super Anleitung. Vielen Dank dafür! 🙂
Kurze Frage: wie kann ich in FHEM bzw. dem Tablet UI mehrere Steckdosen gleichzeitig schalten? Anwendungsbeispiel wäre, dass ich mit einem Knopf einfach alles aus schalten möchte. Alternativ, dass ich mit einem Knopf drei verschiedene Steckdosen einschalten möchte.
Hallo Louis,
danke für den hilfreichen Kommentar.
Klar, viele Wege führen nach Rom und ich bin auch nicht der Linux-Guru.
Alles in allem war die GenShellSwitch einer der ersten Plugins, die ich in meinem Live-System eingebaut habe. Und die laufen heute noch einwandfrei. Viel Spaß weiterhin mit Fhem.
LG
/robin
Soweit habe ich das durchgeführt und mit einigen Änderungen hat es dann auch geklappt.
Nach ein paar Tests habe ich festgestellt das die Datei send nur im Verzeichnis /usr/local/bin benötigt wird.
Wäre es nicht sinnvoller die Datei send aus dem Verzeichnis ~/433Utils/RPi_utils/ erst nach /usr/local/bin zu kopieren und dann der neuen Datei die Rechte zuweisen?
Ebenso war bei mir ein Neustart notwendig nachdem ich die Datei 00_GenShellSwitch in das Verzeichnis FHEM kopiert habe. Zudem musste ich den Benutzer und die Gruppe dieser Datei auf fhem:dialout ändern.
Deine Anleitung hat mich jedoch ein großes Stück weiter an mein Ziel gebracht.
Herzlichen Dank
Hallo Peter,
das ist nicht viel Aufwand und die Menge, die du schalten willst, bestimmst du.
Das Fhem-System kann ja stufenlos erweitert werden.
LG
/robin
Ok, danke für die Info. Ich weiß nicht ob sich der ganze Aufwand lohnt um nur ein paar Steckdosen zu schalten.
Hallo Peter,
siehe hier: https://wiki.fhem.de/wiki/Intertechno_Code_Berechnung
Nein, kannst du nicht, zu 99,5% langweilt er sich mit der Aufgabe, ab und zu einen Code für eine Steckdose senden zu müssen.
Ich empfehle für dein Fhem den aktuellen Raspberry Pi 3 (-> Amazon: http://amzn.to/2hGkDTh).
LG
/robin
Hallo,
ich bin ziemlich neu auf diesem Gebiet und habe da mal ein paar Fragen:
Wie viele Steckdosen kann ich damit Schalten?
Den Pi kann ich dann nur für die Steckdosen nutzen?
Hallo Benjamin,
genau, das AliRF (für die PIRs und TFK) findest du hier: https://blog.moneybag.de/fhem-preiswerter-433-mhz-funkbewegungsmelder-pir/
Über einen Sketch im 433 MHz Empfänger kannst du die Daten vom PIR in Fhem schicken. Dann kannst du mit notfiy & co auf die ankommenden „motion=1“ reagieren. Wenn Du noch PIRs oder TFK brauchst, schicke mir PM.
LG
/robin
Hallo Robin,
das habe ich gesehen und auch verstanden. Du redest von einem Script das die Signale auswertet.. wo finde ich das…? Bzw. es gibt ja AliRF ist dies damit gemeint?
Danke + Gruß
Benjamin
Hallo Benjamin,
ich habe vor einem Jahr ein Youtube-Video gemacht, das wohl keiner verstanden hat (wegen der negativen Bewertungen).
Da geht es darum, wie man mit Fhem und einer 433 MHz Fernbedienung Geräte schaltet: https://www.youtube.com/watch?v=sHT_ubQH4nk
LG
/robin
Hallo Robin,
wie schaltest du bspw. andere Geräte anhand von einer 433mhz Fernbedienung? Bspw. möchte ich in FHEM meine Alarmanlage oder sonstiges via FB aktivieren. Jedoch ist diese einem Hauscode zugeordnet. Und die Steckdosen haben einen Unit-Code, welcher von der FB ja auch berechnet wird. Bspw. wird mit der Taste A ja eine Steckdose geschaltet die mit dem gleichen Hauscode codiert ist…. wenn ich jetzt mit A auch etwas anderes schalten möchte, dann schaltet sich ja auch die Steckdose an. Das mag ich ja nicht 🙂 Das wäre ein Blogbeitrag wert 🙂
Danke!
Gruß
Benjamin
Hallo Robin,
ich vermute mal, dass dieser Sender von Amazon nicht in der Lage ist auch mit dem Intertechno Funksteckdosen (diese werden durch zwei Drehräder kodiert) zu kommunizieren?!
Gruß
Christian