Giter Site home page Giter Site logo

mbweather's Introduction

Meteobridge Weather for Home Assistant

GitHub release hacs_badge

***** Custom Component no longer maintained *****

This Custom Component will no longer be maintained. It has been replaced with a new program called Meteobridge Datalogger which you can find here The new Integration does not have a weather component. I decided to remove weather as it was based on DarkSky which has recently been bought by Apple, and will discontinue service.


This a Custom Integration for Home Assistant. It combines real-time weather readings from a Meteobridge Weather Logger and Forecast data from Dark Sky.

Meteobridge is a small device that connects your personal weather station to public weather networks like "Weather Underground". This allows you to feed your micro climate data to a weather network in the Internet and to have it there visible from wherever you are. Meteobridge also has many ways of delivering data to your local network, and this furthermore reduces the dependencies for Cloud Services when you need very local Weather Data.
Meteobridge can be delivered as complete HW and SW packages, or there is a SW solution that you then can install yourself on specific HW.
If you have any Davis Weatherstation I would recommend the Meteobridge Nano SD solution or else the Meteobridge PRO solution.

This Custom Integration consist of 4 parts:

  1. The main component which sets up the link to the Meteobridge Data Logger
  2. A Binary Sensor component, that gives a couple of binary sensors, derived from the data delivered
  3. A Sensor component delivering realtime data from the Data Logger
  4. A Home Assistant Weather component, that retrieves Forecast data from Dark Sky and then replaces Dark Skys current data with the data from the local weatherstation

The mbweather component uses a built-in REST API from Meteobridge to retrieve current data for a local WeatherStation, which means that if you don't use the Weather component, everything is running inside your local network

Requirements

This Custom Integration requires that you have a Meteobridge HW Device connected to a Weather Station on your local Network.

Manual Installation

To add MBWEATHER to your installation, create this folder structure in your /config directory:

custom_components/mbweather. Then, drop the following files into that folder:

__init__.py
manifest.json
sensor.py
binary_sensor.py
weather.py

HACS Installation

This Integration is part of the default HACS store, so search for Meteobridge Weather in HACS.

Configuration

Start by configuring the core platform. No matter which of the entities you activate, this has to be configured. The core platform by itself does nothing else than fetch the current data from Meteobridge, so by activating this you will not see any entities being created in Home Assistant.

Edit your configuration.yaml file and add the mbweather component to the file:

# Example configuration.yaml entry
mbweather:
  host: <ip address of your Meteobridge Logger>
  username: <your Meteobridge username>
  password: <Your Meteobridge Password>
  use_ssl: <false or true>

host:
(string)(Required) Type the IP address of your Meteobridge Logger. Example: 192.168.1.10

username:
(string)(Required) In order to access data on the Meteobridge Data Logger you will need the username and password you use to login with. Username will typically be meteobridge

password
(string)(Required) The password you are using to access your Meteobridge Data Logger.

use_ssl
(string)(Optional) Type True if you access your Data Logger with https.
Default value: False

Binary Sensor

In order to use the Binary Sensors, add the following to your configuration.yaml file:

# Example configuration.yaml entry
binary_sensor:
  - platform: mbweather
    monitored_conditions:
      - raining
      - freezing
      - lowbattery

Configuration Variables

name
(string)(Optional) Additional name for the sensors.
Default value: mbw

monitored_conditions
(list)(optional) Sensors to display in the frontend.
Default: If ommitted all Sensors are displayed

  • raining - A sensor indicating if it is currently raining
  • freezing - A sensor indicating if it is currently freezing outside.
  • lowbattery - A sensor indicating if the attached Weather Station is running low on Battery

Sensor

In order to use the Sensors, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: mbweather
    wind_unit: kmh
    monitored_conditions:
      - temperature
      - temphigh
      - templow
      - dewpoint
      - windchill
      - heatindex
      - feels_like
      - windspeedavg
      - windspeed
      - windbearing
      - winddirection
      - windgust
      - raintoday
      - rainrate
      - humidity
      - pressure
      - uvindex
      - solarrad
      - in_temperature
      - in_humidity
      - condition
      - precip_probability
      - temp_mmin
      - temp_mmax
      - temp_ymin
      - temp_ymax
      - windspeed_mmax
      - windspeed_ymax
      - rain_mmax
      - rain_ymax
      - rainrate_mmax
      - rainrate_ymax
      - forecast

Configuration Variables

wind_unit
(string)(optional) If Home Assistant Unit System is metric, specify kmh to get units in km/h. Else this has no effect.
Default Value: m/s if Home Assistant Unit System is metric, and mph if Unit System is imperial

name
(string)(Optional) Additional name for the sensors.
Default value: mbw

monitored_conditions
(list)(optional) Sensors to display in the frontend.
Default: All Sensors are displayed

  • temperature - Current temperature
  • temphigh - Highest temperature meassured today
  • templow - Lowest temperature meassured today
  • dewpoint - Dewpoint. The atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form
  • windchill - How cold does it feel. Only valid if temperature is below 10°C (50°F)
  • heatindex - How warm it feals. Only valid if temperature is above 26.67°C (80°F)
  • feels_like - How the temperature is feeling.
  • windspeedavg - Average Wind Speed in the last 10 minuttes
  • windspeed - Current Wind Speed
  • windbearing - Wind bearing in degrees (Example: 287°)
  • winddirection - Wind bearing as directional text (Example: NNW)
  • windgust - Highest Wind Speed in the last minute
  • raintoday - Precipitation since midnight
  • rainrate - The current precipitation rate - 0 if it is not raining
  • humidity - Current humidity in %
  • pressure - Current barometric pressure, taking in to account the position of the station
  • uvindex - Current UV Index
  • solarrad - Current Solar Radiation meassured in W/m2
  • in_temperature - Temperature meassured by the Meteobridge Logger (indoor)
  • in_humidity - Humidity meassured by the Meteobridge Logger (indoor)
  • condition - Current condition state. Only supplies data if the weather component is activated.
  • precip_probability - Precipitation probability for the day. Only supplies data if the weather component is activated.
  • temp_mmin - Current month minimum outdoor temperature
  • temp_mmax - Current month maximum outdoor temperature
  • temp_ymin - Current year minimum outdoor temperature
  • temp_ymax - Current year maximum outdoor temperature
  • windspeed_mmax - Current month maximum wind speed
  • windspeed_ymax - Current year maximum wind speed
  • rain_mmax - Current month accumulated rain
  • rain_ymax - Current year accumulated rain
  • rainrate_mmax - Current month maximum rain rate
  • rainrate_ymax - Current year maximum rain rate
  • forecast - A string with the current weather forecast, delivered by the local Weather Station. Note: Not all Weather Station will deliver this. I only know of the Davis Weather Stations for now.

Weather

The Weather Entity uses Dark Sky for forecast data. So in order to use this Entity you must obtain a API Key from Dark Sky. The API key is free but requires registration. You can make up to 1000 calls per day for free which means that you could make one approximately every 86 seconds.

The difference between using this entity and the standard Dark Sky entity, is that Current data is coming from the local weather station, making it much more accurate than that what Dark Sky delivers.

On top of the standard attributes that a weather entity has available, the following additional attributes have been added to this Weather Entity: Rain Today and Rain Rate. These are all Current values.

In order to use the Weather component, add the following to your configuration.yaml file:

# Example configuration.yaml entry
weather:
  - platform: mbweather
    api_key: <Your Dark Sky API key>

Configuration Variables

api_key
(string)(Required) Your Dark Sky API key.
name
(string)(Optional) Additional name for the sensors.
Default value: mbw
mode
(string)(Optional) hourly for hour based forecast, and daily for day based forecast
Default value: hourly

mbweather's People

Contributors

briis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mbweather's Issues

Conversion issue with sensor

The temperature sensors are showing Celsius numbers, while showing the F temp symbol. Being the the US, it should be converting the Celsius to Fahrenheit. Correct current temp is 52F.

Rain seems correct, Wind unknown since its been 0 since I've installed the integration. Will update whenever it shows a wind speed.

While fixing this, can you add the option to pick and choose which units you use for everything?

Thanks

mbweather image

Stability Error Reported by Home Assistant

2020-05-05 06:16:14 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the 
event loop. This is causing stability issues. Please report issue to the custom component
author for mbweather doing I/O at custom_components/mbweather/meteobridge.py, line 45:
response = self.req.get(reqUrl)

Add UV and Solar radiation sensor

I would really like to be able to grab the UV and solar radiation sensor data from my Davis/meteobridge. Possible? Fantastic work on mbweather - its a great piece of work!

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.