• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
  • Englisch
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Hausautomatisierung»Eigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen

Eigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen

Facebook Twitter LinkedIn Tumblr Email Reddit
Raspberry Pi Wetterstation mit OpenHAB 2 bauen
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Eines der beliebtesten Projekten neben der Hausautomatisierung und Robotern ist die eigene Raspberry Pi Wetterstation. Diese kann sowohl für den Innen- als auch Außenbereich verwendet werden und ist dazu beliebig erweiterbar. Die Daten lassen wir entweder über eine Weboberfläche von anderen Geräten aus anzeigen, oder nutzen den Raspberry Pi Touchscreen.

In diesem Tutorial erstellen wir eine funktionsfähige und erweiterbare Wetterstation, die über einen Touchscreen abgerufen und gesteuert werden kann.

 

Zubehör für die Raspberry Pi Wetterstation

Für die Wetterstation wirst du folgendes Zubehör benötigen. Dabei können natürlich auch einzelne Komponenten weg gelassen oder hinzugefügt werden. Der Code muss dann allerdings auch entsprechend angepasst werden.

  • Raspberry Pi inklusive Micro SD Karte und USB Netzstecker
    • alternativ: Raspberry Pi Starter Kit bzw. Sensor Kit (entält bereits die wichtigsten Sensoren und ein Display)
  • DHT22 Sensor für Temperatur & Luftfeuchtigkeit
  • BMP180 Luftdrucksensor
  • Raspberry Pi Touchscreen
    • alternativ: LCD Display
  • Jumper Kabel
  • Breadboard

Darüber hinaus sind weitere Sensoren wie bspw. Gas Sensoren, Helligkeitssensoren oder aber Windstärke Sensoren auch eine Möglichkeit, welche eingebunden werden können.

Eine weitere Möglichkeit ist es einen ESP8266 NodeMCU oder Raspberry Pi Zero W als Außenposten für die Wetterstation zu nutzen. Auf die Anzeige auf einem LCD Display wird in diesem Tutorial nicht explizit eingegangen. Wie man darauf Daten anzeigen lässt ist in einem vorherigen Tutorial genauer erklärt und kann ggf. angepasst werden.

 

 

Aufbau & Verkabelung

Beginnen wir mit der Verkabelung aller Module. Am einfachsten ist dies beim offiziellen Raspberry Pi Touchscreen. Dieser kann über das Ribbon Kabel an den DSI Port des Raspberry Pi’s angeschlossen werden. Strom bekommt es entweder über den 5V Pin oder per USB Anschluss. Eine genaue Beschreibung gibt es hier.

Anschließend sind die Sensoren dran. Auch diese wurden in vorherigen Tutorials genauer besprochen, aber an dieser Stelle gibt es erneut den Aufbau:

Der DHT11 Sensor wird wie in der Abbildung zu sehen mit 3.3V und GND verbunden. Der Datenpin geht an GPIO23 und gleichzeitig über einen 10kΩ Widerstand an 3.3V.

Der BMP180 wird lediglich an den I2C Bus angeschlossen und bekommt ebenfalls eine Verbindung zu 3.3V und GND.

Raspberry Pi Wetterstation OpenHAB Steckplatine
Raspberry Pi Wetterstation Steckplatine der Sensoren

 

Vorbereitung: OpenHAB & Pakete installieren

Als Oberfläche nutzen wir OpenHAB, welches generell ein sehr guter Einstieg in die Hausautomatisierung ist. Da es verschiedene grafische Oberflächen bietet, ist es nicht notwendig, dass wir unsere eigene GUI erstellen. Diese können wir später noch individualisieren.

Daher beginnen wir damit OpenHAB 2 auf dem Raspberry Pi zu installieren. Ist dies vollendet öffnen wir http://openhabianpi:8080/paperui/index.html#/extensions und suchen unter „Binding“ das Paket „Exec Binding“ sowie unter den Tabs „Persistence“ das Paket „RRD4j Persistence“ und unter „Transformations“ das Paket „RegEx Transformation“. Alle werden installiert.

Nun loggen wir uns per SSH ein und installieren die benötigten Pakete für den DHT und BMP180 Sensor:

sudo apt-get update
sudo apt-get install build-essential python-dev python3-dev python3-openssl python3-smbus python3-pip i2c-tools git
git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT
sudo python3 setup.py install
cd ..
git clone https://github.com/adafruit/Adafruit_Python_BMP && cd Adafruit_Python_BMP
sudo python3 setup.py install

Falls du Python2 statt Python3 nutzen willst, musst du die Pakete und Installationsaufrufe entsprechend anpassen.

Anschließend müssen wir noch I2C aktivieren:

sudo raspi-config

Unter „Interfacing Options“ -> „I2C“ aktivieren wir es (dies kann von Raspbian Version variieren, aber ist immer in der raspi-config enthalten).

Sofern der BMP Sensor bereits angeschlossen ist, können wir testen, ob er bereits erkannt wurde:

i2cdetect -y 1

Das Ergebnis sollte so aussehen:

 0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

 

 

Raspberry Pi Wetterstation einrichten

Die Funktionen, die wir nutzen werden, brauchen Tools, die uns die Daten ausliefern. Am einfachsten geht dies mit Python, wofür es viele Bibliotheken gibt (u.a. die wir bereits genutzt und installiert haben). Wir starten also mit dem Hauptskript:

sudo nano /etc/openhab2/scripts/weatherstation.py

Es bekommt folgenden Inhalt:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
import Adafruit_BMP.BMP085 as BMP085
import Adafruit_DHT
import sys, time
 
# constants
DHT_PIN = 23                    # GPIO nr
DHT_SENSOR = Adafruit_DHT.DHT22    
 
if __name__ == '__main__':
    if len(sys.argv) > 1:
        call = sys.argv[1].lower()
 
        if call == 'temperature':
            temperature = None
            while temperature == None:
               _, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
               if temperature == None:
                   time.sleep(1.5)
            print(temperature)
 
        elif call == 'humidity':
            humidity = None
            while humidity == None:
               humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
               if humidity == None:
                   time.sleep(1.5)
            print(humidity)
            
        elif call == 'pressure':
            sensor = BMP085.BMP085()
            print(sensor.read_pressure() / 100.0)
      
 
 

Speichere mit STRG+O und kehre mit STRG+X zur Shell zurück (in den nächsten Schritten ebenso).

Außerdem müssen wir diesem Skript und dem I2C Modul noch Admin Berechtigungen geben, die wir für die GPIO Aufrufe benötigen:

sudo chmod +x /etc/openhab2/scripts/weatherstation.py
sudo chmod a+rw /dev/i2c-*

Damit die Rechte für I2C auch dauerhaft gesetzt werden, lassen wir es bei jedem Reboot ausführen. Dies geht per Crontab:

sudo crontab -e

Sofern du noch keinen Editor eingestellt hast, wähle 2. nano aus. Füge nun am Ende folgende Zeile hinzu und speichere die Datei:

@reboot sudo chmod a+rw /dev/i2c-*

 

Nun geht es weiter mit den Things: Pro Wert (Temperatur, Luftfeuchtigkeit, Luftdruck, etc.) müssen wir ein Thing anlegen. Dazu nutzen wir das vorher installierte Exec Add-On, womit wir Shell Aufrufe starten können. Für die Speicherung brauchen wir ebenso „RRD4j Persistence“ (unter Add-ons -> Persistence). Unser Python Skript nimmt verschiedene Parameter an und gibt entsprechende Werte zurück. Dies nutzen wir:

sudo nano /etc/openhab2/things/weatherstation.things

JavaScript
1
2
3
4
5
Thing exec:command:weatherstation_temperature "Temperatur"    [command="/etc/openhab2/scripts/weatherstation.py temperature", transform="REGEX((.*?))", interval=60, timeout=10, autorun=true]
Thing exec:command:weatherstation_humidity "Luftfeuchtigkeit" [command="/etc/openhab2/scripts/weatherstation.py humidity",    transform="REGEX((.*?))", interval=10, timeout=10, autorun=true]
Thing exec:command:weatherstation_pressure "Luftdruck"        [command="/etc/openhab2/scripts/weatherstation.py pressure",    transform="REGEX((.*?))", interval=60, timeout=10, autorun=true]
 
 

Als nächstes kommen unsere Items ins Spiel:

sudo nano /etc/openhab2/items/weatherstation.items

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
 
Group  Weatherstation_Chart (System, Charts)
Number Weatherstation_Chart_Period "Periode" (System)
Number Weatherstation_Temperature "Temperatur [%.1f °C]" <temperature> (Weatherstation_Chart)
Number Weatherstation_Humidity    "Luftfeuchtigkeit [%.1f %%]" <humidity> (Weatherstation_Chart)
Number Weatherstation_Pressure    "Luftdruck [%.1f hPa]" <pressure> (Weatherstation_Chart)
 
String temperature_out { channel="exec:command:weatherstation_temperature:output" }
String humidity_out    { channel="exec:command:weatherstation_humidity:output" }
String pressure_out    { channel="exec:command:weatherstation_pressure:output" }
 
 

Damit die Daten dauerhaft (jede Minute) in der Datenbank gespeichert werden, müssen wir dies angeben, indem wir es in eine .persist Datei schreiben:

sudo nano /etc/openhab2/persistence/rrd4j.persist

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Strategies {
    // for rrd charts, we need a cron strategy, every Minute is a must have.
    everyMinute : "0 * * * * ?"
    // get the data reduced for older values to keep database small
    everyHour : "0 0 * * * ?"
    everyDay : "0 0 0 * * ?"
    
    default = everyChange
}
 
Items {
    // additionally persist Items
    Weatherstation_Chart* : strategy = everyUpdate, everyMinute
}
 
 

Bisher haben wir jeweils zwei Items erzeugt. Das eine als Textwert aus dem Skript und das andere als Zahlwert, den wir ggf. noch verändern können. Dies geht mit Rules:

sudo nano /etc/openhab2/rules/weatherstation.rules

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
rule "Weatherstation Temperature"
  when
     Item temperature_out received update
  then
      Weatherstation_Temperature.postUpdate(
          ( ( Float::parseFloat(temperature_out.state.toString) as Number ) * 10 ) / 10
      )
 
end
 
rule "Weatherstation Humidity"
  when
     Item humidity_out received update
  then
      Weatherstation_Humidity.postUpdate(
          ( ( Float::parseFloat(humidity_out.state.toString) as Number ) * 10 ) / 10
      )
end
 
rule "Weatherstation Pressure"
  when
     Item pressure_out received update
  then
      Weatherstation_Pressure.postUpdate(
          ( ( Float::parseFloat(pressure_out.state.toString) as Number ) * 10 ) / 10
      )
end
 

Hier ist auch eine Veränderung über Regex Werte und ein Debug-Logging möglich. Generell können hier andere Ereignisse getriggert werden – bspw. dass wenn die Temperatur über 30 Grad wird, dass der Ventilator (sofern verbunden) angeht. Bei Interesse können wir solche Szenarien in zukünftigen Tutorials durchgehen und erklären.

Nun erstellen wir noch eine schönere Ansicht. Diese ist allerdings nicht mit der PaperUI sichtbar, daher müssen wir in die BasicUI verwenden: http://openhabianpi:8080/basicui/app
Dafür erstellen wir eine Sitemap, in der die bisherigen Items eingefügt werden können:

sudo nano /etc/openhab2/sitemaps/weatherstation.sitemap

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Name of file and name of sitemap has to be the same
sitemap weatherstation label="Raspberry Pi Wetterstation"
{
        Frame label="Innentemperatur" {
            Text item=Weatherstation_Temperature
            Text item=Weatherstation_Humidity
            Text item=Weatherstation_Pressure
        }
        Frame {
            Switch item=Weatherstation_Chart_Period mappings=[0="1h", 1="4h", 2="8h", 3="12h", 4="24h"]
            Chart  item=Weatherstation_Chart period=h   refresh=60000 visibility=[Weatherstation_Chart_Period==0, Weatherstation_Chart_Period=="Uninitialized"]
            Chart  item=Weatherstation_Chart period=4h  refresh=60000 visibility=[Weatherstation_Chart_Period==1]
            Chart  item=Weatherstation_Chart period=8h  refresh=60000 visibility=[Weatherstation_Chart_Period==2]
            Chart  item=Weatherstation_Chart period=12h refresh=60000 visibility=[Weatherstation_Chart_Period==3]
            Chart  item=Weatherstation_Chart period=D   refresh=60000 visibility=[Weatherstation_Chart_Period==4]
        }
}
 

Aktualisiere danach die BasicUI Seite und wähle die Sitemap „Weahterstation“. Hier werden nun alle Werte und die vorherigen Werte in einer Tabelle angezeigt. Da die Werte doch recht unterschiedlich sind (Luftdruck ~1000 [hPa], Temperatur 0-30 [°C], Luftfeuchtigkeit ~ 20-70 [%]) können wir ggf. auch verschiedene Graphen/Charts anlegen oder bspw. statt hPa die Einheit Bar verwenden.

Raspberry Pi Weatherstation OpenHAB Panel

 

Darüber hinaus könnten wir die Temperatur natürlich auch mit dem BMP180 messen. Ebenso kann er die Höhe (in Metern) und den Meereslevel-Druck („Sealevel Pressure“) messen. Mit den angegeben Beispielen sollte es ein Kinderspiel sein die Dateien ggf. zu erweitern.

Sollte wider Erwarten etwas nicht so funktionieren, wie es sollte, so hilft oft ein Blick in die Logs. Wie du darauf zugreifen kannst ist in diesem Artikel erklärt (bspw. per Karaf Konsole).

 

Zusatz: Wettervorhersage über Yahoo! einrichten

Unsere Raspberry Pi Wetterstation soll noch ein Zusatzfeature bekommen: Neben den aktuell gemessenen Daten, wollen wir auch Vorhersagen für den nächsten Tag treffen. Dieses Feature ist optimal, aber macht einiges aus. Wir können zwischen verschiedenen Anbietern wir Forecast.io, OpenWeatherMap, Yahoo! uvm. wählen. Je nach Ort sind manche genauer oder besser geeignet. Da man außer für die Vorhersagen von Yahoo überall einen API Key braucht, nutzen wir der einfachheit halber diesen Service. Natürlich kann er aber auch durch einen anderen ersetzt werden.

Dazu nutzen wir das OpenHAB Wetter Binding. Gehe in der PaperUI wieder auf „Add-Ons“ -> „Bindings“ und installiere das „Weather Binding“.

Außerdem brauchen wir eine sog. WOEID. Diese benötigte WOEID Nummer für deine Stadt bekommst du auf dieser Website. Suche deinen Ort und kopiere die Nummer.

Nun erstellen wir eine Konfigurationsdatei:

sudo nano /etc/openhab2/services/weather.cfg

Folgender Inhalt kommt hinein:

JavaScript
1
2
3
4
location.home.woeid=547826
location.home.provider=Yahoo
location.home.language=de
location.home.updateInterval=60

Nun müssen wir noch entsprechende Items erstellen. Dazu bearbeiten wir die vorher angelegte Things-Datei und fügen folgende Zeilen hinzu (forecast=1 gibt an, dass die Werte für den nächsten Tag abgerufen werden, 2 für den übernächsten Tag, usw.). Wir können auch verschiedene Orte in der Konfigurationsdatei erstellen (bei uns ist nur „home“ definiert) und danach Items für verschiedene Orte anlegen:

JavaScript
1
2
Number Forecast_Temp_Min "Temperatur min [%.2f °C]" <temperature> {weather="locationId=home, forecast=1, type=temperature, property=min"}
Number Forecast_Temp_Max "Temperatur max [%.2f °C]" <temperature> {weather="locationId=home, forecast=1, type=temperature, property=max"}

Außerdem muss die Sitemap noch angepasst werden:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Name of file and name of sitemap has to be the same
sitemap weatherstation label="Raspberry Pi Wetterstation"
{
        Frame label="Innentemperatur" {
            Text item=Weatherstation_Temperature
            Text item=Weatherstation_Humidity
            Text item=Weatherstation_Pressure
        }
        Frame label="Vorhersage in 24h" {
            Text item=Forecast_Temp_Min
            Text item=Forecast_Temp_Max
        }
        Frame {
            Switch item=Weatherstation_Chart_Period mappings=[0="1h", 1="4h", 2="8h", 3="12h", 4="24h"]
            Chart  item=Weatherstation_Chart period=h   refresh=60000 visibility=[Weatherstation_Chart_Period==0, Weatherstation_Chart_Period=="Uninitialized"]
            Chart  item=Weatherstation_Chart period=4h  refresh=60000 visibility=[Weatherstation_Chart_Period==1]
            Chart  item=Weatherstation_Chart period=8h  refresh=60000 visibility=[Weatherstation_Chart_Period==2]
            Chart  item=Weatherstation_Chart period=12h refresh=60000 visibility=[Weatherstation_Chart_Period==3]
            Chart  item=Weatherstation_Chart period=D   refresh=60000 visibility=[Weatherstation_Chart_Period==4]
        }
}
 

Weitere Dateien müssen nicht angepasst werden, da wir keine Speicherung von Vorhersagen möchten. Möchtest du andere Icons in der Sitemap nutzen, kannst du entweder eigene hochladen oder auf die Standardicons zurückgreifen.

Um die gesamte Bandbreite der Werte (Wind, Wolken, Niederschlag, Schnee, gefühlte Außentemperatur, Nebel/Sichtweite etc.) nutzen zu können, kannst du dir die weiteren Beispiele ansehen.

 

Raspberry Pi Wetterstation Daten auf Touchscreen anzeigen

Bevor wir mit der Installation starten, muss das Display angeschlossen und mit Strom versorgt sein.

Da openHAB auf Raspbian Lite basiert, hat es dementsprechend keine grafische Oberfläche. Um das Webpanel auf dem Touchscreen automatisch anzeigen zu lassen, müssen wir diese also erst nachinstallieren. Wir wählen die PIXEL Oberfläche und den Chromium Browser. Die Installation läuft über SSH.

sudo apt-get install --no-install-recommends xserver-xorg --yes
sudo apt-get install --no-install-recommends xinit --yes
sudo apt-get install raspberrypi-ui-mods --yes
sudo apt-get install chromium-browser --yes

Wir aktivieren zunächst das automatische Login auf den Desktop:

sudo raspi-config

Wähle unter „Boot Options“ -> „Desktop / CLI“ -> „Desktop“ aus.

Nun stellen wir das automatische Login in die GUI ein:

sudo nano /etc/lightdm/lightdm.conf

Wir suchen die Zeile „#autologin-user=“ (Suchen geht einfach mit STRG+W) und entfernen die Raute am Anfang und setzen am Ende den User „openhabian“, sodass sie so aussieht:

autologin-user=openhabian

Speichere mit STRG+O und gehe zurück in die Konsole mit STRG+X.

Nun stellen wir noch sicher, dass der Browser mit der entsprechenden Seite beim Start auch

sudo nano /home/openhabian/.config/lxsession/LXDE-pi/autostart

Ganz ans Ende der Datei kommt folgende Zeile.

@xset s noblank
@xset s off
@xset -dpms 
@sudo chmod a+rw /dev/i2c-*
@/usr/bin/chromium-browser --kiosk --disable-restore-session-state http://http://openhabianpi:8080/basicui/app?sitemap=weatherstation

Außerdem müssen wir noch eine weitere Datei bearbeiten:

sudo nano /etc/kbd/config

Hier ändern die Werte der folgenden beiden Einträge auf Null:

BLANK_TIME=0
POWERDOWN_TIME=0

Nach dem Speichern starten wir den Raspberry Pi neu:

sudo reboot

Nun wird der Browser gestartet, jedoch dauert es einen Moment, bis auch OpenHAB gestartet ist und das Panel sichtbar wird.

DHT11 DHT22 Hausautomation Hausautomatisierung Luftdruck Luftfeuchte luftfeuchtigkeit OpenHAB OpenHAB 2 python temperatur temperatur messen temperatursensor touch Wetterstation
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragRaspberry Pi Hausautomatisierung: OpenHAB installieren & konfigurieren
Nächster Beitrag ESP8266 Google Maps API Routenplaner auf LCD anzeigen

Ähnliche Beiträge

Test & Vergleich beliebter WLAN Indoor Überwachungskameras

Türspion Kamera selber bauen und ins Smart Home integrieren

Smart Home: Notifications per Telegram Bot verschicken (Home Assistant)

SwitchBot Curtain 3: Vorhänge und Gardinen im Smart Home automatisieren

131 Kommentare

  1. Stefan am 8. Dezember 2017 9:05

    Cooles Projekt. Vielen Dank für die ausführliche Beschreibung.
    Aber natürlich wäre es toll, wenn Daten von ausserhalb per WLAN, z. B. durch einen ESP8266 für die Temperatur und Luftdruck zur Verfügung stünden. Dann könnte der Pi mit seinem Display schön in der Wohnung hängen und trotzdem als Wetterstation fungieren.

    Gruß,
    Stefan

    Antworten
    • Felix am 8. Dezember 2017 11:24

      Das ist kein Problem, da wir Skripte benutzen. Du kannst auch einfach ein anderes Skript aufrufen, welches die Daten von einem ESP8266 o.ä. abfrägt. Bei Bedarf kann ich dazu gerne ein Tutorial machen.

      Antworten
      • Bernhard am 31. Dezember 2017 14:02

        Hi Felix,
        Die Idee mit dem ESP8266 find ich Klasse und ein weiteres Tutorial find ich Klasse!!!
        Danke für die tolle Beschreibung.

        LG

      • Simon am 30. September 2018 13:21

        Dank für die tolle Beschreibung! Ich wäre sehr dankbar für ein Tutorial, wie ich Wetterdaten (Temperatur, Luftfeuchte und Luftdruck) von einem ESP8266 auslesen kann.

        Gruß Simon

      • Romana am 20. September 2019 12:42

        Hallo,
        wo gibt es denn hierzu das Tutorial? 🙂

      • Jens am 15. November 2019 1:55

        Wurde ein Tutorial gemacht ? ich habe ein ESP liegen etc u würde das gern ausprobieren

  2. Marco am 8. Dezember 2017 10:15

    Klasse Tutorial! Prima, vielen Dank, da mache ich mich doch gleich ans basteln. Kannst Du evtl. noch ein paar Hinweise geben, wie man die Daten von dem Raspberry mit den Sensoren auf einen zentralen openhab2 server senden kann, d.h. die openhab2 Instanz wird nicht auf dem Raspberry selbst gehostet.

    Antworten
    • Felix am 8. Dezember 2017 11:30

      OpenHab hat eine Rest API, du könntest es darüber versuchen:
      http://docs.openhab.org/configuration/restdocs.html

      Antworten
  3. Michael am 8. Dezember 2017 16:14

    Noch toller wäre es, einen der 433-MHz-Sensoren für Aussentemperatur
    und Aussenfeuchtigkeit der üblichen „Wetter/Funkuhren“ abzulesen.

    Antworten
    • Felix am 8. Dezember 2017 17:17

      Hast du einen Link?

      Antworten
  4. Joost am 9. Dezember 2017 21:10

    Bis jetzt finktionieren alle Schaltungen, die ich nachgebaut habe. Mein Kompliment alles wird klar und deutlich erklärt. Ich freue mich auf das nächste Projekt.
    Gruß aus den Niederlanden

    Joost

    Antworten
    • Felix am 11. Dezember 2017 21:33

      Danke 🙂

      Antworten
  5. Michael am 13. Dezember 2017 11:07

    Hallo, bin genau nach Vorgabe vorgegangen. Leider bekomme ich immer wieder den gleichen Fehler.
    Bei Eingabe von
    https://github.com/adafruit/Adafruit_Python_BMP && cd Adafruit_Python_BMP
    bekomme ich die Antwort:
    -bash: https://github.com/adafruit/Adafruit_Python_BMP: No such file or directory
    Was könnte die Lösung sein?
    Vielen Dank für Eure Hilfe

    Antworten
    • Felix am 13. Dezember 2017 19:15

      Der Befehl ist

      git clone https://github.com/adafruit/Adafruit_Python_BMP
      Antworten
  6. Michael am 13. Dezember 2017 23:02

    Hallo Felix, jetzt hat es geklappt.
    Allerdings wenn ich später den Befehl:
    sudo chmod +x /etc/openhab2/scripts/weatherstation.py
    eingebe, kommt die Fehlermeldung:
    chmod: cannot access ‘/etc/openhab2/scripts/weatherstation.py’: No such file or directory

    Antworten
    • Felix am 14. Dezember 2017 16:39

      Sicher, dass du das Skript am richtigen Ort erstellt hast? Überprüfe es mal mit pwd.

      Antworten
  7. Michael am 14. Dezember 2017 19:05

    Danke, das du mit mir soviel Geduld hast.
    auf der obersten Ebene wenn ich mich richtig erinnere.
    Bin noch unterwegs und kann erst nach 20:00 schauen.
    Ich melde mich dann.

    Antworten
  8. Michael am 14. Dezember 2017 19:47

    Ich habe es gefunden:
    Oben müsste anstatt sudo nano /etc/openhab2/weatherstation.py
    –> sudo nano /etc/openhab2/scripts/weatherstation.py heißen.
    Jetzt krieg ich meine Werte angezeigt.

    Wie kann ich mir die Temperatur Werte vom BMP 180 anzeigen lassen, ist jetzt meine nächste Aufgabe. 🙂

    Vielen Dank für das Tutorial

    Antworten
    • Felix am 14. Dezember 2017 20:00

      Guter Hinweis – ist verbessert 🙂

      Antworten
  9. Micha am 21. Dezember 2017 18:54

    Hallo,

    Ist es möglich eine Aufzeichnung der Temperatur bzw. Feuchtigkeit der letzten 24h hinzuzufügen?

    Wäre „Non + ultra“ wenn das noch ginge?!

    Grüße
    Micha

    Antworten
    • Felix am 21. Dezember 2017 19:18

      24h werden doch bereits gespeichert?

      Antworten
  10. Svenja am 25. Dezember 2017 13:44

    Es wäre meiner Meinung nach sinnvoller statt dem DHT22 und dem BMP180 den BME280 zu verwenden, da dieser Temperatur, Luftfeuchtigkeit und Luftdruck misst

    Antworten
    • Felix am 25. Dezember 2017 13:49

      Geht natürlich auch, die Anpassung sollte nicht so schwer sein, sobald man das Tutorial verstanden hat 🙂

      Antworten
  11. Vincent am 25. Dezember 2017 19:01

    Hallo Felix,
    ich habe eine Frage. An der Touchscreen anzeige ist das ein neuer Raspberry Pi der da angeschlossen wurde oder ist das der an dem die Sensoren angebracht wurden?

    Antworten
    • Felix am 25. Dezember 2017 19:02

      Ist der selbe, an dem die Sensoren angebracht sind. Du könntest natürlich auch von einem anderen Pi oder ESP8266 die Daten abfragen.

      Antworten
  12. Manfred am 7. Januar 2018 14:49

    Hallo Felix,
    vielen Dank für die verständliche Beispiel-Beschreibung.
    Dieses Beispiel ist für jeden der sich interdisziplinär mit openHAB2 befasst ein prima Einstieg.

    Ein Tutorial mit einem ESP8266 (ESP8266-12E) der die Sensorwerte von Außen an den internen Raspi sendet währe auch super.

    Antworten
    • Felix am 7. Januar 2018 15:06

      Ist geplant, muss mal schauen wann ich dazu komme 🙂

      Antworten
  13. Manfred am 7. Januar 2018 18:11

    Hallo Felix,
    habe nun doch ein Problem mit der I2C- Aktivierung.

    Der Bildschirm zeigt bei mir an : openhabian@openHABianPi:~$
    Den Befehl „sudo raspi-config“ kennt er nicht, stattdessen soll „openhabian-config“ eingegeben werden; dort finde ich aber keine Möglichkeit „Interfacing Options“ aufzurufen.
    Was kann man da machen ?

    Antworten
    • Carsten am 25. Januar 2018 22:36

      Hallo!
      Vielen Dank für die sehr guten Tutorials. Hat mir schon viel geholfen. Bin absoluter Neuling.

      Das gleiche Problem habe ich auch. „Interfacing Options“ sind dort nicht zu finden.

      Außerdem werden mir keine Werte auf der PaperUi für den Yahoo Forecast angezeigt.

      Kann mir damit jemand helfen?

      Danke und Grüße
      Carsten

      Antworten
    • Lars am 8. Juni 2020 14:46

      Ist zwar spät aber wie wäre es mal mit selber googlen?
      „openhabian enable i2c“ bei google einegeben und den ersten link anklicken…
      kurz lesen und tadaaaaa lösung gefunden.
      https://community.openhab.org/t/openhabian-i2c/21628/4

      Antworten
  14. Alex am 26. Januar 2018 19:56

    Hallo, ich benutze einen Übersetzer. Ich habe alles gemacht. Ich werde dich wissen lassen, dass ich die Befehle nicht akzeptiere:
    sudo chmod + x /etc/openhab2/scripts/weatherstation.py
    sudo chmod a + rw / dev / i2c *
    Ich habe sie geschrieben
    sudo chmod +x /etc/openhab2/scripts/weatherstation.py
    sudo chmod a+rw /dev/i2c-*
    Ich hoffe es ist richtig
    Das Problem ist, dass ich keinen Wert für Temperatur, Druck und Feuchtigkeit sehe, sondern nur einen „-“
    Ihr Skript läuft von Python funktioniert
    das Signallog:
    [WARN ] [el.core.internal.ModelRepositoryImpl] – Configuration model ‚weatherstation.items‘ has errors, t
    herefore ignoring it:
    [8,34]: mismatched character ‚o‘ expecting set null
    [8,121]: mismatched input ‚ֱ‘ expecting RULE_STRING
    [8,127]: missing ‚}‘ at ‚D‘
    [8,128]: extraneous input “ expecting RULE_ID
    [8,132]: mismatched character “ expecting “‘

    Du kannst mir helfen
    danke

    Antworten
    • Felix am 26. Januar 2018 20:01

      If you run the script (as openhab user), does it read the correct values?

      Antworten
      • kai am 28. Januar 2018 20:44

        Hallo,

        habe das gleiche Problem. Temperatur und Luftfeuchtigkeit ist nur ein -.
        „sudo -u openhab /etc/openhab2/scripts/weatherstation.py temperature“ bringt „4.300000190734863“.
        Sieht also gut aus. In den LOG-Dateien habe ich keine Fehler finden können (oder falsche angeschaut).
        Zur Info: BMP180 fehlt bei mir noch (Liferung steht noch aus).

      • Jörg am 31. Januar 2018 16:06

        Hello to all!
        At first: Thank you for the great tutorial!
        I had the same problem as Kai&Alex:
        My solution was adding the „python3“ to the thing-Configuration:
        So it is:
        Thing exec:command:weatherstation_temperature „Temperatur“ [command=“python3 /etc/openhab2/scripts/weatherstation.py temperature“, transform=“REGEX((.*?))“, interval=60, timeout=10, aut$
        Thing exec:command:weatherstation_humidity „Luftfeuchtigkeit“ [command=“python3 /etc/openhab2/scripts/weatherstation.py humidity“, transform=“REGEX((.*?))“, interval=10, timeout=10, aut$

        I’m not using the third sensor. Hope it helps!

        Regards

      • kai am 1. Februar 2018 20:51

        Thanks for the answer, I had already tried that. Unfortunately, it did not help me 🙁

      • kai am 1. Februar 2018 21:39

        Fehler gefunden: benötigt wird Exec Binding. Wer das Tutorial zur Einrichtung gelesen hat (mit Demo für CPU Temperatur) der hat das schon drauf. Habe das Tutorial aber nicht gelesen, da die Installation bereits fertig war…
        Danke noch mal für die Anleitung!!!!

  15. patrick am 28. Januar 2018 12:27

    Hallo,
    tolle Anleitung. Aber leider wird ein wichtiger Code nicht angezeigt. Im Abschnitt mit der Yahoo Vorhersage, fehlt der Text für das ITEM Programm.

    Antworten
    • Beo am 6. April 2018 15:00

      Stimmt, hoffentlich wird es noch ergänzt.

      Antworten
  16. kai am 28. Januar 2018 20:52

    Hallo,

    noch ein Hinweis für alle openHAB Neulinge wie mich. Für die Speicherung in Datenbank (hier rrd4j) wird das Add-on „RRD4j Persistence“ benötigt (Paper UI/ Add-ons/ Persistence).

    Antworten
  17. Paddy am 3. Februar 2018 17:08

    Folgt noch eine Anleitung mit Pi Zero W als Außenstation?

    Antworten
    • Felix am 4. Februar 2018 14:16

      Sowas ähnliches (MQTT Kommunikation) 🙂
      Damit kann dann jede Art von Gerät (über Wlan) kommunizieren.

      Antworten
  18. Guido am 10. Februar 2018 16:31

    Hallo Felix,
    danke für das gute Tutorial,soweit alles i.O. bis auf den DHT 11 Sensor der gibt keine Werte aus:
    Fehler :
    RuntimeError: Error accessing GPIO.
    Traceback (most recent call last):
    File „/etc/openhab2/scripts/weatherstation.py“, line 27, in
    humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.3.2-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 94, in read_retry
    humidity, temperature = read(sensor, pin, platform)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.3.2-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 81, in read
    return platform.read(sensor, pin)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.3.2-py3.5-linux-armv7l.egg/Adafruit_DHT/Raspberry_Pi_2.py“, line 34, in read
    raise RuntimeError(‚Error accessing GPIO.‘)

    Woran kann das liegen?
    Danke und VG
    Guido

    Antworten
    • Felix am 10. Februar 2018 18:58

      Schau mal hier: https://github.com/adafruit/Adafruit_Python_DHT/issues/20

      Antworten
  19. patrick am 10. Februar 2018 17:13

    Hallo,
    bei mir wird die Datei /home/openhabian/.config/lxsession/LXDE-pi/autostart nicht gefunden. Es gibt schon den Unterordner /.config nicht. Woran kann das liegen?

    Antworten
    • Felix am 10. Februar 2018 18:57

      Hast du OpenHAB selbst installiert oder das Image genommen?

      Antworten
      • patrick am 11. Februar 2018 10:20

        Das Image. So wie hier beschrieben.

      • Felix am 11. Februar 2018 12:32

        Desktop Modus hast du aktiviert (sudo openhabian-config)?

      • patrick am 11. Februar 2018 15:12

        Ja über sudo raspi-config
        Er bootet auch im Desktop Modus hoch. Ich gehe eben manuell in den Browser und öffne die Sitemap oder das Habpanel.

  20. kai am 14. Februar 2018 21:22

    Hallo,

    ist der User evtl. nicht in der gpio-Gruppe oder wird nicht python3 genutzt? Versuche doch mal über terminal „sudo -u openhab /etc/openhab2/scripts/weatherstation.py temperature“ bzw.“ sudo -u openhab python3 /etc/openhab2/scripts/weatherstation.py temperature“.
    Für den Fall, dass es mit python3… geht, kann das bei den things ergänzt werden.
    Sollte es an der Gruppe liegen, so kann ein „sudo usermod -aG gpio openhab“ ggf. helfen.
    Ich nutze mein openhab im Textmodus – Zugriff also über SSH –> kein Problem.

    Antworten
  21. kai am 14. Februar 2018 21:35

    Auch von meiner Seite mal ein fettes Danke. Da neu bei OpenHAB, hat mir das Tutorial gut geholfen.
    Nachdem ich jedoch meinen Sensor über ein Cat5-Kabel nach außen verlegt hatte, bekam ich immer mal wieder Messfehler (Temperaturen > 2000…). Habe mir darauf das python-script neu erstellt (offensichtlich falsche Werte werden verworfen). Die Übergabedaten habe ich übernommen. Evtl. hilft es ja jemandem auch als Idee!?!?
    Gibt es eigentlich eine Möglichkeit das als script bei den Kommentaren einzufügen?

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import Adafruit_DHT
    import Adafruit_BMP.BMP085
    import sys, time
    
    myGPIOPIN = 23	#Pin an dem DHT angeschaltet ist
    
    #Auswahl Sensor
    #mySensor = Adafruit_DHT.DHT11
    #mySensor = Adafruit_DHT.DHT22
    mySensor = Adafruit_DHT.AM2302
    
    #Nur fuer DHT --> Wiederholungen nicht zu hoch waehlen: Achtung bei 10 und 15 sind das 10x15x2 Sekunden = 300 Sekunden!!!!
    myRetries = 3      #Anzahl der Versuche zum Start des Lesens wenn Werte bekommen, diese jedoch nicht plausibel
    myReadRetries = 6  #Anzahl der Versuche zum Lesen der Daten vom DHT (zwischen Lesen 2 Sekunde Pause)
    
    #optionales Log zum Testen - ABER nur fuer DHT
    #nur bei Bedarf auf True setzen --> Datei wird immer groesser!!!
    #myLog = True
    myLog = False
    myLogFile = '/etc/openhab2/scripts/weather.log'
    
    def logging(locReason, locHumidity, locTemperature):
        if (myLog):
            myFile = open(myLogFile,'a')
            myFile.write(time.strftime('%d.%m.%Y  %H:%M:%S') + ' Argument: ' + locReason +' - Luftfeuchtigkeit: '+ str(locHumidity) +'  - Temperatur: ' + str(locTemperature) + 'r')
            myFile.close()
    
    def info():
        print ('Bitte Uebergabe von temperature, humidity, pressure, sealevel_pressure, altitude oder temperature2')
        print ('DHT-Sensor:')
        print ('temperature = Temperatur')
        print ('humidity = Luftfeuchtigkeit')
        print ('BMP-Sensor:')
        print ('pressure = Luftdruck')
        print ('sealevel_pressure = Luftdruck auf Meereshoehe')
        print ('altitude = Hoehe')
        print ('temperature2 = Temperatur')
        
    if len(sys.argv) > 1:
        myArgument = sys.argv[1].lower()
        if (myArgument == 'temperature') or (myArgument == 'humidity'):
            for i in range(myRetries):
                myHumidity, myTemperature = Adafruit_DHT.read_retry(mySensor, myGPIOPIN, myReadRetries)
                #myHumidity, myTemperature = Adafruit_DHT.read(mySensor, myGPIOPIN)
                if (myHumidity is None or myTemperature is None):
                    logging ('KEINE WERTE BEKOMMEN', myHumidity, myTemperature)
                    quit()  #keine Werte (auch keine falschen) bekommen
                else:
                    #falsche Werte anhand gueltiger Luftfeuchtigkeit (0-100) und Temperatur (-50 - 50) bestimmen
                    if (myHumidity>0 and myHumidity-50 and myTemperature <50):
                        logging (myArgument, myHumidity, myTemperature)
                        if (myArgument == 'temperature'):
                            print (myTemperature)
                            quit()
                        elif (myArgument == 'humidity'):
                            print (myHumidity)
                            quit()
                time.sleep (2)
            logging ('WERTE NICHT GUELTIG', myHumidity, myTemperature)
    
        elif (myArgument == 'pressure'):
            myBMP = Adafruit_BMP.BMP085.BMP085()
            print(myBMP.read_pressure() / 100.0) #Ausgabe in  hPa (gebraeuchliche Art)
            #print(myBMP.read_pressure() / 1000.00) #Ausgabe in  kPa (bessere Skalierung im grid)
        elif (myArgument == 'sealevel_pressure'):
            myBMP = Adafruit_BMP.BMP085.BMP085()
            print(myBMP.read_sealevel_pressure() / 100.0) #Ausgabe in  hPa (gebraeuchliche Art)
            #print(myBMP.read_sealevel_pressure() / 1000.00) #Ausgabe in  kPa (bessere Skalierung im grid)
        elif (myArgument == 'altitude'):
            myBMP = Adafruit_BMP.BMP085.BMP085()
            print(myBMP.read_altitude())
        elif (myArgument == 'temperature2'):
            myBMP = Adafruit_BMP.BMP085.BMP085()
            print(myBMP.read_temperature())
        else:
            info()
    else:
        info()
    Antworten
    • Felix am 15. Februar 2018 0:56

      Hab es entsprechend formatiert 🙂

      Antworten
      • kai am 15. Februar 2018 19:06

        @Felix:
        Kannst Du bitte

        if (myHumidity>0 and myHumidity-50 and myTemperature 0 and myHumidity-50 and myTemperature <50):

        ersetzen?!
        Hat er auch nicht richtig übernommen.
        -danke-

      • kai am 15. Februar 2018 19:10

        Und schon wieder nicht (stört sich wohl am kleiner)
        Also dann in Worten:
        if (myHumidity größer 0 and myHumidity kleinergleich 100 and myTemperature größer -50 and myTemperature kleiner 50):

  22. Ralph am 25. Februar 2018 10:56

    Hallo

    Meine frage ist ob dieses setup auch mit mehreren Temp+Feuchtigkeitssensoren klappt plane einen ähnlichen aufbau allerdings mit 2 solcher sensoren wo 2 im Räucherofen sitzen und die beiden werte gemittelt werden sollen + ein sensor für ausen temp+Feuchtigkeit

    Antworten
    • Felix am 25. Februar 2018 17:54

      Sollte kein Problem sein.

      Antworten
  23. Vincent am 10. April 2018 20:13

    Hallo, ich habe eine frage: Wo und wie muss ich die skripte einsetzten? Uns wie kann ich die skripte programmieren? ich bin neu auf dem gebiet. kann mir jemand dringend und schnell helfen? liebe grüsse Vincent

    Antworten
  24. Vincent am 10. April 2018 21:53

    Hallo Felix. Ich bin recht neu auf dem Gebiet und bräuchte mal ausführliche Hilfe. Ich habe ein Problem mit dem file Setup.py. Egal aus welchem Verzeichnis ich den Befehl: sudo python3 setup.py install , ausführen will, es kommt immer die gleiche Fehlermeldung: python3: can’t open file ’setup.py‘: [Errno 2] No such file or directory.
    Kannst du mir vielleicht weiterhelfen?
    Ausserdem wäre ich noch froh wenn ich wüsste in welchem Verzeichnis der Raspberry die Files vom Download speichert. Dann könnte ich mit cd /Verzeichnisname den Befehl im Verzeichnis ausführen. Ich gebe alle Befehle per SSH Verbindung ein. Ist es richtig das alle Befehle über das Terminal laufen? Ich hoffe du kannst mir schnell antworten und Liebe grüsse
    Vincent

    Antworten
    • Felix am 12. April 2018 17:12

      Lass dir erst einmal mit ls die vorhandenen Dateien anzeigen.

      Antworten
      • Carsten am 18. Juni 2019 21:40

        Hallo Felix, ich bin neu auf diesem Gebiet und „kämpfe“ mich gerade durch die Installation. Bisher hat alles super geklappt. Ich bleibe jedoch immer bei der Aktion sudo python3 setup.py install hängen. Es kommt die Fehlermeldung File „setup.py“, line 1, in
        from setuptools import setup, find packages, Extension
        ImportError: No module named ’setuptools‘
        Kannst Du mir bitte eine Hilfestellung geben?
        Das Projekt und das Tutorial sind übrigens super! Ich bedanke mich bereits jetzt für die Hilfe.

  25. Vincent am 22. April 2018 16:42

    Hey Felix. Hat jetzt alles geklappt. Hatte wohl etwas bei der Installation falsch gemacht. Vielen Dank für das Super Tutorial. Eine letzte Frage hätte ich noch, Beim Grafen unter den Daten, ist die Uhrzeit unten und links ist eine Einheit. Mein Problem ist leider das ich nicht weiss was das für eine Einheit ist. Vielleicht kannst du mir da helfen. Liebe grüsse Vincent

    Antworten
  26. Johannes J. am 29. April 2018 20:22

    Hallo,
    danke für das Tutorial hat bis zum Ende auch alles gut funktioniert.
    Hab nur zwei Probleme:

    1.
    sudo nano /etc/kbd/config –> das Verzeichnis wird nicht gefunden und es wir eine leere Datei in Nano geöffnet.

    2.
    Das Desktop System und Chromium werden gestartet, allerding wird nichts angezeigt weil die Fehlermeldung „DNS-Adresse des Servers von http wurde nicht gefunden“.

    Irgendwelche Ideen an was das liegen kann? Bedingt das erste Problem evtl. das Zweite?

    Danke schonmal und viele Grüße

    Antworten
    • Johannes J. am 29. April 2018 20:28

      Ok hab den einen Fehler gefunden da war ein http zu viel in der /home/openhabian/.config/lxsession/LXDE-pi/autostart.

      Allerdings kommt jetzt Problem accessing /basicui/app. Reason:
      not found

      Antworten
  27. Torben am 17. Mai 2018 10:28

    Ich habe das Tutorial so befolgt wie es dort steht habe OpneHAB installiert und dann die scripte eingefügt . Wenn ich nun jedoch auf das Fenster gehe wo die Temperaturen angezeigt werden erhalte ich kein Ergebniss also es werden keine Temperaturen angezeigt. Ne Idee woran das liegen könnte?
    P.s. ich verwende einen DHT11 da ich keinen DHT22 besitze dies habe ich aber auch in der scriptdatei angepasst

    Antworten
    • Torben am 17. Mai 2018 12:56

      Alles Klar der fehler war das openhab keine Rechte über die gpio Pins hatte

      Antworten
  28. Sven am 19. Mai 2018 21:45

    Hallo,
    ich habe auf dem Raspbian OS das OpenHAB2 installiert, soweit so gut.
    Jetzt möchte ich aber anstatt dem BMP180 den BMP280 verwenden. Dazu habe ich das Paket Adafruit_Python_BME280 installiert, beim Aufruf des Scripts Adafruit_BME280_Example.py bekomme ich die Werte des Sensors angezeigt. Allerding bekomme ich die Aufrufe im Script weatherstation.py nicht hin.
    Wie muss das Script angepasst werden, dass die Werte vom BMP280 verwendet werden?

    Antworten
  29. Sven am 19. Mai 2018 22:08

    Funktioniert jetzt doch zum teil, ich hatte die Installation im falschen Pfad durchgeführt.
    Allerdings habe ich das Problem, dass beim ausführen des Scrpts
    sudo python /etc/openhab2/scripts/weatherstation.py temperature folgender Fehler angezeigt wird. File „/etc/openhab2/scripts/weatherstation.py“, line 15
    elif call == ‚humidity‘:
    SyntaxError: invalid syntax

    Hier das ganze Script

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

    from Adafruit_BME280 import *
    import sys, time

    sensor = BME280(t_mode=BME280_OSAMPLE_8, p_mode=BME280_OSAMPLE_8, h_mode=BME280_OSAMPLE_8)

    if __name__ == ‚__main__‘:
    if len(sys.argv) > 1:
    call = sys.argv[1].lower()

    if call == ‚temperature‘:
    print(sensor.read_temperature()
    elif call == ‚humidity‘:
    print(sensor.read_humidity())
    elif call == ‚pressure‘:
    print(sensor.read_pressure() / 100.0)
    )
    Was ist daran falsch?

    Antworten
  30. Sven am 22. Mai 2018 23:03

    Hallo Felix,
    ich habe das Script wie folgt angepasst, die Temperatur wird auch eingelesen, doch beim Druck und der Luftfeuchte bekomme ich Fehlermeldungen.
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

    from Adafruit_BME280 import *
    import sys, time

    sensor = BME280(t_mode=BME280_OSAMPLE_8, h_mode=BME280_OSAMPLE_8, p_mode=BME280_OSAMPLE_8)

    if __name__ == ‚__main__‘:
    if len(sys.argv) > 1:
    call = sys.argv[1].lower()

    if call == ‚temperature‘:
    temperature = None
    while temperature == None:
    temperature = sensor.read_temperature()
    print(temperature)

    elif call == ‚humidity‘:
    humidity = None
    while humidity == None:
    humidity = sensor.read_humidity()
    print (humidity)

    elif call == ‚pressure‘:
    hectopascals = sensor.read_pressure() / 100.0
    print (hectopascals)

    Fehlermeldung:
    Traceback (most recent call last):
    File „/etc/openhab2/scripts/weatherstation.py“, line 22, in
    humidity = sensor.read_humidity()
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BME280.py“, line 243, in read_humidity
    adc = float(self.read_raw_humidity())
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BME280.py“, line 209, in read_raw_humidity
    raw = (self.BME280Data[6] << 8) | self.BME280Data[7]
    AttributeError: 'BME280' object has no attribute 'BME280Data'

    Hast du eventuell eine Idee woran es liegen könnte?

    Antworten
  31. Tobias am 26. Juni 2018 16:55

    Hi
    Ich glaube ich hab einen Fehler entdeckt!
    Bei der Autostartfunktion von Chrome für das Display ist ein „HTTPS://“ zu viel.

    Antworten
  32. Marcel am 5. Juli 2018 0:37

    Hallo Zusammen,

    ich habe alle schritte wie oben beschrieben ausgeführt jedoch werden in der Basic Ui nur die drei Kästen angezeit aber ohne die Werte.

    Vielen Dank für eure Hilfe
    Marcel

    Antworten
    • Pascal am 14. Juli 2018 22:36

      Hallo Marcel,

      das Problem hatte ich auch. Schau mal mit einem Editor in /var/lib/openhab2/config/org/openhab/addons.config.

      Dort gibt es unten einen Punkt ui. Wenn die Basic UI dort nicht drin steht, dann füge die einfach hinzu.

      Bei mir sah das so aus: ui=“paper,habpanel“
      Ich habe das dann so geändert: ui=“paper,habpanel,basic“

      Danach konnte ich die Basic UI auswählen.

      Viele Grüße
      Pascal

      Antworten
      • Johannes am 10. Januar 2019 22:23

        Dies ist auch mein allererstes Projekt und es hat grundsätzlich super funktionert (ich sehe die Werte im Paper UI und kann auf das Display HD44780 zugreifen – https://tutorials-raspberrypi.de/hd44780-lcd-display-per-i2c-mit-dem-raspberry-pi-ansteuern/).
        Leider sehe ich keine Werte in der Sitemap „weatherstation“ und im Tutorial wird nicht darauf eingegangen, wie ich die Messwerte auf dem Display anzeigen lassen kann.
        Hat jemand das gleiche Problem erlebt, oder kann mich an die passende Stelle verweisen?
        In den vorherigen Kommentaren hatte (leider 😉 ) niemand das gleiche Problem wie ich.

        Danke im Vorraus.

  33. Pascal am 8. Juli 2018 21:01

    Hallo Felix!
    Vielen Dank für das super Tutorial. Ich habe es wie beschrieben nachgebaut und soweit hat es funktioniert. Das heißt, es hat fast funktioniert. 😉

    Ich verwende einen DHT22-Sensor. Dieser misst auch die Temperatur und Luftfeuchtigkeit. Nach einiger Zeit bemerke ich aber, dass der Graph bei beiden Werten konstant bleibt. Wenn ich dann ins Log schaue, dann sehe ich, dass nur noch der letzte bekannte Wert regelmäßig in die Datenbank geschrieben wird. Wenn ich dann den Sensor kurz ab- und wieder anstecke, dann wird sofort die Temperatur und Luftfeuchtigkeit auf den aktuellen Wert gesetzt (im Log sehe ich dann, dass er tatsächlich auch wieder misst). Dies bleibt dann für eine bestimmte Zeit (unregelmäßig, mal länger mal kürzer), bis er wieder aufhört zu messen und der Graph wieder konstant bleibt. Dann hilft wieder nur ein an- und abstecken und es geht wieder für eine gewisse Zeit.

    Hast Du vielleicht eine Idee, woran das liegen könnte?

    Viele Grüße
    Pascal

    Antworten
  34. Daniel am 11. August 2018 21:17

    Hallo Felix

    zunächst vielen Dank für das Tutorial.

    Letztlich funktioniert alles so wie ich es mir vorstelle allerdings habe ich Probleme mit dem BMP180

    Im Log bekomme ich folgende Meldung:
    20:57:38.364 [ERROR] [ntime.internal.engine.RuleEngineImpl] – Rule ‚Livingroomstation Pressure‘: For input string: „Traceback (most recent call last):
    File „/etc/openhab2/scripts/livingroomstation.py“, line 33, in
    sensor = BMP085.BMP085()
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BMP-1.5.2-py3.5.egg/Adafruit_BMP/BMP085.py“, line 69, in __init__
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BMP-1.5.2-py3.5.egg/Adafruit_BMP/BMP085.py“, line 72, in _load_calibration
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 202, in readS16BE
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 179, in readS16
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 166, in readU16
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO-0.2.3-py3.5.egg/Adafruit_PureIO/smbus.py“, line 187, in read_word_data
    OSError: [Errno 121] Remote I/O error
    Traceback (most recent call last):
    File „/etc/openhab2/scripts/livingroomstation.py“, line 33, in
    sensor = BMP085.BMP085()
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BMP-1.5.2-py3.5.egg/Adafruit_BMP/BMP085.py“, line 69, in __init__
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_BMP-1.5.2-py3.5.egg/Adafruit_BMP/BMP085.py“, line 72, in _load_calibration
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 202, in readS16BE
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 179, in readS16
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py“, line 166, in readU16
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO-0.2.3-py3.5.egg/Adafruit_PureIO/smbus.py“, line 187, in read_word_data
    OSError: [Errno 121] Remote I/O error“

    i2cdetect -y 1 liefert so weit ich das sehe das gleiche Ergebnis wie in deinem Tutorial
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: — — — — — — — — — — — — —
    10: — — — — — — — — — — — — — — — —
    20: — — — — — — — — — — — — — — — —
    30: — — — — — — — — — — — — — — — —
    40: — — — — — — — — — — — — — — — —
    50: — — — — — — — — — — — — — — — —
    60: — — — — — — — — — — — — — — — —
    70: — — — — — — — 77

    Vielleicht hat ja irgendwer eine Idee.

    Viele Grüße

    Daniel

    Antworten
    • Marten am 29. Februar 2024 19:37

      Hallo Daniel,

      konntest du das Problem lösen?
      Wird bei dir auch nur der Luftdruck angezeigt?

      Liebe Grüße und frohes Schaffen

      Marten

      Antworten
  35. Gerald am 29. August 2018 21:32

    Hallo Zusammen,
    Ich habe nun alle Beiträge hier gelesen und soweit es mir möglich war geprüft, aber leider finde ich den Fehler bei mir nicht warum ich keine Messwerte vom DHT 11 angezeigt bekomme.
    Einen BMP180 habe ich nicht angeschlossen und daher kann ich nicht sagen ob dieser Werte bringen würde.
    Ich hoffe, dass mir wer Schritt für Schritt helfen kann den Fehler zu finden.
    Danke
    Gerald

    Antworten
  36. Andi am 27. Oktober 2018 18:51

    Ich habe alles gemäss dem Tutorial gemacht (einen BMP180 habe ich nicht angeschlossen sondern nur einen DHT 22 ), jeweils die Teile des Codes auskommentiert, der für den BMP180 ist und nun bekomme ich in der BasicUI nur die Mitteilung:“It seems like you have not defined any sitemaps yet. To build one, please check the documentation for guidance. “
    Kann mir vielleicht jemand eine Tipp geben?
    Danke
    Andi

    Antworten
    • Felix am 31. Oktober 2018 20:19

      Die Sitemap (quasi das User Interface) ist nicht (richtig) definiert. Fehlt die Datei?

      Antworten
  37. Moritz am 4. November 2018 17:11

    Hallo zusammen, eigentlich funktioniert alles bei mir, Dank des gut erklärten Tutorials 🙂
    Leider bekomme ich etwas seltsame Werte angezeigt. Ich benutze einen DHT11 Sensor für Temperatur und Lüftfeuchtigkeit und ich bekomme Werte um 486°C und 1433% Luftfeuchtigkeit. Wenn ich im Script weatherstation.py statt DHT_SENSOR = Adafruit_DHT.DHT22 DHT_SENSOR = Adafruit_DHT.DHT11 schreibe, bekomme ich 56% Luftfeuchtigkeit, aber die Temperatur bleibt bei 486°C.
    Liegt das nur daran, dass ich einen anderen Sensor benutze? Wie kann ich das Messergebis korrigieren?
    Grüße Moritz

    Antworten
  38. Max am 5. November 2018 16:52

    Vielen Dank für dein Tutorial. Hat auch soweit alles funktioniert. Jetzt bin ich dabei meinem BMP085 noch die Temperaturdaten zu entlocken und habe daher in der Weatherstation.py die Zeilen

    elif call == ‚tempbmp‘:
    sensor = BMP085.BMP085()
    print(sensor.read_temperature())

    ergänzt.
    Die weatherstation.things habe ich folgendermaßen ergänzt:

    Thing exec:command:weatherstation_tempbmp „Innentemperatur“ [command=“/etc/openhab2/scripts/weatherstation.py tempbmp“, transform=“REGEX((.*?))“, interval=60, timeout=10, autorun=true]

    In der weatherstation.items sind die folgenden beiden Zeilen hinzugekommen (jeweils am Ende der betreffenden Zeilen):

    Number Weatherstation_tempbmp „Innentemperatur [%.1f °C]“ (Weatherstation_Chart)

    und

    String tempbmp_out { channel=“exec:command:weatherstation_tempbmp:output“ }

    und schließlich noch die weatherstation.rules:

    rule „Weatherstation tempbmp“
    when
    Item tempbmp_out received update
    then
    Weatherstation_tempbmp.postUpdate(
    ( ( Float::parseFloat(tempbmp_out.state.toString) as Number ) * 10 ) / 10
    )
    end

    Allerdings werden meiner Ansicht nach keine Werte in die Datenbank geschrieben und eine Anzeige bezüglich der Temperatur erhalte ich auch noch nicht in der Übersicht (Innentemperatur
    – °C ). Das entsprechende Feld ist jedoch da.
    Habe ich vielleicht irgendwo etwas übersehen oder kann das so gar nicht funktionieren?

    Antworten
    • Max am 5. November 2018 17:39

      sudo -u openhab /etc/openhab2/scripts/weatherstation.py pressure
      File „/etc/openhab2/scripts/weatherstation.py“, line 36
      elif call == ‚tempbmp‘:
      ^
      TabError: inconsistent use of tabs and spaces in indentation

      Okay, habe den Fehler gefunden.
      Es lag nur daran, dass ich Tabstopps statt Leerzeichen nutzte…

      Antworten
  39. Johannes am 5. November 2018 23:52

    Guten Abend, nachdem ich die yahoo Wettervorhersage hinzugefügt habe bekomme ich keine Werte für Tempereatur, Luftfeuchtigkeit etc. mehr angezeigt.
    Anschließend wollte ich alles auf meinem Display anzeigen lassen, bin dann jedoch an den letzten Schritten gescheitert.
    1. Autostart: Wie oben beschrieben stelle ich ihn ein
    2. sudo nano /home/openhabian/.config/lxsession/LXDE-pi/autostart
    Dieses Verzeichnis existiert bei mir nicht – nach google Recherche bin ich auf
    „sudo nano /etc/xdg/lxsession/LXDE-pi/autostart“ gestoßen. Dieses Verzeichnis existiert bei mir.
    Habe also anschließend deine Einstellungen dort rein kopiert (ob das funktioniert weiß ich nicht – da der autologin bei mir nicht klappt)

    Ich danke dir für dieses super Tutorial! Es macht mir unheimlich Spaß dieses zu befolgen und mich in die Materie einzuarbeiten

    Grüße!

    Antworten
  40. Sven am 12. November 2018 20:47

    Hi Felix,

    Super Tutorials, die Du da machst. Finde echt klasse! Wenn ich alles richtig mache, funktioniert es sogar! Und das obwohl ich ein blutiger Anfänger bin.
    Eines funktioniert aber dennoch nicht:
    Die Datei sudo nano /etc/kbd/config existiert bei mir nicht! Daher kann ich in dieser Datei auch nichts ändern. Aber auch ohne diese Änderung funktioniert die ganze Geschichte. Hast Du dafür eine Erklärung? Kann es sein, dass in meiner Iconbibliothek das Icon clock fehlt. Das bekomme ich nicht angezeigt. Es wäre super, wenn Du eine Rückmeldung geben könntest.
    Vielen Dank!

    Gruß Sven

    Antworten
  41. Valentin am 8. Dezember 2018 16:36

    Hallo Felix,
    erstmal Dank für diese Anleitung. Ich habe zum ersten Mal ein Raspberry mal programmiert. Ist doch toll.
    Zum Problem: Habe alles so installiert wie du es beschrieben hast. Im SSH wird die Temperatur und die Luftfeuchtigkeit angezeigt aber im Basicui nicht.
    Im SSH melde ich mich einmal im Openhab und wenn ich die Temperatur und die Luftfeuchtigkeit nachfragen soll ich das Password nochmal angeben. Vielleicht liegt es dabei! Im log komm es keine Fehler!
    Kann mir jemand helfen?
    Beste Grüße,
    Valentin

    Antworten
  42. Richard am 23. Dezember 2018 11:44

    Was nutztn du für Programm, um deinen Quellcode so schön farbig zu machen?

    Antworten
  43. Daniel K. am 27. Dezember 2018 21:44

    Hallo. Danke für die Erläuterung… bin neu bei OpenHAB
    Habe alles Schritt für Schritt durchgeführt. Werter bekomme ich angezeigt.
    Nur bei den Buttons 1h, 4h u.s.w. bekomme ich nix…
    Nur die Meldung: Grafik… kann nicht angezeigt werden, da sie Fehler enthällt..

    Bitte um Hilfe

    mfG Daniel aus Chemnitz

    Antworten
  44. Tobi am 11. Januar 2019 17:37

    Hallo,
    vielen Dank für die super Anleitung. Ich habe alles so, wie es dort steht eingetragen in die Dokumente. Allerdings bekomme ich immer noch einen Fehler:
    /etc/openhab2/scripts/weatherstation.py“, line 33, in sensor = BMP085.BMP085()
    Kann mir dort jemand weiterhelfen?
    Ich benutze einen DHT22 und BMP180 Sensor. Das ganze ohne Display.

    Danke euch.

    Antworten
  45. Richard am 3. Februar 2019 11:26

    Hallo Felix,
    wie kann ich Temperatur der universellen diversen Sensoren ( 433 MHZ und 868 MHZ) mit dem Raspi auslesen ? Empfänger an Raspi anschließen ist klar.
    Wäre um Deine geschätzte Hilfe sehr dankbar.
    Vielen Dank für die super Projekte

    Gruß Richard Mexico 67

    Antworten
  46. Christian am 11. Februar 2019 21:36

    So nach geschlagenen 5h geb ich erstmal auf! Ich habe den Luftdrucksensor erfolgreich in die „/basicui/app“ einrichten können und auch der log funktioniert, jedoch bekomme ich bei dem AM2302 Sensor nur Fehlermeldungen. Beim manuellen aufrufen via „./AdafruitDHT.py 2302 23“ werden mir die Werte auch angezeigt (Temp=26.0* Humidity=30.5%). Also ist irgend wo im Script ein Fehler oder ich war zu blöd die Schritt für Schritt Anleitung durch zu führen…
    Für eine Fehlerbehebung würde ich mich riesig freuen.

    2019-02-11 21:19:00.422 [WARN ] [hab.binding.exec.handler.ExecHandler] – Couldn’t transform response because transformationService of type ‚REGEX‘ is unavailable
    2019-02-11 21:19:00.457 [ERROR] [ntime.internal.engine.RuleEngineImpl] – Rule ‚Weatherstation Humidity‘: For input string: „Traceback (most recent call last):
    File „/etc/openhab2/scripts/weatherstation.py“, line 27, in
    humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 94, in read_retry
    humidity, temperature = read(sensor, pin, platform)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 81, in read
    return platform.read(sensor, pin)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/Raspberry_Pi_2.py“, line 34, in read
    raise RuntimeError(‚Error accessing GPIO.‘)
    RuntimeError: Error accessing GPIO.
    Traceback (most recent call last):
    File „/etc/openhab2/scripts/weatherstation.py“, line 27, in
    humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 94, in read_retry
    humidity, temperature = read(sensor, pin, platform)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/common.py“, line 81, in read
    return platform.read(sensor, pin)
    File „/usr/local/lib/python3.5/dist-packages/Adafruit_DHT-1.4.0-py3.5-linux-armv7l.egg/Adafruit_DHT/Raspberry_Pi_2.py“, line 34, in read
    raise RuntimeError(‚Error accessing GPIO.‘)
    RuntimeError: Error accessing GPIO.“

    Vielen Dank schon mal für die schönen Tutorials und ich hoffe das mein Problem hier irgend wie gelöst werden kann.

    Antworten
    • Christian am 14. Februar 2019 22:14

      So, nachdem ich den Pi nochmals neu aufgesetzt habe ist auch weiterhin dieser Fehler da.

      Antworten
  47. Martin am 12. Februar 2019 6:56

    Als kleine Ergänzung: Seit 3. Januar 2019 bietet Yahoo diesen Wetterdienst nicht mehr an. Man muss also über einen Anbieter mit API gehen… (OpenWeatherMap ist für die Basic Infos gratis).

    Antworten
  48. Thorsten am 17. Februar 2019 11:26

    Hallo ich versuche seit Stunden mich an openhab2 bekomme in der basisUi nur das anzeigt

    Weatherstation_Temperature

    Weatherstation_Humidity

    Weatherstation_Pressure

    und keine Werte Habe den DHT22 sensor der über pin 2 auch funktioniert. Wenn ich das Script ausführe tut sich nix. Hab alles so wie beschroeben gemacht hab hin und her probiert aber nix

    Antworten
  49. Daniel am 12. April 2019 22:27

    Hallo ich versuche seit ein paar Tagen diese Wetterstation einzurichten alles klappt bisher perfekt jedoch werden keine Werte in die Website eingetragen bzw. das Script gibt mir keine Werte aus woran kann das liegen?
    Lg Daniel

    Antworten
    • Daniel am 13. April 2019 18:00

      ok tut mir leid habe vergessen die addons zu installieren *faceplam*

      Antworten
      • Martin Hertkorn am 28. November 2019 20:46

        Was sind* faceplam*

      • Martin Hertkorn am 29. November 2019 12:57

        Ah ok, gegoogelt 😅

  50. Alexander am 8. Mai 2019 13:32

    Hallo und Danke für die gute Anleitung.

    Leider habe ich einen Fehler mit der Temperatur/Luftfeuchtigkeit. Diese wird nicht im Chart angezeigt.

    Im Logfile steht
    2019-05-08 13:05:51.065 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_pressure‘ changed from UNINITIALIZED to INITIALIZING

    2019-05-08 13:05:51.095 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_pressure‘ changed from INITIALIZING to ONLINE

    2019-05-08 13:05:51.102 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_humidity‘ changed from UNINITIALIZED to INITIALIZING

    2019-05-08 13:05:51.108 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_humidity‘ changed from INITIALIZING to ONLINE

    2019-05-08 13:05:51.134 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_temperature‘ changed from UNINITIALIZED to INITIALIZING

    2019-05-08 13:05:51.136 [hingStatusInfoChangedEvent] – ‚exec:command:weatherstation_temperature‘ changed from INITIALIZING to ONLINE

    Kann man eventuell mit einem Befehl prüfen ob der Sensor erkannt wird? Oder woran kann dies liegen. Verkabelung habe ich schon mehrfach geprüft.

    Antworten
  51. Andreas am 9. Mai 2019 20:49

    Hallo wenn ich versuche die Pakete für die Sensoren zu installieren mithilfe von:

    git clone https://github.com/adafruit/Adafruit_Python_DHT.git && cd Adafruit_Python_DHT

    bekomme ich immer diese Meldung:

    fatal: could not create work tree dir ‚Adafruit_Python_DHT‘: Permission denied

    Kann es deshalb sein, dass ich keine Werte angezeigt bekomme?
    Ich würde mich um einen hilfreichen Rat sehr freuen

    Antworten
  52. Guy am 16. Mai 2019 14:57

    Hallo,
    Vorbildlich gemachtes Tutorial. Habe als Raspberry Anfänger soweit alles hin bekommen aber was soll passieren wenn man auf die 1H, 4H, 8H,12H und 24H Buttons klickt. Ich nehme an es wird darunter eine Grafik eingeblendet. Bei mir erscheint nichts außer eines kleinen blauen Quadrat mit Fragezeichen. Habe ich noch etwas übersehen?
    Guy

    Antworten
  53. Hagen am 27. Mai 2019 12:41

    Hallo,
    Alles super beschrieben
    Der Test verlief auch erfolgreich,
    Habe aber ein Problem mit
    Aktualisiere danach die BasicUI Seite.
    Die Seite wird bei mir nicht nach dem aktualisieren angezeigt.
    Was könnte das Problem sein.

    Gruß
    Hagen

    Antworten
  54. Kai am 16. Juli 2019 19:09

    Hallo Zusammen,
    Alles super beschrieben und funktioniert auch soweit.
    Ich hatte auch das Problem das keine Temeratur mehr angezeigt wurde, nachdem ich die Yahoo-Wetterdaten aufgenommen habe. Mir ist da ein kleiner Fehler in der Beschreibung aufgefallen:

    „Nun müssen wir noch entsprechende Items erstellen. Dazu bearbeiten wir die vorher angelegte Things-Datei und fügen folgende Zeilen hinzu (forecast=1 gibt an, dass die Werte für den nächsten Tag abgerufen werden, 2 für den übernächsten Tag, usw.). “

    Ich habe die Zeilen in der Things-Datei eingefügt und danach keine Werte mehr in der Anzeige. Nachdem ich die Zeilen in die Items-Datei geschrieben habe waren alle Werte wieder da.
    Gruß Kai

    Antworten
  55. Sabine am 11. November 2019 7:26

    Eine kurze Frage: ist dieses Tutorial für php5 oder auch schon für php7?? Danke!

    Antworten
    • Felix am 11. November 2019 23:35

      Weder noch – es ist für OpenHAB 🙂

      Antworten
  56. Sven am 13. November 2019 11:14

    Hallo. Ich versuche das ganze ohne Monitor. Ich bekomme aber keinen zugriff über SSH „Access denied“ woran kann das liegen?

    Antworten
    • Felix am 14. November 2019 21:43

      Erstell auf der SD Karte mal eine Datei namens „ssh.txt“, das aktiviert SSH.

      Antworten
  57. Sven am 15. November 2019 18:18

    Hallo, ja das hat funktioniert Danke 🙂
    nächstes Problem ist die „WOEID“ mein Ort selbst größere in der nähe können nicht gefunden werden. 🙁
    Der rest läuft jetzt ganz nach Plan 🙂

    MFG

    Antworten
  58. Martin Hertkorn am 28. November 2019 20:43

    Hallo, vielen Dank für die Anleitung, bei mir funktioniert es soweit, die Sensoren geben werte aus , die Oberfläche läuft, leider werden die Daten von den Sensoren nicht übernommen, alles versucht, geht irgendwie nicht.
    Auch sind viele Programme geändert und laufen nicht mehr. Könnte das Projekt auf den neuesten Stand gebracht werden?

    Danke,
    Gruß
    Martin

    Antworten
  59. sebastian am 31. Dezember 2019 9:17

    oh man, ich probiere es seid monaten immer und immer wieder. doch jedesmal scheitert es im ersten viertel. schon nach diesem befehl ist schluss bei meinem Pi. sudo apt-get update
    sudo apt-get install build-essential python-dev python3-dev python3-openssl python3-smbus python3-pip i2c-tools git
    echt schade.

    Antworten
  60. Michael am 11. Januar 2020 11:13

    Hallo,
    habe mich jetzt auch einmal an die Wetterstation gewagt. Hat auch alles soweit ganz gut geklappt.
    Habe den DHT22 Sensor und den DS18B20 Sensor angeschlossen, Werte werden auch richtig ausgelesen (lt. Paper UI). In der Basic UI werden die Werte für DHT22 dargestellt aber der Wert für den DS18B20 wird nicht angezeigt.
    Hat jemand einen Tipp?
    Vielen Dank!

    Antworten
  61. Stefan am 2. März 2020 19:15

    Bei meiner Raspberry 4 B mit Openhab 2.5…habe ich nach Längerem mit folgenden Änderungen die Sache zum Laufen gebracht:

    Eintrag in einer neu zu erstellenden Whitlist im neuen Path misc:
    mkdir misc
    openhabian@openhab:/etc/openhab2/misc$ sudo nano exec.whitelist
    Inhalt:
    /etc/openhab2/scripts/weatherstation.py temperature
    /etc/openhab2/scripts/weatherstation.py humidity
    Ev. Pressure ergänzen.
    Wettervorhersage mit Yahoo funktioniert nicht mehr.
    Aufruf mit:
    http://openhab:8080 (nicht http://openhabianpi:8080)
    Hoffentlich habe ich nichts vergessen nach all dem rumprobieren, aber wenn es jemanden weiterhilft würde das mich freuen.
    Stefan K.

    Antworten
    • Leon am 17. März 2020 14:41

      Hallo Stefan,
      ich habe wie bei dir beschrieben eine neue Whitelist erstellt mit den entsprechenden Inhalt. Bei mir wird jedoch trotzdem im Log folgendes angezeigt:

      [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab2/scripts/weatherstation.py humidity‘, but it is not contained in whitelist.
      [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab2/scripts/weatherstation.py temperature‘, but it is not contained in whitelist.

      Hast du eine Ahnung wo der Fehler liegt bzw. was ich noch versuchen könnte?

      Antworten
  62. Martin am 18. März 2020 11:08

    Hallo

    Kann mr jemand das weatherstation.py script für den Bmp280 anpassen? Ich bekomme es nicht hin.

    Antworten
    • Christian am 30. Mai 2020 14:32

      Hallo,
      da lese ich sehr gerne mal mit, habe das gleiche Problem. Danke.

      Gruß,
      Christian

      Antworten
  63. Stephan am 22. März 2020 17:20

    Hallo

    ich erhalte folgende Fehlermeldung beim „bash“ Befehl:

    [16:17:18] openhabian@openHABianPi:~/Adafruit_Python_DHT$ bash /etc/openhab2/scripts/weatherstation.py /etc/openhab2/scripts/weatherstation.py: line 4: import: command not found
    /etc/openhab2/scripts/weatherstation.py: line 5: import: command not found
    /etc/openhab2/scripts/weatherstation.py: line 8: DHT_PIN: command not found
    /etc/openhab2/scripts/weatherstation.py: line 9: DHT_SENSOR: command not found
    /etc/openhab2/scripts/weatherstation.py: line 12: syntax error near unexpected token `sys.argv‘
    /etc/openhab2/scripts/weatherstation.py: line 12: ` if len(sys.argv) > 1:‘

    ich hab nur den DHT11 Sensor und deswegen auch nur diesen importiert.

    Das ganze weatherstationscript sieht so aus:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

    import Adafruit_DHT
    import sys, time

    # constants
    DHT_PIN = 23 # GPIO nr
    DHT_SENSOR = Adafruit_DHT.DHT11

    if __name__ == ‚__main__‘:
    if len(sys.argv) > 1:
    call = sys.argv[1].lower()

    if call == ‚temperature‘:
    temperature = None
    while temperature == None:
    _, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    if temperature == None:
    time.sleep(1.5)
    print(temperature)

    elif call == ‚humidity‘:
    humidity = None
    while humidity == None:
    humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
    if humidity == None:
    time.sleep(1.5)
    print(humidity)

    Vlt findet jemand meinen Fehler. Danke 🙂

    Antworten
  64. Daniel am 25. März 2020 12:48

    Hallo zusammen,

    erstmal super Tutorial 🙂
    Soweit läuft alles perfekt und ich konnte auch schon mehrere Werte abfragen und darstellen lassen. Zur besseren Übersicht möchte ich gerne eine zweite Tabelle (Chart) haben. Das aber hab ich leider nicht geschafft.
    Kann mit jemand mit dem Code auf die Sprünge helfen?

    Besten Dank im Voraus!

    Antworten
    • Daniel am 25. März 2020 13:59

      Ich hab es durch ein wenig tüfteln bereits geschafft – dennoch besten Dank in die Runde

      Antworten
  65. Jan am 23. Mai 2020 13:47

    Danke für das gute Tutorial.
    Leider bleiben bei mir die Werte im UI frei, also es werden keine Temp und keine Luftfeuchte angegeben.

    Hab den DHT11 mit 3Pin aus einer arduino-box genutzt. Dieser hat schon den 10kOhm R enthalten. http://www.circuitbasics.com/wp-content/uploads/2015/12/DHT11-Pinout-for-three-pin-and-four-pin-types-2.jpg

    In der Zeile # constants
    DHT_PIN = 23 # GPIO nr
    DHT_SENSOR = Adafruit_DHT.DHT22

    habe ich das auf .DHT11 abgeändert.

    Woran kann das liegen?

    Antworten
  66. Christian am 30. Mai 2020 13:48

    Hallo zusammen,
    für den Luftdruck habe ich den BME280. Wie kann ich den in OpenHab einbinden und auslesen? Temperatur und Luftfeuchtigkeit hat nach etwas hin und her und dank der tollen Tipps hier schlussendlich geklappt.
    Also, wer Ideen für den BME280 hat, nur her damit 🙂

    Vielen Dank im Voraus,

    Christian

    Antworten
  67. Christian am 30. Mai 2020 16:21

    Hallo,

    Ich brauche Hilfe bei der Einrichtung des BME280. Hat jemand Erfahrung damit oder die zündende Idee?
    Die Adafruit-Library habe ich installiert, aber komme nicht weiter.

    Vielen Dank im Voraus,

    Christian

    Antworten
  68. Klas am 4. Juni 2020 17:00

    Moin Felix,

    ich habe alles so angeschlossen und installiert wie von dir beschrieben. Es funktioniert auch alles. Auch der Sensor wird bei dem Test erkannt.

    Leider wird nur im Habian Layout kein Luftdruck etc. angezeigt. Also die Oberfläche funktioniert Vollständig, aber dort wo die Werte stehen sollten ist leider nur ein strich.

    Ich hoffe du kannst mir das helfen.

    Antworten
  69. Rene am 8. Juli 2020 2:47

    Thanks you in advance,

    I´m new in OH and in programming too but with a couple of day struggling whit this I made it work. You are the best.

    Antworten
  70. Chris am 10. Juli 2020 13:17

    Hallo,
    soweit klappt alles, ich bekomme Werte in der Konsole und auf der sitemap.

    Allerdings bekomme ich keine Werte im Graphen angezeigt. Ich vermute, dass es irgendwo ein Problem bei der Datenspeicherung oder beim Datenabruf gibt. Den Code habe ich 1:1 hier aus der Anleitung übernommen.

    Kann jemand helfen oder hat das gleiche Problem?

    Antworten
    • Felix am 11. Juli 2020 23:18

      Du könntest mal in der Datenbank sehen, ob/wie viele Werte vorhanden sind.

      Antworten
    • Felix am 11. Juli 2020 23:18

      Du könntest mal in der Datenbank sehen, ob/wie viele Werte vorhanden sind.

      Antworten
      • Thorsten am 10. Juli 2021 22:49

        Ich glaube nach langem Probieren habe ich es jetzt herausgefunden, warum bei mir in der Hauptübersicht immer nur ,,Luftdruck — “ ,,Temperatur — “ und ,,Luftfeuchtigkeit –“
        angezeigt wurde.
        Habe mal OpenHAB Log Viewer angeschaltet und gesehen, dass die Daten zwar geloggt werden, aber keine Ausgabe erfolgen konnte, da die Scripte nicht auf der Whitelist standen.

        Dadurch konnte auch keine Werte ausgegeben werden am Ende 😀
        Die Abhilfe:
        sudo nano /etc/openhab/misc/exec.whitelist
        Dort eingeben:
        /etc/openhab/scripts/weatherstation.py pressure
        /etc/openhab/scripts/weatherstation.py humidity
        /etc/openhab/scripts/weatherstation.py temperature

        Verwendet habe ich OpenHAB 3.

  71. Alexander S. am 21. Juli 2020 21:24

    Cooles Projekt

    Wie funktioniert dies aber wen ich nur ein Sensor nämlich den bm680 angeschlossen habe?
    Was muss in den ganzen skripten ändern/anpassen?

    Antworten
  72. Christoph am 6. September 2020 9:37

    Hallo,
    ich hatte das Problem, dass die Werte des DHT22 nicht angezeigt wurden. Durch den Befehl:
    sudo adduser openhab gpio war der Fehler behoben und es hat alles funktioniert. Der Befehl gibt OpenHab die rechte auf die GPIOs zuzugreifen.

    Antworten
  73. VK am 19. November 2020 18:09

    Hi. Muss man den 10kΩ Widerstand extra besorgen oder ist es im dht22 bereits eingebaut? Sorry bin Neuling.

    Antworten
  74. Gerhard am 19. November 2021 6:58

    Super Tutorial, aber leider werden bei mir keine Werte angezeigt. In der Log Datei bekomme ich folgende Infos. Ich verwende einen Raspberry 3 und Openhub 3. Ansonsten habe ich alles so gemacht wie angegeben.

    2021-11-18 08:18:23.601 [INFO ] [.core.internal.i18n.I18nProviderImpl] – Time zone set to ‚Europe/Vienna‘.
    2021-11-18 08:18:23.664 [INFO ] [.core.internal.i18n.I18nProviderImpl] – Location set to ‚47.98074709477579,16.325340270996097‘.
    2021-11-18 08:18:23.668 [INFO ] [.core.internal.i18n.I18nProviderImpl] – Locale set to ‚de_AT‘.
    2021-11-18 08:18:37.487 [INFO ] [el.core.internal.ModelRepositoryImpl] – Loading model ‚weatherstation.items‘
    2021-11-18 08:18:39.067 [INFO ] [el.core.internal.ModelRepositoryImpl] – Loading model ‚rrd4j.persist‘
    2021-11-18 08:18:39.898 [INFO ] [el.core.internal.ModelRepositoryImpl] – Loading model ‚weatherstation.sitemap‘
    2021-11-18 08:18:40.474 [INFO ] [el.core.internal.ModelRepositoryImpl] – Loading model ‚weatherstation.things‘
    2021-11-18 08:18:45.673 [INFO ] [.core.model.lsp.internal.ModelServer] – Started Language Server Protocol (LSP) service on port 5007
    2021-11-18 08:18:46.093 [INFO ] [el.core.internal.ModelRepositoryImpl] – Loading model ‚weatherstation.rules‘
    2021-11-18 08:18:54.213 [INFO ] [e.automation.internal.RuleEngineImpl] – Rule engine started.
    2021-11-18 08:18:54.780 [INFO ] [org.openhab.ui.internal.UIService ] – Started UI on port 8081
    2021-11-18 08:18:56.800 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] – Started HABPanel at /habpanel
    2021-11-18 08:18:57.178 [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab/scripts/weatherstation.py temperature‘, but it is not contained in whitelist.
    2021-11-18 08:18:57.202 [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab/scripts/weatherstation.py humidity‘, but it is not contained in whitelist.
    2021-11-18 08:18:57.229 [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab/scripts/weatherstation.py pressure‘, but it is not contained in whitelist.
    2021-11-18 08:19:07.205 [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab/scripts/weatherstation.py humidity‘, but it is not contained in whitelist.
    2021-11-18 08:19:17.210 [WARN ] [ng.exec.internal.handler.ExecHandler] – Tried to execute ‚/etc/openhab/scripts/weatherstation.py humidity‘, but it is not contained in whitelist.
    2021-11-18 08:19:18.356 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.360 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Min‘ for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.363 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Min‘ for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.365 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Min‘ for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.368 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.371 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Max‘ for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.374 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Max‘ for widget org.openhab.core.model.sitemap.sitemap.Text
    2021-11-18 08:19:18.376 [ERROR] [ui.internal.items.ItemUIRegistryImpl] – Cannot retrieve item ‚Forecast_Temp_Max‘ for widget org.openhab.core.model.sitemap.sitemap.Text

    Antworten
  75. Paul am 7. März 2022 12:40

    Gibt es zum Projekt auch Bilder das man sieht wie das Projekt zum Schluss aussieht.

    Antworten
  76. ahmad am 18. April 2022 16:13

    vielen dank fürs coole Projekt nur kleines Problem habe ich da, der Hauptskript funktioniert bei mir nicht/ raspberry pi 4 und openhab 3
    sudo nano /etc/openhab2/scripts/weatherstation.py

    Antworten
    • juergen am 8. April 2023 12:57

      hallo ahmad,
      ich habe das gleiche Problen mit raspberry pi 4 und openhab 3. 64 bit
      mein Bildschirm bleit dunkel.
      Schade das es so ein Anleitung nicht für openhab 3 mit raspi 4 gibt.

      Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Supercomputer: Wir bauen ein Raspberry Pi Kubernetes Cluster

Raspberry Pi LED MAX7219 Dot Matrix – Projektübersicht

Raspberry Pi & Teachable Machine – Tensorflow Modelle für KI nutzen

Stereo Kamera Kalibrierung mit OpenCV auf dem Raspberry Pi

ESP32 pH-Sensor – Automatische pH-Messung für Pool und Hydroponik

SwitchBot Curtain 3: Vorhänge und Gardinen im Smart Home automatisieren

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.