I don’t suppose anyone has used the data being returned by their weather station and managed to build something that determines whether or not its raining right now?
If you can get the total rain data value and store that every five minutes in an internal HA mqtt sensor topic, then test that value against the one five minutes later it should give you rain amount inside that window.
I have this in my setup to do daily rain based on the total cumulative value sent by my station, but I can’t see why in principal it couldn’t be done every few minutes…
- platform: mqtt
state_topic: 'ha/total_rain_prior'
name: 'rain_total_prior'
unit_of_measurement: 'mm'
value_template: '{{ value_json.day_1 }}'
- platform: template
sensors:
rain:
value_template: '{%- if not (is_state("sensor.rain_register","unknown") or is_state("sensor.rain_total_prior","unknown") )-%} {{ ((states.sensor.rain_register.state | float) - (states.sensor.rain_total_prior.state | float)) | max (0) | round(1) }} {%- endif -%}' ## ensure calc is no lower than zero!
friendly_name: 'Rain from 9AM today'
unit_of_measurement: 'mm'
And it eliminates more mqtt, a winner
User guide for making weather station via MQTT work…
Home Assistant:
Weather station via WeewX:
1 STEP:
Set up weather station to the same network as WeewX will be set up and Home Assistant.
To set up EasyWeather use software: WS View
If data is sended to Weather Underground, then weather station is set up… Don’t worry, latter you can delete WU account…
2 STEP:
Set up router DNAT forwarding. To do this under EdgeRouter look pictures down… In other routers just use the same ports and of course your IP settings…
3 STEP:
Install Raspbian to the new docker station or to Raspberry Pi 2, 3 etc…
Download link: https://www.raspberrypi.org/downloads/raspbian/
(use: Raspbian Buster with desktop and recommended software)
4 STEP:
Set up weewX on Raspbian OS.
User guide: http://www.weewx.com/docs/debian.htm
Before of use my backup files it’s good to install:
1: Install weewx, select ‘Simulator’ driver
http://weewx.com/docs/usersguide.htm#installing
2: Download the interceptor driver
wget -O weewx-interceptor.zip https://github.com/matthewwall/weewx-interceptor/archive/master.zip
3: Install the driver (at installation choose simulator mode)
sudo wee_extension --install weewx-interceptor.zip
4: Configure the driver
sudo wee_config --reconfigure --driver=user.interceptor --no-prompt
5: Start weewx
sudo /etc/init.d/weewx start
You can download my predefined and ready-to-use WeewX backup… Just rewrite files and run weewX via Terminal command… Also change IP, username etc… where data is sended via MQTT procotol…
Files are located under: /etc/weewx
My complete weewX folder: https://gofile.io/?c=ZoqAsN
(ZIP password: home)
For copying use command…
gksudo in Terminal
pcmanfm on the Run text field. Pressing ok.
5 STEP:
Setup web server… After 5 minutes you should have data in web site of raspberry where weewx runs…
If the server is on the same machine
The reports generated by WeeWX can be served by a web server running on the same computer as WeeWX. These are instructions for making WeeWX reports available via the Apache web server. The process is similar for other web servers such as nginx or lighthttpd.
Install the Apache web server on the computer on which WeeWX is running. For example, on Debian systems:
sudo apt-get install apache2
Configure Apache to see the WeeWX reports.
If WeeWX was installed from DEB or RPM package, no configuration should be necessary since the reports are placed in the directory /var/www/html/weewx, which is in the Apache DocumentRoot directory /var/www/html
If WeeWX was installed using setup.py, you must tell Apache where to find the WeeWX reports. One method is to install an Apache configuration snippet:
sudo cp util/apache/conf.d/weewx.conf /etc/apache2/conf.d
Be sure that the path in the Apache configuration snippet matches the HTML_ROOT defined in the WeeWX configuration file. For example, the path for a default setup.py installation would look like this:
Alias /weewx /home/weewx/public_html
<Directory /home/weewx/public_html>
Options FollowSymlinks
AllowOverride None
</Directory>
Restart Apache to make the changes happen:
sudo /etc/init.d/apache2 restart
Open the WeeWX URL in a web browser:
http://localhost/weewx
6 STEP:
After copying, set up your data, so edit file under weewx:
weewx.conf
To change desired port:
To set up MQTT, so that data will be sended to Home Assistant. Also here you can set if you still want to receive data in WUnderground etc…
7 STEP:
At the end make backup for just in case of making some restore…
User guide: https://www.raspberrypi.org/magpi/back-up-raspberry-pi/
8 STEP:
Now it’s time to set up Home Assistant…
My sensors, so that in lovelace looks like it looks:
sensor.relativna_vlaznost
sensor.pritisk
sensor.pritisk_visinomer
sensor.stopnja_padavin
sensor.stopnja_padavin_zadnja_ura
sensor.padavine_danes
sensor.soncno_sevanje
sensor.uv
sensor.temperatura
sensor.sunek_vetra
sensor.smer_vetra
sensor.hitrost_vetra
My code:
- platform: mqtt
name: "Relativna vlažnost"
icon: mdi:water-percent
state_topic: "weather/outHumidity"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "%"
- platform: mqtt
name: "Pritisk (višinomer)"
icon: mdi:gauge
state_topic: "weather/altimeter_mbar"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "mBar"
- platform: mqtt
name: "Pritisk"
icon: mdi:gauge
state_topic: "weather/pressure_mbar"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "mBar"
- platform: mqtt
name: "Stopnja padavin"
icon: mdi:umbrella-outline
state_topic: "weather/rainRate_cm_per_hour"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "mm/h"
- platform: mqtt
name: "Stopnja padavin (zadnja ura)"
icon: mdi:umbrella
state_topic: "weather/hourRain_cm"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "mm/h"
- platform: mqtt
name: "Padavine (danes)"
icon: mdi:umbrella
state_topic: "weather/rain24_cm"
value_template: '{{ value | round(0) }}'
unit_of_measurement: "mm"
- platform: mqtt
name: "Temperatura"
state_topic: "weather/outTemp_C"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "°C"
- platform: mqtt
name: "Sončno sevanje"
icon: mdi:radioactive
state_topic: "weather/radiation_Wpm2"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "watts/m²"
- platform: mqtt
name: "UV"
icon: mdi:sunglasses
state_topic: "weather/UV"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "index"
- platform: mqtt
name: "Hitrost vetra"
icon: mdi:weather-windy
state_topic: "weather/windSpeed_kph"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "km/h"
- platform: mqtt
name: "Sunek vetra"
icon: mdi:weather-windy-variant
state_topic: "weather/windGust_kph"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "km/h"
- platform: mqtt
name: "Smer vetra"
icon: mdi:wind-turbine
state_topic: "weather/windDir"
value_template: '{{ value | round(1) }}'
unit_of_measurement: "°"
Code for notify in case of high UV:
- id: '709'
alias: VREME - visoka vrednost UV sevanja
trigger:
platform: numeric_state
entity_id: sensor.uv
above: '8'
for:
minutes: 15
action:
- service: notify.MY_DEVICE
data:
message: "Zaznana visoka vrednost UV sevanja - vrednost UV nad 8 od skupaj možnih 16."
title: "VREME - UV sevanje"
- service: notify.MY_OTHER_DEVICE
data:
message: "Zaznana visoka vrednost UV sevanja - vrednost UV nad 8 od skupaj možnih 16."
title: "VREME - UV sevanje"
Some useful links:
https://jackstromberg.com/2018/06/setting-up-weewx-with-a-raspberry-pi/
http://weewx.com/docs/usersguide.htm
http://weewx.com/docs/debian.htm
Enjoy…
Had a similar issue, and couldn’t get weewx to work, so I used node-red instead…
If you want I can give you Virtualization station which can be used in QNAP or VMWare Player etc… you should only set up MQTT data and IP of Raspbian OS and voila…
Database can be used as MySQL on external server or local - based on settings…
I’m using on MySQL on QNAP NAS…
hi,thanks for ur work,are your files no longer available
?
It would be great to have an addon or an integration in hacs for weewx, nobody knows something?
I can republish files… if you need I can give you complete Image for QNAP NAS with complete working ecosystem…
Thanks again, im using the old hassio in docker with Ubuntu, I’m not sure if it will work for me
Hi, I would like to give this a go! I checked and the files you uploaded are no longer there also I do have a QNAP as well as a Synology. I am currently running HA in a Container on the Synology I was running WeeWx on a Pi 4 and getting the data from a Davis IP Data Logger.
I would like to get HA and WeeWx running on the same box either in a container or VM.
Thanks for your help !
Mark
Today I will prepeare file… Sorry for delay, I was away…
Hi Were you able to get to this? Thanks.
Prepearing file… Will publish download link tommorow…
Hi, now I managed to prepeare file and file server, so that you can download it.
So, open website:
www.vseznalec.si
Username:
homeassistant
Password:
virtualclone2020_weeWX%
For your access click on “homeassistant” folder.
Then you can download image. Also when you will set up virtual station on QNAP you will find instructions.txt on desktop in virtual machine.
I hope that you will succed.
Got it! Thanks kslb!
Hey guys do I have this idea right about this code on Github I noticed ?
I’m not a coder of any note but this python code on Github seems to me to create a destination for any Ecowitt protocol compliant WiFi weather station like WH2900 or WS-2902 (and obviously the Ecowitt GW1000 gateway) on a RPi of to send data to, and then creates a .CSV file with the sent data ?
If that’s right, is it possible to get HA to look for the .CSV file updates and read the new station sensor values ?
https://github.com/iz0qwm/ecowitt_http_gateway/blob/2628beaee63d78c14a38de780024c71bb1deeb48/README.md
Why to use CSV if you can use weeWX MQTT protocol?
I don’t like MQTT, got burned badly when changes where made for bureaucratic reasons, that screwed my sensors setup and caused me a LOT of rework and forced cludges at the time. Once bitten twice shy, so won’t go there again, changed 90% of ESP devices from relying on MQTT to ESPhome and love it.