Giter Site home page Giter Site logo

mqtt2swissmeteo's Introduction

mqtt2swissmeteo

mqtt-smarthome npm travis

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 in mm.
  • swissmeteo/sunshine10Min/Zürich Kloten
    Total sunshine duration during the last ten minutes in min.
  • swissmeteo/radiation10Min/Zürich Kloten
    Mean global radiation during the last ten minutes in W/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 in km/h.
  • swissmeteo/gustPeak10Min/Zürich Kloten
    Maximum gust peak during the last ten minutes in km/h.
  • swissmeteo/pressureAbsolute/Zürich Kloten
    Current pressure at station level (QFE) in hPa.
  • swissmeteo/pressureRelative/Zürich Kloten
    Current pressure at sea level (QFF) in hPa.

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:

mqtt2swissmeteo's People

Contributors

claudiospizzi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

mqtt2swissmeteo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.