Does your artifact manager get in the way? Join us on Oct. 8 at 10am PT, to discuss how npm can help.Sign up »


2.0.0 • Public • Published


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.


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" ]


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://",
        "name": "swissmeteo",
        "secure": false
    "swissmeteo": {
        "pollIntervalSec": 60,
        "weatherStation": {
            "id": "KLO",
            "name": "Zürich Kloten"


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.


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:


npm i mqtt2swissmeteo

Downloadsweekly downloads









last publish


  • avatar
Report a vulnerability