Seems not.
I looked up Murwillumbah http://www.bom.gov.au/nsw/forecasts/murwillumbah.shtml on BOM and it’s a hybrid of Product derived from IDN11060 and IDN11024 and I searched the XML files (which is what the BOM FTP component uses) and Murwillumbah doesn’t even appear in them. You could try Byron Bay but I think it may also end up with data missing. Try also Tamworth, Tweed Heads, Armidale, Coffs Harbour or Lismore as well as they DO seem to have data. Good choices. Those should work.
David
thanks - I’ll have a go soon. I know that i can get the standard weather card to pull data and display. I probably just need to concentrae more.
Patrick
Hi David. Would you be able to tell me what I might be doing wrong? Everything is work well with exception of the icons. Every days forecast icon is always the same as the current days icon. When I hover my mouse over the days the tool tip will have the correct forecast text.
Love ace card
- current_data_top_margin: 5em
current_text_alignment: left
current_text_font_size: 1.5em
current_text_left_pos: 6em
current_text_top_margin: 0em
current_text_width: 100%
entity_apparent_temp: sensor.bom_bunbury_feels_like_c
entity_current_conditions: sensor.bom_bunbury_icon_0
entity_current_text: sensor.bom_current_text
entity_daily_summary: sensor.bom_bunbury_detailed_summary_0
entity_daytime_high: sensor.bom_today_max
entity_daytime_low: sensor.bom_today_min
entity_fire_danger: sensor.bom_fire_danger
entity_fire_danger_summary: sensor.bom_fire_danger_summary
entity_forecast_high_temp_1: sensor.bom_bunbury_max_temp_c_1
entity_forecast_high_temp_2: sensor.bom_bunbury_max_temp_c_2
entity_forecast_high_temp_3: sensor.bom_bunbury_max_temp_c_3
entity_forecast_high_temp_4: sensor.bom_bunbury_max_temp_c_4
entity_forecast_high_temp_5: sensor.bom_bunbury_max_temp_c_5
entity_forecast_icon_1: sensor.bom_bunbury_icon_1
entity_forecast_icon_2: sensor.bom_bunbury_icon_2
entity_forecast_icon_3: sensor.bom_bunbury_icon_3
entity_forecast_icon_4: sensor.bom_bunbury_icon_4
entity_forecast_icon_5: sensor.bom_bunbury_icon_5
entity_forecast_low_temp_1: sensor.bom_bunbury_min_temp_c_1
entity_forecast_low_temp_2: sensor.bom_bunbury_min_temp_c_2
entity_forecast_low_temp_3: sensor.bom_bunbury_min_temp_c_3
entity_forecast_low_temp_4: sensor.bom_bunbury_min_temp_c_4
entity_forecast_low_temp_5: sensor.bom_bunbury_min_temp_c_5
entity_gust_kmh: sensor.bom_bunbury_wind_gust_kmh
entity_humidity: sensor.bom_bunbury_relative_humidity
entity_pop: sensor.bom_bunbury_chance_of_rain_0
entity_pop_1: sensor.bom_bunbury_chance_of_rain_1
entity_pop_2: sensor.bom_bunbury_chance_of_rain_2
entity_pop_3: sensor.bom_bunbury_chance_of_rain_3
entity_pop_4: sensor.bom_bunbury_chance_of_rain_4
entity_pop_5: sensor.bom_bunbury_chance_of_rain_5
entity_pop_intensity: sensor.bom_bunbury_rain_today
entity_pos_1: sensor.bom_bunbury_possible_rainfall_1
entity_pos_2: sensor.bom_bunbury_possible_rainfall_2
entity_pos_3: sensor.bom_bunbury_possible_rainfall_3
entity_pos_4: sensor.bom_bunbury_possible_rainfall_4
entity_pos_5: sensor.bom_bunbury_possible_rainfall_5
entity_possible_today: sensor.bom_bunbury_possible_rainfall_0
entity_press: sensor.bom_bunbury_pressure_mb
entity_pressure: sensor.bom_bunbury_pressure_mb
entity_summary_1: sensor.bom_bunbury_summary_1
entity_summary_2: sensor.bom_bunbury_summary_2
entity_summary_3: sensor.bom_bunbury_summary_3
entity_summary_4: sensor.bom_bunbury_summary_4
entity_summary_5: sensor.bom_bunbury_summary_5
entity_sun: sun.sun
entity_temperature: sensor.bom_bunbury_air_temp_c
entity_uv_alert: sensor.bom_uv_alert
entity_uv_alert_summary: sensor.bom_uv_alert_summary
entity_wind_bearing: sensor.bom_bunbury_wind_direction
entity_wind_speed: sensor.bom_bunbury_wind_speed_kmh
slot_l1: daytime_high
slot_l2: daytime_low
slot_l3: wind
slot_l4: pressure
slot_l5: sun_next
slot_r1: pop
slot_r2: humidity
slot_r3: uv_alert
slot_r4: fire_danger
slot_r5: sun_following
title: BOM Weather
tooltip_bg_color: 'rgb( 75,155,239)'
tooltip_border_color: 'rgb(255,161,0)'
tooltip_border_width: 1
tooltip_caret_size: 5
tooltip_fg_color: '#fff'
tooltip_left_offset: -12
tooltip_width: 110
tooltips: true
type: 'custom:bom-weather-card'
Thanks,
Simon
Can you check dev-tools and see what the state is for all these: sensor.bom_bunbury_icon_1
sensor.bom_bunbury_icon_2
sensor.bom_bunbury_icon_3
sensor.bom_bunbury_icon_4
sensor.bom_bunbury_icon_5
Sorry I can’t find that in the chrome dev condole.
I have these errors though
bom-weather-card.js:836 Uncaught (in promise) ReferenceError: popunit is not defined
at bom-weather-card.js:836
at Array.forEach (<anonymous>)
at HTMLElement.updateValues (bom-weather-card.js:830)
at HTMLElement.set hass [as hass] (bom-weather-card.js:812)
In Home Assistant all of the entities show the same forecast icon
I’m using you weather.yaml package.
# Download the BOM icons from https://github.com/DavidFW1960/bom_forecast/blob/3d5c5dce220a302e719f497c0ee755bacda0f04b/bom_icons.zip
# and save them under <config-dir>/www/icons/bom_icons/ (Note this is for the example in the ftp component. This is different to the animated card.)
# For the animated card follow the instructions and put the icons in <config-dir>/www/icons/weather_icons. This is a DIFFERENT icon file to the above.
# Show BOM Satellite and Radar
sensor:
- platform: bom
station: !secret bom_station_id
name: !secret bom_name
monitored_conditions:
- apparent_t
- delta_t
- gust_kmh
- gust_kt
- air_temp
- dewpt
- rain_trace
- rel_hum
- wind_dir
- wind_spd_kmh
- wind_spd_kt
- press
- platform: bom_forecast
product_id: !secret bom_product_id
name: !secret bom_name
forecast_days: 6
rest_of_today: true
friendly: false
friendly_state_format: '{max}, {summary}'
monitored_conditions:
- 'max'
- 'min'
- 'chance_of_rain'
- 'possible_rainfall'
- 'summary'
- 'detailed_summary'
- 'icon'
- 'uv_alert'
- 'fire_danger'
- platform: template
sensors:
bom_current_text:
value_template: >
{% set val = states('sensor.bom_bunbury_summary_0').split('.')[0] %}
{{ val | title }}
bom_uv_alert:
value_template: >
{%- if states('sensor.bom_bunbury_uv_alert_0') == '##' -%}
UV Today: No Data
{%- elif states('sensor.bom_bunbury_uv_alert_0') != 'n/a' -%}
UV Today: {{ states('sensor.bom_bunbury_uv_alert_0') }}
{%- elif states('sensor.bom_bunbury_uv_alert_1') == '##' -%}
UV Tomorrow: No Data
{%- else -%}
UV Tomorrow: {{ states('sensor.bom_bunbury_uv_alert_1') }}
{%- endif -%}
bom_uv_alert_summary:
value_template: >
{%- if states('sensor.bom_bunbury_uv_alert_0') == '##' -%}
{% set val = 'No Data' %}
{%- elif states('sensor.bom_bunbury_uv_alert_0') != 'n/a' -%}
{% set val = states('sensor.bom_bunbury_uv_alert_0').split('[')[1].split(']')[0] %}
{%- elif states('sensor.bom_bunbury_uv_alert_1') == '##' -%}
{% set val = 'No Data' %}
{%- elif states('sensor.bom_bunbury_uv_alert_1') != 'n/a' -%}
{% set val = states('sensor.bom_bunbury_uv_alert_1').split('[')[1].split(']')[0] %}
{%- else -%}
{%- set val = 'No Data' -%}
{%- endif -%}
{{ val | title }}
bom_fire_danger:
value_template: >
{%- if states('sensor.bom_bunbury_fire_danger_0') == '##' -%}
Fire Danger Today: No Data
{%- elif states('sensor.bom_bunbury_fire_danger_0') != 'n/a' -%}
Fire Danger Today: {{ states('sensor.bom_bunbury_fire_danger_0') }}
{%- elif states('sensor.bom_bunbury_fire_danger_1') == '##' -%}
Fire Danger Tomorrow: No Data
{%- else -%}
Fire Danger Tomorrow: {{ states('sensor.bom_bunbury_fire_danger_1') }}
{%- endif -%}
bom_fire_danger_summary:
value_template: >
{%- if states('sensor.bom_bunbury_fire_danger_0') == '##' -%}
No Data
{%- elif states('sensor.bom_bunbury_fire_danger_0') != 'n/a' -%}
{{ states('sensor.bom_bunbury_fire_danger_0') }}
{%- elif states('sensor.bom_bunbury_fire_danger_1') == '##' -%}
No Data
{%- else -%}
{{ states('sensor.bom_bunbury_fire_danger_1') }}
{%- endif -%}
bom_forecast_0:
entity_id:
- sensor.bom_today_max
- sensor.bom_today_min
- sensor.bom_bunbury_chance_of_rain_0
- sensor.bom_bunbury_icon_0
friendly_name: "Today"
value_template: >
{{states('sensor.bom_today_max')|round(0)}}°/{{states('sensor.bom_today_min')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_0')|round(0)}}%
entity_picture_template: >-
{%- if states('sun.sun') == 'below_horizon' and (states('sensor.bom_bunbury_icon_0') == 'fog' or states('sensor.bom_bunbury_icon_0') == 'haze' or states('sensor.bom_bunbury_icon_0') == 'light-showers' or states('sensor.bom_bunbury_icon_0') == 'partly-cloudy' or states('sensor.bom_bunbury_icon_0') == 'showers') -%}
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_0') ~ '-night.png' }}
{%- else -%}
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_0') ~ '.png' }}
{%- endif -%}
bom_forecast_1:
entity_id:
- sensor.bom_bunbury_max_temp_c_1
- sensor.bom_bunbury_min_temp_c_1
- sensor.bom_bunbury_chance_of_rain_1
- sensor.bom_bunbury_icon_1
friendly_name_template: >
{%- set date = as_timestamp(now()) + (1 * 86400 ) -%}
{{ date | timestamp_custom('Tomorrow (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_1')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_1')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_1')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_1') ~ '.png' }}
bom_forecast_2:
entity_id:
- sensor.bom_bunbury_max_temp_c_2
- sensor.bom_bunbury_min_temp_c_2
- sensor.bom_bunbury_chance_of_rain_2
- sensor.bom_bunbury_icon_2
friendly_name_template: >
{%- set date = as_timestamp(now()) + (2 * 86400 ) -%}
{{ date | timestamp_custom('%A (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_2')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_2')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_2')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_2') ~ '.png' }}
bom_forecast_3:
entity_id:
- sensor.bom_bunbury_max_temp_c_3
- sensor.bom_bunbury_min_temp_c_3
- sensor.bom_bunbury_chance_of_rain_3
- sensor.bom_bunbury_icon_3
friendly_name_template: >
{%- set date = as_timestamp(now()) + (3 * 86400 ) -%}
{{ date | timestamp_custom('%A (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_3')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_3')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_3')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_3') ~ '.png' }}
bom_forecast_4:
entity_id:
- sensor.bom_bunbury_max_temp_c_4
- sensor.bom_bunbury_min_temp_c_4
- sensor.bom_bunbury_chance_of_rain_4
- sensor.bom_bunbury_icon_4
friendly_name_template: >
{%- set date = as_timestamp(now()) + (4 * 86400 ) -%}
{{ date | timestamp_custom('%A (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_4')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_4')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_4')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_4') ~ '.png' }}
bom_forecast_5:
entity_id:
- sensor.bom_bunbury_max_temp_c_5
- sensor.bom_bunbury_min_temp_c_5
- sensor.bom_bunbury_chance_of_rain_5
- sensor.bom_bunbury_icon_5
friendly_name_template: >
{%- set date = as_timestamp(now()) + (5 * 86400 ) -%}
{{ date | timestamp_custom('%A (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_5')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_5')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_5')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_5') ~ '.png' }}
bom_forecast_6:
entity_id:
- sensor.bom_bunbury_max_temp_c_6
- sensor.bom_bunbury_min_temp_c_6
- sensor.bom_bunbury_chance_of_rain_6
- sensor.bom_bunbury_icon_6
friendly_name_template: >
{%- set date = as_timestamp(now()) + (6 * 86400 ) -%}
{{ date | timestamp_custom('%A (%-d/%-m)') }}
value_template: >
{{states('sensor.bom_bunbury_max_temp_c_6')|round(0)}}°/{{states('sensor.bom_bunbury_min_temp_c_6')|round(0)}}°/{{states('sensor.bom_bunbury_chance_of_rain_6')|round(0)}}%
entity_picture_template: >-
{{ '/local/icons/bom_icons/' ~ states('sensor.bom_bunbury_icon_6') ~ '.png' }}
bom_today_max:
entity_id:
- sensor.bom_bunbury_max_temp_c_0
- sensor.today_temp_bom
value_template: >
{%- if states('sensor.bom_bunbury_max_temp_c_0') == 'n/a' -%}
{{ state_attr('sensor.today_temp_bom', 'max_value') }}
{% else %}
{{ states('sensor.bom_bunbury_max_temp_c_0') }}
{% endif %}
bom_today_min:
entity_id:
- sensor.bom_bunbury_min_temp_c_0
- sensor.today_temp_bom
value_template: >
{%- if states('sensor.bom_bunbury_min_temp_c_0') == 'n/a' -%}
{{ state_attr('sensor.today_temp_bom', 'min_value') }}
{% else %}
{{ states('sensor.bom_bunbury_min_temp_c_0') }}
{% endif %}
- platform: statistics
name: today_temp_bom
sampling_size: 150
entity_id: sensor.bom_bunbury_air_temp_c
max_age:
hours: 24
automation:
- alias: 'Update BOM Icons'
trigger:
- event: start
platform: homeassistant
- entity_id: sun.sun
platform: state
to: 'above_horizon'
- entity_id: sun.sun
platform: state
to: 'below_horizon'
action:
- service: homeassistant.update_entity
entity_id: sensor.bom_forecast_0, sensor.bom_forecast_1, sensor.bom_forecast_2, sensor.bom_forecast_3, sensor.bom_forecast_4, sensor.bom_forecast_5, sensor.bom_forecast_6
Not in chrome… in Home Assistant - Developer side panel and states…
What is the state of al those entities?
So the state is the same for all entities hence the icon displayed is the same as well.
Yes it is but the FTP component is reporting the state for all of them as Partly Cloudy… The card is displaying as I would expect.
Hi David, is there any way to make 5 day forecast have day icons all the time as i believe that this is the next days forecast not night?
Kind Regards,
Simon
It would be a huge undertaking to do that. It currently determines if it’s day or night and then sets all the icons for that if they have a night version. There’s little gain in the major rewrite for that. If you want you could copy the day version of the icon over the night one and then it would always use the day icons.
I thought as much. Thanks.
Pushed a new release that will do hybrid icons (a mix of old and new ones). Uses the old icons for everything except fog, haze, dust and windy where it will use the new ones.
If the old_icon flag isn’t specified it will default to true.
I have been testing this on a new dashboard for a few weeks.
I am having the same errors as above, but the downside is i am not running pihole. I am assuming you didn’t keep running without it. What port did you have to open up? i will have to see what i have that is blocking it.
Cheers,
Ben
Hi David, have you noticed that ios13.4 seems to have stopped svg files from animating?
Same issue with Bram’s card.
Yeah I have. I thought HA might have changed something a few versions back.
Also 0.109 needs some css modifications… I’ll post about that tomorrow.
It is caused by iOS 13.4 My wife’s iPhone 6 is stuck back on iOS 12 and it is working fine with the icons. Damn!
Here are my changes to config for 0.109.x
temp_top_margin: 0px #default 0px px or em Note: pre-0.109.x default was -0.3em
temp_uom_top_margin: -12px #default -12px px or em Note: pre-0.109.x default was -9px
large_icon_top_margin: -3.2em #default -3.2em px or em Note: pre-0.109.x default was -3.5em
I will be updating the lovelace.yaml example in my repo AND also the card defaults so if you are using pre 0.109 make sure you have configured those settings otherwise the defaults from the card will apply.
NOTE: OLD SETTINGS look like this:
NEW Settings look like this:
also this… from v 0.65
OK WTF… my icons in the iOS app have started animating again!!! (New iOS beta today iOS 13.5)