Weather station

Weather station

Local weather station allows you to track the exact direction and speed of the wind, the amount of rainfall but also the intensity of the sun's radiation. This information can be used, among other things, to protect interior of the house from the sun or wind and to decide on the garden irrigation.

Weather station range from cheap to more expensive professional options. We decided on the possibility of universality of use and availability in our market. We have practical experience with the Renkforce WH2600 weather station. In theory any weather station containing its own Web server with values is usable for this guide. If you have another station, try typing in the comments or forum, surely there'll be some way to import data into OpenHAB. Try looking at the official OpenHAB forum as well.

Hardware

Weather station (e.g. Renkforce WH2600)

Pi-Home - see the How to in Smart Home section

Software

OpenHAB

Application

The weather station contains an outdoor unit powered by a battery and photovoltaic panel. Inside the house, an internal unit connects to the LAN network. The unit gets an address from DHCP or you can set a static address. Then type the address of the weather station into the web browser to see the local web interface. We will set OpenHAB to take data from the "Live Data" tab.

MeteoStanice v chytrém domě

 

OpenHAB

We will receive values to OpenHAB using the parser of the HTML page of the weather station with Live values. We then store the request values in the MySQL database at OpenHAB. Any data can be parsed in this way, even from any website. Useful feature! (currency, weather forecast, traffic, etc.)

1) At first go to OpenHAB interface PaperUI and install HTTP Binding and Regex transformation extensions.

Addons -> Binding -> HTTP Binding

OpenHAB - HTTP Binding

Addons -> Transformation -> RegEx Transformation

OpenHAB - Regex Transformation

 

In OpenHAB items, we create a new item, such as meteo.items. It will look something like this. Replace IP address 192.168.4.35 with the address of your weather station. The individual rows then store the values from the weather station into your OpenHAB and you can see them in BasicUI or arrange them in HABpanel.

/*First row is the group where the items will be shown */

Group weather_local "MeteoStanice" (all)

String weather_local_dateutc "Load time [%s]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?CurrTime.*?value=\"([0-9]*.[0-9]*)\".*)]" }

Number weather_local_tempin "Temperature inside [%.2f °C]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?inTemp.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_humiin "Humidity inside [%d %]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?inHumi.*?value=\"([0-9]*.[0-9]*)\".*)]" }

Number weather_local_tempout "Temperatire outside [%.2f °C]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?outTemp.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_humiout "Humidity outside [%d %]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?outHumi.*?value=\"([0-9]*.[0-9]*)\".*)]" }

Number weather_local_relbarom "Relative pressure [%.2f mb]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?RelPress.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_absbarom "Absolute pressure [%.2f mb]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?AbsPress.*?value=\"([0-9]*.[0-9]*)\".*)]" }

String weather_local_winddir "Wind direction [%s °]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?windir.*?value=\"([0-9]*.[0-9]*)\".*)]" }
String weather_local_windspeed "Wind speed [%s km/h]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?windspeed.*?value=\"([0-9]*.[0-9]*)\".*)]" }
String weather_local_gustspeed "Gust speed [%s km/h]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?gustspeed.*?value=\"([0-9]*.[0-9]*)\".*)]" }

Number weather_local_solarradiation "Solar radiation [%.2f lux]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?solarrad.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_UV "UV [%.2f index]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?uv.*?value=\"([0-9]*.[0-9]*)\".*)]" }

Number weather_local_rainin "Rain [%.2f mm]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?rainofhourly.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_dailyrainin "Rain daily [%.2f mm]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?rainofdaily.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_weeklyrainin "Weekly rain [%.2f mm]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?rainofweekly.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_monthlyrainin "Monthly rain [%.2f mm]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?rainofmonthly.*?value=\"([0-9]*.[0-9]*)\".*)]" }
Number weather_local_yearlyrainin "Yearly rain [%.2f mm]" (weather_local) { http="<[http://192.168.4.35/livedata.htm:5000:REGEX(.*?rainofyearly.*?value=\"([0-9]*.[0-9]*)\".*)]" }


In the Rules section, you can then magic with what to do with the values from the weather station, for example:

  • if the wind is more than 60 km/h, close the blinds
  • if the intensity of sunlight is more than 50000 lux for half an hour, the blinds will be drawn
  • If rainfall in the last week is less than 2 mm, irrigate garden, etc., etc.

In HABpanel, it might look like this:

Meteostanice v chytrém domě OpenHAB - zobrazení

Rate the article:

Average: 4.5 (2 votes)

Support Us:

Add comment:

Comments

Your profile picture

Great solution. I am trying to recreate this in openhab 3.2 but I am getting NULL values.  What am I doing wrong?

Add comment

Newest articles in blog

Tailscale - remote access without public IP
Tailscale - remote access without public IPRating: 
90%

The Tailscale service solves access between individual devices if you don't have a public IP address. It's free for one user with support for up to 100 devices. We'll show you how to install Tailscale on a Raspberry Pi that you'll have at home and on a client (Android, iPhone) from which you'll want to access the home Raspberry Pi. Our example will be remote access to OpenHAB running on a Raspberry Pi. However, the same setup applies to many other applications - home NAS, PiHole, Home Assistant, Domoticz, NextCloud, and others.

Shelly OpenHAB MQTT
Shelly vs OpenHABRating: 
90%

The Shelly brand is known for its products that primarily communicate over WiFi, including smart plugs, relay switches, blinds control relays, and many other devices. One of the advantages for deployment is the ability to both read and control these devices using the universal MQTT protocol. Across existing add-ons for both OpenHAB and Home Assistant, we will demonstrate how to use Shelly devices without installing any additional extensions.

Victron & OpenHAB
Victron vs Smart HomeRating: 
0%

In this post, we will show you how to retrieve information from a photovoltaic power plant by Victron. We will connect to the Cerbo unit via MQTT. Based on these values, we can control various appliances (heating, boiler, etc.) and prevent the battery from being drained when they don't need to be.

Smart Home GoodWe inverter
Smart Home vs GoodWeRating: 
50%

In the post, we will demonstrate step by step how to communicate directly with the GoodWe inverter in a smart home setup and obtain real-time information (unlike the SEMS portal). This information is essential if we want to react to current parameters in a smart home, such as activating additional cooling or controlling a socket with a various load.

Voice control smart home
Voice control of the houseRating: 
60%

In this article, we will connect the Amazon Echo Dot voice assistant with open source home automation. We won't be using OpenHAB Cloud, so everything runs locally. In this case, a few additional settings are necessary, but the result is worth it!

MikroTik - Winbox, DHCP, Ranges
Basics - Winbox, DHCPRating: 
68.8%

In this series, we will look at the step-by-step setup of MikroTik devices for home users or a small business (up to 25 people). In the first article, we will focus on the initial setup - we will download Winbox and set up DHCP for the primary network and guest network. Similarly, we will also adjust the WiFi settings.

Alarm Smart Home PIR
Alarm from existing PIR sensors in a smart home.Rating: 
0%

In a your smart home, PIR sensors may not only be used to switch lights on and off based on motion, it is possible to utilize these sensors to detect the presence of motion in a particular room. This information can be used to create a relatively reliable uncertified home security system. In this guide, you will find the logic for how this can work in the OpenHAB software in our model smart home.

NFC Tag Example in Smart Home
NFC tags in smart homeRating: 
80%

NFC (Near Field Communication) tags are small plastic or paper stickers that can be used to automate various functions in the smart home. In this article, we will show you examples of use and a guide on how to write an action on an NFC tag using a mobile phone.

WireGuard iOS
WireGuard on iOS devicesRating: 
88%

In this article, you will find a detailed guide on how to connect to WireGuard VPN from iOS.

WireGuard on Android device
WireGuard on Android devicesRating: 
80%

In this article, you will find a detailed guide on how to connect to WireGuard VPN from Android.