Mit pilight (Version 7) 433.92 MHz Funksteckdosen und Dimmer steuern

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Als Neuling in Sachen Raspberry habe ich mich in das Abenteuer Haustechnik gestürzt. Ich möchte zwar keine Heizung und keine Rollläden steuern, aber ein paar Lampen schon. Einige Messdaten wären auch nicht schlecht, wie Raumtemperatur und Feuchtigkeit des Arbeitszimmers (Da steht der Raspberry). Erst mal auf den Geschmack gekommen wären die Aufzeichnung von Luftdruckdaten interessant und ihre graphische Darstellung über die Zeit. Es sei auch nicht verschwiegen, dass pilight Wetterdaten (SA, SU, T, RH) von Städten aus dem Internet herunterladen und darstellen kann und das alles per Browser auf dem Handy, Tablet oder PC. Damit sind wir bei pilight. Meine Untersuchungen haben ergeben, dass pilight fast alles kann, was ich möchte und ich dazu so gut wie nichts programmieren muss.

    Es ist nicht immer ganz einfach in der Schweiz günstig an das benötigte Material zu kommen, da hat man es in der EU leichter. Viele Lieferanten verhindern Parallelimporte in die Schweiz (vertragliche Bindung zugunsten eines Generalimporteurs für ein bestimmtes Produkt), ausserdem kommen oft zusätzliche Kosten für die Zollabwicklung (als nicht EU Land) hinzu. Ich habe mich auf Schweizer Lieferanten konzentriert, da ich hier lebe. Für EU Bürger liefern einschlägige Lieferanten aus der EU dieselben Produkte zu günstigeren Preisen.

    Achtung die Beschreibung gilt nur für dieses eingesetzte Material, für ähnliche Produkte können Abweichungen und die Gefahr dass etwas zerstört wird oder zumindest nicht funktioniert bestehen! Insbesondere stehen in pilight nicht für sämtliche auf dem Markt befindliche Sensoren und Aktoren Protokolltreiber zur Verfügung. Es ist also wichtig sich vor dem Einkaufen über die Kompatibilität der Komponenten und pilight (Version 5, 6, 7) zu informieren.

    Eingesetztes Material von Conrad (Schweiz):
    Achtung die Schweizer Steckdosen entsprechen nicht dem Deutschen Schuko Stecker!
    Intertechno Funksteckdosen ITR-1500 (selbstlernend)
    - Protokoll: intertechno_switch
    Intertechno Funk Dimmer ITLR-300 (selbstlernend)
    - Protokoll: kaku_screen
    Sender für 433.92 MHz von AUREL TX-SAW MID/5V
    Empfänger für 433.92 MHz von AUREL RX-4M50RR30SF

    Eingesetztes Material von Pi-Shop (Schweiz)
    Raspberry Pi2 B
    SD Card Kingston SDCX 10/64 GB
    Power Supply 5 V 1 A
    WLAN Adapter EDIMAX EW-7811UN
    Breakout Kit für Raspberry Pi 2

    Eingesetztes Material von Brack (Schweiz)
    Adafruit Full-Size Breadboard und Verbindungskabel
    Sonstiges
    Mouse Fujitsu M440 ECO 100mA
    Keyboard Microsoft wired Keyboard 600 100mA
    Monitor SONY mit HDMI Interface

    Besonders zu beachten bei der Verkabelung

    Das Flachbandkabel des Breakout Kits kann am Raspberry 180 Grad falsch eingesteckt werden, es gibt keine Nase auf der RPI Seite und das Kit wird ohne Dokumentation geliefert. Am besten zwischen Breakoutboard und Stecker die Stifte für 5V Ground und 3.3V mit einem Ohmmeter oder Durchgangsprüfer ausmessen, um sicher zu sein. Auf der Breakoutbard Seite besteht eine Nase, die eine falsche Montage ausschliesst.

    Das Breakout Kit kann man an beiden Enden in das Breadboard einstecken, was im einen Fall zu einer Vertauschung von + und – bei den 5V und 3.3V gegenüber der Beschriftung mit rot + und blau -führt. Ein neues Breadboard benötigt relativ viel Kraft um das Breakoutboard reinzudrücken. Etwas vorstochern mit Einzelsteckern hilft!

    Der Sender wird an 5V betrieben und benötigt eine Antenne mit einer Länge von ca. 17.5 cm und sollte damit in einer Wohnung oder einem Einfamilienhaus flächendeckend arbeiten. Die Ansteuerung über einen GPIO Ausgang erfolgt direkt. Die Reichweite laut Conrad ist 30m. Meine Installation funktioniert auf einer Ebene und durch 2 Ziegelmauern hindurch.

    Der Empfänger funktioniert einwandfrei auch ohne Tiefpassfilter, wie bei pilight empfohlen. Der Empfänger besitzt zwei Stifte für Ground, die auf der Platine durchverbunden sind. Er besitzt ausserdem zwei Stifte für +V, welche auf der Platine keine Verbindung haben, diese müssen also beide mit der Versorgungsspannung (+5V) verbunden werden. Ein Betrieb der Endstufe mit den 3.3V funktioniert leider nicht.

    Da die Empfänger Endstufe an 5V betrieben wird, muss der Datenausgang mit einem Spannungsteiler auf den GPIO Eingang (maximal 3.3V) angepasst werden. Ich habe dazu zwei Widerstände mit 2.7kOhm und 1.5kOhm verwendet. 5V * 2.7 / (2.7 + 1.5) = 3.2V. Es funktionieren auch zwei gleich grosse Widerstände im Bereich 1kOhm bis 10kOhm was nach obiger Formel zu einem Signalpegel von 2.5V führt.


    Empfänger Output (Pin 14)-- 1.5kOhm --Kabel-- 2.7 kOhm -- Ground (Pin 11)
    (An der Verbindung zwischen den Widerständen ist das Kabel für den GPIO Eingang angelötet)

    Falls man den Empfänger dauerhaft betreiben möchte, sollte er ebenfalls mit einer Antenne von ca. 17.5 cm ausgestattet werden. Empfangsversuche mit dem Handsender in unmittelbarer Nähe des Empfängers benötigen keine Antenne. Mit einem dauerhaft betriebenen Empfänger können die Signale parallel betriebener Handsender empfangen werden und der Raspberry erfährt so, ob die Steckdosen mit dem Handsender ein oder ausgeschaltet wurden und kann seinen Status aktualisieren.

    Die Handsender der Steckdosen habe ich nur für die Erkennung des Protokolls verwendet. Den Handsender für den Dimmer verwende ich zusätzlich, um alle Steckdosen zu schalten. Da der Intertechno Handsender für den Dimmer beide Protokolle (siehe oben) unterstützt ist es möglich unterschiedliche Geräte (Steckdosen und Dimmer) mit ein und demselben Sender zu betreiben. Die Steckdosen können bis zu drei verschiedene IDs lernen. Die beiden IDs von Handsender und pilight device dürfen natürlich auch gleich sein, insbesondere für den Parallelbetrieb von Raspberry und Handsender ist das zweckmässig. Hierzu muss allerdings die Handsender ID mittels pilight-receive ermittelt werden.

    Die Selbstlern Eigenschaft der Steckdosen ist sehr nützlich wenn das Protokoll bereits bekannt ist. Man kann dann als ID irgendeine Hausnummer einstellen (z.B. 13) und als Gerät (1 bis n). Somit kann eine Steckdose den Code, der vom Raspberry gesendet wird lernen, ohne dass aufwändige Empfangs und Mithöraktionen nötig sind. Einfach die Steckdose einstecken und innerhalb von 5 Sekunden den gewünschten Schalter in pilight betätigen, fertig.

    Für den Parallelbetrieb von Handsender und Raspberry ist es zweckmässig, dass man die Handsender ID über den Empfänger mithört und für das pilight device dieselbe ID einstellt. Pilight unterstützt uns hierzu mit dem Kommando pilight-receive. In der Shell werden, nach Betätigung des Senders in Textform die gesendeten Daten dargestellt. Hier erkennt man auch dass die Sender mehrere Protokolle unterstützen.

    Installation von pilight

    Konfiguration von pilight

    Achtung die Konfigurationen der Versionen 5, 6 und 7 unterscheiden sich wesentlich. In Version 7 sind alle Parameter in einem File (config.json) vereinigt.
    Die Parameter sind für die devices protokollabhängig.

    Softwarefehler suchen ist wie Pilze suchen. Wenn man erst einen gefunden hat, findet man meist mehrere.

    Bei Hardware ist es schlimmer, da findet man bereits Fehler wenn man gar keine sucht!

  • Mit pilight (Version 7) 433.92 MHz Funksteckdosen und Dimmer steuern? Schau mal ob du hier fündig wirst!

  • Habe gerade ein Update zu piSchedule veröffentlich.

    Das auf pilight basierende Projekt fokusiert sich auf zeitgesteuertes Schalten der Geräte nach einem konfigurierbaren Tagesplan. Nach der Installation läuft alle Bedienung etc nur über den Browser auf Smartphone/Tablet oder auch PC.
    Vielleicht eine interessante Erweiterung für dich?

    Siehe auch in diesem Forum
    Direkt die piSchedule Doku

  • Ja, danke.
    Das läuft schon :)
    Aber ich habe folgendes Problem.
    Mein Protokoll ist "elro_800_switch"

    "Buecherregallampe": {
    "protocol": [ "intertechno_switch" ],
    "id": [{
    "id": 18,
    "unit": 5
    }],

    Und wenn ich es dann austauschen will auf

    "Buecherregallampe": {
    "protocol": [ "elro_800_switch" ],
    "id": [{
    "id": 1,
    "unit": 2
    }],

    dann verlier ich die Verbindung zum Webgui.

    Aber dort wo in deiner Config Datei schon elro_800_switch steht (sideboard) kann ich es auf
    meinen systemcode/unitcode austauschen und kann dann auch meine Steckdosen schalten.

    Hoffe du verstehst mein Problem und kannst mich helfen :)

  • Bin auch nicht ehr so tief in den Parametern drin.
    Aber, schau dir mal die Parameter in der Dokumentation an. Die sind immer protokollspezifisch und ändern sich in Syntax und Anzahl protokollabhängig

    https://manual.pilight.org/en/about-pilight

    Softwarefehler suchen ist wie Pilze suchen. Wenn man erst einen gefunden hat, findet man meist mehrere.

    Bei Hardware ist es schlimmer, da findet man bereits Fehler wenn man gar keine sucht!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!