mqtt2swissmeteo
v2.0.0
Published
Node.js based interface between MQTT and Swiss Meteo for a smart home
Downloads
8
Maintainers
Readme
mqtt2swissmeteo
This node.js application is a bridge between the MeteoSwiss service and a mqtt broker. The bridge can publish the latest weather data from the service to the target mqtt broker. The source data is updated every 15 minutes.
Installation
This node.js application is installed from the npm repository and executed with the node command. It will load the default configuration file config.json.
npm install -g mqtt2swissmeteo
node /usr/local/bin/mqtt2swissmeteo
Alternatively, the module can be executed as a docker container. Use the following Dockerfile to build a container by injecting the config file.
FROM node:alpine
RUN npm install -g mqtt2swissmeteo
COPY config.json /etc/mqtt2swissmeteo.json
ENTRYPOINT [ "/usr/local/bin/mqtt2swissmeteo", "/etc/mqtt2swissmeteo.json" ]
Configuration
The following configuration file is an example. Please replace the desired values like the mqtt url and add the MeteoSwiss weather station. A list of weather stations can be found here: MeteoSwiss Weather Stations.
{
"log": "debug",
"mqtt": {
"url": "mqtt://192.168.1.10",
"name": "swissmeteo",
"secure": false
},
"swissmeteo": {
"pollIntervalSec": 60,
"weatherStation": {
"id": "KLO",
"name": "Zürich Kloten"
}
}
}
Topics
Publish (status messages)
Every 15 minutes, the data from MeteoSwiss is updated. As the updated data was
loaded, it will publish the values as dedicated topics to MQTT. The following
topics are be published for the station Zürich Kloten. The latest value is in
the JSON payload field val
.
swissmeteo/temperature/Zürich Kloten
Current air temperature 2 meter above ground in°C
.swissmeteo/precipitation10Min/Zürich Kloten
Total precipitation during the last ten minutes inmm
.swissmeteo/sunshine10Min/Zürich Kloten
Total sunshine duration during the last ten minutes inmin
.swissmeteo/radiation10Min/Zürich Kloten
Mean global radiation during the last ten minutes inW/m²
.swissmeteo/humidity/Zürich Kloten
Current relative air humidity 2 meter above ground in%
.swissmeteo/dewPoint/Zürich Kloten
Current dew point 2 meter above ground in°C
.swissmeteo/windDirection10Min/Zürich Kloten
Mean wind direction during the last ten minutes in°
.swissmeteo/windSpeed10Min/Zürich Kloten
Mean wind speed during the last ten minutes inkm/h
.swissmeteo/gustPeak10Min/Zürich Kloten
Maximum gust peak during the last ten minutes inkm/h
.swissmeteo/pressureAbsolute/Zürich Kloten
Current pressure at station level (QFE) inhPa
.swissmeteo/pressureRelative/Zürich Kloten
Current pressure at sea level (QFF) inhPa
.
MeteoSwiss
The swiss Federal Office of Meteorology and Climatology MeteoSwiss provides the data in an open api. The api description and links to the latest data: