Welcome, Guest
Username: Password: Remember me
Projekte / Projects
  • Page:
  • 1

TOPIC:

Jalousien bei Wind steuern 4 years 4 months ago #1

  • Worschech
  • Worschech's Avatar Topic Author
  • Offline
  • Posts: 6
  • Thank you received: 2
Projekt PiLogger und FHEM / Splunk

Aufgabenstellung:
Nach der Installation von Außenjalousien für den Sommergarten sollte zur Sicherheit ein Windmesser installiert werden.
Die Beachtung der Windlast bei einer Länge von über 3,60 Meter ist wichtig, um Beschädigungen zu vermeiden.
Die Steuerung der Elektroantriebe erfolgt bereits über die Haussteuerung mittels FHEM auf Rasberry Pi.
Die Integration des Windmessers war somit naheliegend.
Die Lange Suche nach einer bezahlbaren Lösung führte mich dann zu Eltako Windmessern und PiLogger.
Natürlich gibt es auch die Möglichkeit, den Windmesser direkt über die GPIOS des Raspberry abzufragen, aber ein möglichst geringer Aufwand an Lötarbeit und Programmierung war ebenfalls Ziel.
Ebenso wollte ich einen Eingriff in den PiLogger Code vermeiden.
PiLogger liefert sofort alle benötigten Werte.

Windmesser und PiLogger bestellt, zusammengesteckt, installier, läuft.
Aufgetretene Schwierigkeiten mit der Raspberry Installation traten zwar auf, waren aber unabhängig von PiLogger.

Nun noch die Frage, wie können die Daten für die Haussteuerung verwendet werden?
Eine Einarbeitung in die Programmierung der Schnittstelle wollte ich vermeiden.

Zwei Möglichkeiten kamen in Betracht:
  • 1. Splunk
    a. Splunk Enterprise ist bis zu 500MB Daten täglich kostenlos
    b. Der Splunk Universalforwarder läuft auf Raspberry herorragen
    c. Grafische Auswertungen sind einfach umzusetzen[\li]
  • 2. FHEM
    a. FHEM ist bereits im Einsatz
    b. Die Jalousien werden schon darüber gesteuert
    c. Aktionen und Warnungen bei Schwellwertüberschreitungen sind sicher umzusetzen

Die Lösung:
Die Daten werden mit dem Universalforwarder lediglich zur grafischen Aufbereitung an Splunk gesendet.
Eine Aktion erfolgt nicht.

Die Steuerung aufgrund der Windgeschwindigkeit erfolgt über FHEM.
Eine Installation von FHEM auf dem Raspberry Pi mit angeschlossenem PiLogger ist nicht notwendig.
Ein entsprechendes Python Modul macht die Übertragung der Daten einfach.
Das Python Script liest die letzte Zeile des PiLogger „logdate.csv“ aus und extrahiert die entsprechenden Felder.
Die Übertragung an FHEM erfolgt mittels des FHEM Python Moduls (forum.fhem.de/index.php?topic=63816.0)

Das Python Script im ersten Entwurf:
#!/usr/bin/env python

#Bibliotheken einbinden
print("Bibliotheken einbinden")
import time
import datetime
import logging
import fhem

# Connect via default protocol telnet, default port 7072:
fh = fhem.Fhem("192.168.2.xxx")
# Send a command to FHEM (this automatically connects() in case of telnet)
#fh.send_cmd("set us_sensor on")

n = 7
i = 1

print ("Start Schleife...")
if __name__ == '__main__':
    try:
        while True:
        #while i <= n:

            i = i + 1

            #fh.send_cmd("set us_sensor "+str(abstand))

            #CSV einlesen
            content_variable = open('logdata.csv','r')
            file_lines = content_variable.readlines()
            content_variable.close()
            last_line = file_lines[len(file_lines)-1]
            fields = last_line.split(';')
            #print(fields)

            #Felder extrahieren (wenn notwendig, unkt durch Komma ersetzen)
            time_stamp = fields[0]
            #.replace(".",",")
            wind_max = fields[8]
            #.replace(".",",")

            print(time_stamp)
            print(wind_max)

            #Werte an Dummy in FHEM übertragen
            fh.send_cmd("set TR.Wind "+str(wind_max))
            fh.send_cmd("set TR.Wind timestamp "+str(time_stamp))

            time.sleep(30)

        print("Schleife beendet")

        # Beim Abbruch durch STRG+C resetten
    except KeyboardInterrupt:
        print("Messung vom User gestoppt")

In FHEM ist ein Dummy angelegt, der die Daten empfängt und in das zugehörige Log schreibt.


Über ein Notify kann nun auf die Werte reagiert werden.

Die grundsätzliche Konfiguration von FHEM und den anderen Komponenten will ich an dieser Stelle nicht beschreiben.
Diese sind im Netz ausreichend beschrieben.
Das Script soll in Zukunft als Service laufen, damit es automatisch gestartet wird.
Der Raspberry mit PiLogger und USB-Netzteil ist in einem Gehäuse an der Außenwand untergebracht.
Ein Temperaturfühler ist zusätzlich angeschlossen.
The following user(s) said Thank You: PiLo-Heinz

Please Log in or Create an account to join the conversation.

Last edit: by Worschech.

Jalousien bei Wind steuern 4 years 4 months ago #2

  • PiLo-Heinz
  • PiLo-Heinz's Avatar
  • Offline
  • Posts: 105
  • Thank you received: 25
Schön zu hören, dass es funktioniert.
Vielen Dank für den tollen Bericht !

LG PiLo-Heinz

Please Log in or Create an account to join the conversation.

Nichts ist unmöglich :-)
  • Page:
  • 1
Time to create page: 0.049 seconds