Raspberry Pi: Funksteckdosen steuern mit openHAB

Ich einem meiner letzten Artikel habe ich bereits erläutert, wie man Funksteckdosen mit Hilfe eines Raspberry Pi steuern kann. Um das Ganze bedienbar zu machen, habe ich das folgende Tool in Python geschrieben:

ohmcp23017.py

[python]

#!/usr/bin/python
# -*- coding: utf-8 -*-

import rcplug
import argparse

parser = argparse.ArgumentParser(description=’Get operations‘)
parser.add_argument(‚–houseid‘,‘–h‘, help=’House ID to operate with. Values are 00000-11111′, required=True)
parser.add_argument(‚–switch‘,‘–s‘, help=’Switch to operate with. Values are swa,swb,swc and swd‘,choices=’abcde‘, required=True)
parser.add_argument(‚–operation‘,‘–o‘, help=’Operation. Can be on or off‘, required=True)
args = vars(parser.parse_args())

houseid=args[‚houseid‘]
if args[‚operation‘]== ‚on‘:
        if args[’switch‘]== ‚a‘:
            rcplug.turn_on(rcplug.swa,houseid)
        if args[’switch‘]== ‚b‘:
            rcplug.turn_on(rcplug.swb,houseid)
        if args[’switch‘]== ‚c‘:
            rcplug.turn_on(rcplug.swc,houseid)
        if args[’switch‘]== ‚d‘:
            rcplug.turn_on(rcplug.swd,houseid)
        if args[’switch‘]== ‚e‘:
            rcplug.turn_on(rcplug.swe,houseid)
else:
        if args[’switch‘]== ‚a‘:
            rcplug.turn_off(rcplug.swa,houseid)
        if args[’switch‘]== ‚b‘:
            rcplug.turn_off(rcplug.swb,houseid)
        if args[’switch‘]== ‚c‘:
            rcplug.turn_off(rcplug.swc,houseid)
        if args[’switch‘]== ‚d‘:
            rcplug.turn_off(rcplug.swd,houseid)
        if args[’switch‘]== ‚e‘:
            rcplug.turn_off(rcplug.swe,houseid)
[/python]

Dowload oh2mcp23017.py

Syntax

Die Syntax des Tools lautet

oh2mcp23017.py [-h] –houseid HOUSEID –switch {a,b,c,d,e} –operation OPERATION
HOUSEID: 5-stellige Hausadresse
OPERATION: on oder off

Beispiel

Steckdose B mit der Hausadresse 11110 einschalten:
#./oh2mcp23017.py --h 11110 --s b --o on

Steckdose B mit der Hausadresse 11110 ausschalten:
#./oh2mcp23017.py --h 11110 --s b --o off

Anbindung an openHAB

Die Anbindung an openHAB gestaltet sich nun relativ einfach. Ein Item, das das hier vorgestellte Tool benutzt könnte z.B. so aussehen:

Switch B_2OG_Work_SocketB           "Steckdose B"          (2OG_work)              {exec="OFF:/opt/mcp23017/oh2mcp23017.py --o off --s b --h 11110, ON:/opt/mcp23017/oh2mcp23017.py --o on --s b --h 11110"}

Voraussetzung hierfür ist, dass der Pfad zum Tool /opt/mcp23017/oh2mcp23017.py  lautet.

openHAB Android App

Mit der kostelosen App HABDroid lässt sich openHAB von Handy aus bedienen.  Eine wie im Beispiel definierte Steckdose würde sich dann so darstellen:

openHAB und Raspberry Pi

Tipps zur Einrichtung von openHAB auf eurem Raspberry findet ihr in diesem Artikel.

4.67 avg. rating (92% score) - 3 votes

4 Gedanken zu “Raspberry Pi: Funksteckdosen steuern mit openHAB

  1. Pingback: Raspberry Pi: MCP23017 für die Steuerung von Funksteckdosen | G-SURF

  2. Pingback: openHAB auf Raspberry Pi | G-SURF

  3. Erstmal will ich mich für die ausführlichen Anleitungen auf deiner Website bzw. der Home Automation auf deiner Website bedanken. Sie haben für mich schon mal viel Licht ins Dunkle gebracht. 🙂

    Eine paar Fragen stellen sich mir aber trotzdem noch:

    1) Wäre es möglich deinen gesamten Hardware Aufbau in FHEM statt openHab einzubinden? Oder stellt sich bei FEHM nicht das Problem der unzuverlässigen Schaltprobleme?

    2) Wieso hast du dich gegen FHEM und für OpenHab entschieden?

    3) Was hälst du von dieser Lösung hier? Könnte man den FHEMduino auch unter Openhub einbinden und mit den Elro’s nutzen?

    • Das Ganze sollte mit FHEM auch funktionieren, wenn FHEM externe Befehle ausführen kann. Dies scheint nach einem kurzen Blick in die Dokumentation wohl der Fall zu sein. Das Timingproblem kann auch bei FHEM auftreten. Eventuell etwas seltener, weil es auf Perl basiert und nicht wie openHAB auf Java. Der CPU Overhead könnte also etwas geringer sein.

      Ich finde openHAB wirkt von der Struktur her deutlich aufgeräumter. Auch die Dokumentation und die Webseite von FHEM wirkt auf den ersten Blick etwas chaotisch. Ich habe damals aber nicht wirklich einen ausführlichen Vergleich durchgeführt und mich bis heute mit FHEM nicht beschäftigt.

      Zum FHEMduiono habe nicht viel gefunden, außer den Quellcode. Was genau macht das Teil? 🙂

Schreibe einen Kommentar zu Miro Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Spamschutz * Time limit is exhausted. Please reload the CAPTCHA.