SmartWeather - Get local weather data combined with AI powered Forecast

I’m sorry, now it’s working.
I don’t know why but after some reboots the entities became available.

Thanks

Hi Bjarne (and others wiser than me), I’m running a bit of a home assistant edge case setup.

I’ve got home assistant running in a docker container, not running HACS.

I’ve manually copied smartweather into the custom_components directory, stopped and restarted home assistant, reloaded the browser cache, gone to Configuration in the home assistant UI, clicked on ‘+ Add Integration’ and selected ‘WeatherFlow Smart Weather’ (so I know it’s found the custom component), but then it fails with the error pop-up “Config flow could not be loaded”.

In the home-assistant.log, I’ve got the error:

2021-04-20 11:36:35 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading configuration flow for integration smartweather: cannot import name 'FORECAST_TYPE_DAILY' from 'custom_components.smartweather.const' (/config/custom_components/smartweather/const.py)

I can see that it has a dependency on pysmartweatherio, and is trying to find this constant. But I can also see that pip has automatically downloaded pysmartweatherio under the docker config directory into:

.local/lib/python3.8/site-packages/pysmartweatherio

which means that the container version of home-assistant python should be seeing it in it’s module path

For info, I’m using the following docker container image:

Any help would be very appreciated.

Thank in advance.

Hi, sorry for that. Worked it out. Pulled the v2.2.3 tagged versions rather than master, and it fixed the problem. Wasn’t a import problem, it was that the code on main appears to be in the middle of an update.

1 Like

Im trying to install this component, but I get the error message :
Anyone else come across this?

Error

Config flow could not be loaded

Please log an issue on Github and also please describe when in the process this occurs - After you fill in the dialog box, or before the box is displayed. Please also report the Station ID if you are OK with that, then I can check if there is something wrong with the data returned - causing the issue.

Issue reporting here

Update on Access to Public Stations

From the beginning of this Integration, there has been a developer API Key/Token, that anyone could use to access Public available stations, even though they were not the owner of this station. That key officially discontinued by the end of 2020. (It seems still to work, but I guess not for long).

I have gotten some request on how people could then access stations they do not own, and the short answer is: You can not.

WeatherFlow has issued a Tempest API Remote Data Access Policy document, which states that access to stations you do not own, will require a licensed enterprise application, so in a short some kind of commercial agreement with WeatherFlow. You can see the matrix below:

This integration will work as usual for all users who own a WeatherFlow station, if they have retrieved their personal API Token, but for others there will no longer be any access, once the developer key finally stops working.

This is very unfortunate, but there is nothing I can do about it.

In anticipation of the dev key being disabled, I’ve started looking for other weather integrations and I’ve mostly found ones that provide the info I need with one key exception - outdoor brightness, in lux. Love that particular sensor in SmartWeather. Anyone know of a replacement?

A few updates back Weatherflow used to have an entity called weather.smartweather_tempest but I can no longer get that to show. Is it gone or am I missing something? I have the “weatherflow smart weather UDP sensor” installed in hacs which is where I think this entity came from but I cannot get the forecast from my Tempest. I have several lovelace items dependent on this entity which are dead. Any ideas or thoughts please and thanks!

Not completely sure based on your description, but an educated guess based on my own experience with the different methods of getting Tempest data into HA. If you are, in fact, using the UDP version, I don’t believe it has the forecast information (what would be in your “weather.smartweather_tempest” entity. You might try, or make sure you are using the SmartWeather integration (without the UDP bit)

There are two different integrations that are similar in name: 1. SmartWeatherUDP - A custom integration that uses the local UDP messages from Air/Sky/Tempest to create HA sensors. To my knowledge this does not pull the forecast information from WeatherFlow and therefore would not create/populate the weather.xxx entity; and 2. SmartWeather - Also a custom integration, but uses the WeatherFlow REST api to pull both the current sensor information as well as the WeatherFlow forecast. This one does create a weather entity, mine were weather.smartweather_daily and hourly.

I have used both, but have now moved to WeatherFlow2MQTT (also a Bjarne creation) that provides both the local data and WeatherFlow forecast information via MQTT.

Good luck

You are right. There is two editions of Integrations for Home Assistant.

  • SmartWeather, which uses the REST API from WeatherFlow and also pulls the Forecast data from WeatherFlow. This Integration is still maintained by me.
  • Smart Weather UDP for Home Assistant, which uses the UDP API, to pull data. I am no longer maintaining this.

As Charles pointed out, I have created a third Integration, that uses the UDP API, and MQTT Discovery to add the sensors to Home Assistant. With this Integration there is an option, to add the Forecast from your station.

Has anyone found something similar to what Weatherflow was doing with the developer key? I’ve lost my integration due to them revoking and was hoping to find something similar since I run my sprinklers off of this (it was working exceptionally well too). It’s a real shame they revoked that. Ensured I will not buy any of their equipment. I have suggested a low-cost subscription model to regain that access to them. I doubt it’ll happen, but never know.

Hi @briis, can you please advice me in connecting my local Tempest system to the HA without the use of the internet. So only local access. I have installed your WeatherFlow2MQTT software, Node-red and Mosquitto broker in HA, but cant figure out how to get the tempest connected and displaying data in HA. I am lost. :slight_smile: Hope you can give me some steps to take. Thanks in advance!

I am on way out right now, but I will post something for you tomorrow morning (local european time).

Sounds great!!

have a nice evening.

We can knock out of few steps until tomorrow.

Do you have anything like MQTT Explorer so you can see what is on your MQTT broker very easily?

What Docker command (full command) did you use to setup WeatherFlow2MQTT (don’t include any MQTT password or API token)?

For this you should not need Node-Red but we can use it to help troubleshoot, since you can get UDP packets with Node-Red.

Do you have verification that the Tempest is transmitting (such as the APP)?

Basically, if you don’t use the Forecast option this integration does not require any Internet access. You will have access to all your local data, but no Weather Forecast.

As @GlennHA is also stating we need more info on how you set it up, and if anything is coming in to HA.

  1. How did you install the Integration? As a separate Docker Container or a Home Assistant Add-On?
  2. Could you inspect the log from the Docker run, and post what you see.
  3. Do you have a tool to inspect your MQTT Server data? If not, there are many out there, find one, connect to your MQTT server and look for the topic homeassistant/sensor/weatherflow2mqtt_# You should have at least 2 topics: 1 for the HUB and 1 for each Device (Tempest or AIR/SKY). And if Forecast is enabled, there is a 3. topic.

Let us start with that.

Hi @briis and @GlennHA please see below.

I installed the “WeatherFlow-2-MQTT for Home Assistant” add-on from here.

After this I installed the “Mosquitto broker” add-on as this was a prerequisite.

Then I installed the "Node-RED" add-on to be able to work with mqtt.

This is all I did.

I did not use any docker as I am not sure how to work docker or install it on my network. I installed the “Mosquitto broker” Add-on instead.

I have never worked with mqtt before. I thought that the “Node-RED” add-on would be the correct add-on to work with mqtt data.

If you would be able to give me some example steps to get the first sensor integrated in the dashboard using the above setup, I can copy that same process for the other sensors. As mentioned, I have never worked with Node_Red, Mosquitto broker or mqtt so steps are appreciated. :slight_smile:

And yes, Tempest is working fine as I can see the data on their APP on my phone.

Hope of hearing from you.

Once you done the above, all the sensors should automatically show up in Home Assistant, you don’t need to do anything else. As you installed them in the above order, you might need to restart the WeatherFlow Add-On, as this requires the MQTT Broker running when starting.

The go to Developer Tools and you should a whole bunch of sensors called something like sensor.weatherflow2mqtt*****

Thanks, that did the trick! I had to restart a few times to get it all loaded correctly. :slight_smile:

I have been trying to work now with node-red. but not sure how to start. Could you or someone give a simple step example how to get, for example, the Wind sensor loaded into Note-red and than add a condition that when the wind is above a certain speed another device is triggered, and that this state wont be changed for 10 min even if the wind goes below the threshold again? Once I understand how this is done in node-red, I can start expanding myself onto this. :slight_smile:

Do you have the Home Assistant websocket node installed in Node-Red?

You could poll UDP thru Node-Red directly but I would recommend the HA addon to Node-Red, which in turn will also allow you to perform automations via Node-Red.

Here is my work in progress for current conditions flow in Node-Red, on example in it is determining if it Windy. It is specifically setup for my setup but you should be able to get an insight. You can copy the below and ‘import’ it into Node-Red. Nevermind…it is too big to post here. I will create a simple example later.