SmartWeather - Get local weather data combined with AI powered Forecast

I’ve tried v0.0.3 but am still getting the same error on config check.

Obviously this means there is no extra logs info as I can’t get HA (hassio) to start with this:

smartweather:
  station_id: '2777'
  api_key: 20c70eae-e62f-4d3b-b3a4-8586e90f3ac8  # Free development API key, see https://weatherflow.github.io/SmartWeather/api/#getting-started

Unfortunately I have no other ideas on what to look for right now. It is very hard to debug, if I can’t force the error. But I’ll continue to search and see if I can’t find a way to reproduce what you experience.

Hi briis,

I switched from Hass.io to Hassbian, still the same error as before

Invalid config for [smartweather]: required key not provided @ data['platform']. Got None. (See ?, line ?). Please check the docs at https://home-assistant.io/components/smartweather/

but I did notice this for the first time:

9:20 PM components/__init__.py - perhaps look there?

I just also did a fresh install of HA (Version 0.89.2) and just took the auto generated configuration.yaml and then added the smartweather components. This works without problems. Can you confirm that at least the smartweather parts are similar, or even better post your whole configuration.yaml. Just so that I 100% can rule out that the problem is there.

homeassistant:
  name: Home
  latitude: 55.6786
  longitude: 12.5589
  elevation: 0
  unit_system: metric
  time_zone: Europe/Copenhagen
  customize: !include customize.yaml

default_config:

smartweather:
  station_id: 2777
  api_key: 20c70eae-e62f-4d3b-b3a4-8586e90f3ac8

# Sensors
sensor:
  - platform: smartweather

binary_sensor:
  - platform: smartweather

# Text to speech
tts:
  - platform: google

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml

I don’t know if that reply is aimed at me (I’m using hassio) but my config (at least the relevant bits) is identical to yours but if I include this the config check fails.

smartweather:
  station_id: 2777
  api_key: 20c70eae-e62f-4d3b-b3a4-8586e90f3ac8  # Free development API key, see https://weatherflow.github.io/SmartWeather/api/#getting-started

image

I have added the files and i’'m trying to only add the smartweather to connect my weatherflow. I have downloaded your git and renamed the folder to smartweather

i even tried it with your code from the example above

# https://github.com/briis/smartweather
smartweather:
  station_id: 2777
  api_key: 20c70eae-e62f-4d3b-b3a4-8586e90f3ac8

but i keep getting the following error:

I’m running HA 0.89.2 in a docker on a Ubuntu NUC

It’s in line with your issue -> https://github.com/briis/smartweather/issues/2 I have added some more screenshots at the issue

Thanks for the posts bot @lubbertkramer and @klogg. I just did Check Config on my system, and I get the same error (Finaly something I can replicate). I need to find out why this happens.
But even with that error the sensors should still be created as they do on my system. Please look in <> States and see if you have any sensors containing ‘smartweather’

GitHub release
I uploaded a new release that should fix the Config Validation error. I would appreciate if you could validate this.

You’ll be glad to know it passed the config check.

I’ll let you know how I get on with it.

Thanks!

Glad to hear I finally found the error.

I just spent the last couple of days setting up WeeWX, MQTT, and a whole host of sensors to collect data from my WeatherFlow air/sky without knowing that this was going on :). Thanks for doing this, and I’ll definitely check it out.

Edit: Working great! I’m already using the animated Dark Sky weather card, so I just strategically replaced local entities where I can from this component.

1 Like

GitHub release
Just made some more edits and added a few more sensors. Here are the changes:

  • Added new Sensor lightning_count . Displaying how many lightning strikes have occurred within the last minute. This sensor has some extra Attributes describing when a lightning was last detected, the distance away from the Weather Station and how many lightning strikes were detected within the last 3 hours.
    Please note : Depending of the placement of the sensor, it might sometimes produce false positives.
  • Added new Sensor wind_lull . This shows the lowest wind recorded within the last minute.
  • Added new Binary Sensor lightning . True if a lightning strike has occurred within the last minute.
  • Updated README.md with more descriptions and added the new Sensors
  • More code clean-up

Glad it works for you @rccoleman

I’m comparing the WeeWX-processed and the WF REST values side-by-side and it looks like the WeeWX “apparent temperature” and the WeatherFlow “Feels like” temperature are different. It’s a calculated value, with the WeeWX currently a few degrees lower than WF, which just matches the ambient temperature. I’ll have to look into how WeeWX does their calculation.

The local UDP version that I set up is updated more often and obviously not cloud-based, but it was a lot more work to get going and it’s almost exactly the same data. I would just use this custom component if I was starting from scratch.

Working here too, thanks a bunch! Have you posted this on the Weatherflow forum? I’m sure there’d be a few appreciative people there for it, too.

@rccoleman The Feels like Temperature in the REST API from WeatherFlow uses the formula you can find here: Derived Feels Like. Basically if the Temperature is below 10°C (50°F) it uses Wind Chill and above 26°C (80°F) it uses Heat Index. How exactly WeeWX does that calculation I have not looked in to.

I have a ‘sort off’ of working model that uses the UDP interface instead of the REST API. Obviously this will require people to have their own Weather Station, and thus this Component would be for a smaller audience - but as you write it has some advantages in reporting, due to Rapid Wind and not Cloud Based.

I have a ‘working component’ using the UDP interface, but currently it only catches Rapid Wind and Hub Status, as the UDP Listner needs to run in a Continues Loop in the background to make sure we catch all data. And my skills are not sufficient to create that - but if anyone has ideas on how to have a background process that can push data in to HASS, I would love to have an example.

@efleming Really glad it works, and thanks for helping testing it. No I have not posted it in the WeatherFlow forum yet, I wanted to make sure we had something working first. But I will do.

Any chance of getting this included in the Tracker Card?

@briis Got it working now, thanks and great work! I also prefer the UDP way, have next to your component also my own station included by Node-Red which has an advantage because i don’t need the internet / api for information. Now i use your component to use it as a combined weather card and the Node-Red sensors as trigger for automations

1 Like

I will look in to the Tracker Card option. I think I read somewhere that the Custom Updater, which is feeding the Tracker Card, is being phased out, and something else is replacing it, so I will do some digging, and see how I can make it easier to update.

GitHub release
I managed to convert the subroutines found in the smartweatherio directory, to a PyPi module, and that means that from Version 0.1.0, you no longer need the files in this directory, and you can delete the subdirectory. The PyPi module pysmartweatherio will be automatically installed on first run of this platform.

Besides from that, only code cleanup to adhere to the Style Guidelines in Home Assistant.

Hope this works for everyone, else please let me know.