Amateur Radio HF Propagation Conditions

Alternatively, I could add a new API endpoint that automatically selects the nearest ionosonde to a given latitude/longitude (and also filters based on maximum measurement age and minimum confidence score). Would that appeal? Is there some standard format you would prefer to pass the lat/lon in?

Thanks @arodland for your comments. I was concerned about this originally, but couldn’t quite get the right Jinja template to work.

Your suggestion with a minor tweak of not using attr worked great. I’ve updated my original post with this: {{ (value_json | selectattr("station.code", "==", "MHJ45") | list | first).mufd | float(default=float("NaN")) }}

Also a big thanks for hosting, and sharing the code for, your excellent propagation maps/data :grinning_face_with_smiling_eyes:

1 Like

Hi, great work.
I’m not a programmer skilled home assistant user, is the upper code updated with the latest code that choose the nearest ionosonde to my location?
Will try to get it working…
73

I managed to get the entities working but didn’t managed to get the min-graph working…

Any idea?

Try adding
type: vertical-stack

at the top before cards:. I had the same issue.

1 Like

It was a question of indentation manage to fix it.

Which files do I edit with the above configurations? I have my configuration.yaml split out and don’t put anything in it other than files / directories.

Where do I put the 2 ‘configs’? I’m not worried about the custom card, I can handle that.

Thank you.

The multiscrape can go in main configuration.yaml or whichever split out file makes sense. The rest sensor for Solar HF MUF needs to go with any other sensors you may have defined.

1 Like

Hello everyone, I tried to facilitate the use of sensors for radio propagation.
I created a custom component that allows you to quickly have all the information.

You can install it via HACS Let me know your opinions and any suggestions.
Thank you
73 de IZ0IJD

2 Likes

Excellent. Thanks for creating the addon @emics Works great. I’ve now replaced the multiscrape addon I was using.

Updated lovelace cards with new sensor names to make it easier for others to copy and paste:

    cards:
      - square: false
        columns: 2
        type: grid
        cards:
          - type: custom:mini-graph-card
            name: Solar Flux Index
            font_size: 75
            hour24: true
            hours_to_show: 48
            upper_bound: 250
            lower_bound: 50
            min_bound_range: 200
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_flux_index
                state_adaptive_color: true
            color_thresholds:
              - value: 80
                color: '#ff0000'
              - '#ffbf00'
              - value: 150
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: Sunspots
            font_size: 75
            hours_to_show: 48
            hour24: true
            upper_bound: 200
            lower_bound: 20
            min_bound_range: 200
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_sunspots
                state_adaptive_color: true
            color_thresholds:
              - value: 20
                color: '#ff0000'
              - '#ffbf00'
              - value: 100
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: A-Index
            font_size: 75
            hour24: true
            hours_to_show: 48
            upper_bound: 50
            lower_bound: 0
            min_bound_range: 30
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_a_index
                state_adaptive_color: true
            color_thresholds:
              - value: 50
                color: '#ff0000'
              - '#ffbf00'
              - value: 0
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: K-Index
            font_size: 75
            hours_to_show: 48
            hour24: true
            upper_bound: 9
            lower_bound: 0
            min_bound_range: 9
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_k_index
                state_adaptive_color: true
            color_thresholds:
              - value: 8
                color: '#ff0000'
              - value: 4
                color: '#ffbf00'
              - value: 1
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: Bz
            font_size: 75
            hour24: true
            hours_to_show: 48
            upper_bound: 20
            lower_bound: -20
            min_bound_range: 40
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_bz
                state_adaptive_color: true
            color_thresholds:
              - value: -20
                color: '#ff0000'
              - '#ffbf00'
              - value: 0
                color: '#00ff00'
              - '#ffbf00'
              - value: 20
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: Solar Wind
            font_size: 75
            hours_to_show: 48
            hour24: true
            upper_bound: 700
            lower_bound: 200
            min_bound_range: 500
            show:
              icon: true
            entities:
              - entity: sensor.ham_radio_propagation_solar_wind
                state_adaptive_color: true
            color_thresholds:
              - value: 700
                color: '#ff0000'
              - '#ffbf00'
              - value: 300
                color: '#00ff00'
      - square: false
        columns: 2
        type: grid
        cards:
          - type: custom:mini-graph-card
            name: MUF
            font_size: 75
            hours_to_show: 48
            hour24: true
            upper_bound: 30
            lower_bound: 7
            min_bound_range: 23
            show:
              labels: hover
            entities:
              - entity: sensor.solar_hf_muf
                state_adaptive_color: true
            color_thresholds:
              - value: 3
                color: '#ff0000'
              - value: 14
                color: '#ffbf00'
              - value: 28
                color: '#00ff00'
          - type: custom:mini-graph-card
            name: Noise
            font_size: 75
            unit: S-units
            hours_to_show: 48
            hour24: true
            upper_bound: 9
            lower_bound: 0
            min_bound_range: 7
            show:
              labels: hover
            entities:
              - entity: sensor.ham_radio_propagation_solar_sig_noise_lvl
                state_adaptive_color: true
            color_thresholds:
              - value: 6
                color: '#ff0000'
              - '#ffbf00'
              - value: 1
                color: '#00ff00'
          - type: custom:mini-graph-card
            font_size: 75
            name: 80m - 40m
            hours_to_show: 48
            hour24: true
            upper_bound: 2
            lower_bound: 0
            min_bound_range: 2
            show:
              legend: false
            entities:
              - entity: sensor.ham_radio_propagation_solar_hf_80_40_day
                name: Day
                show_state: true
                state_adaptive_color: true
              - entity: sensor.ham_radio_propagation_solar_hf_80_40_night
                name: Night
                show_state: true
                state_adaptive_color: true
            state_map:
              - value: Poor
                label: Poor
              - value: Fair
                label: Fair
              - value: Good
                label: Good
            smoothing: false
          - type: custom:mini-graph-card
            font_size: 75
            name: 30m - 20m
            hours_to_show: 48
            hour24: true
            upper_bound: 2
            lower_bound: 0
            min_bound_range: 2
            show:
              legend: false
            entities:
              - entity: sensor.ham_radio_propagation_solar_hf_30_20_day
                name: Day
                show_state: true
                state_adaptive_color: true
              - entity: sensor.ham_radio_propagation_solar_hf_30_20_night
                name: Night
                show_state: true
                state_adaptive_color: true
            state_map:
              - value: Poor
                label: Poor
              - value: Fair
                label: Fair
              - value: Good
                label: Good
            smoothing: false
          - type: custom:mini-graph-card
            font_size: 75
            name: 17m - 15m
            hours_to_show: 48
            hour24: true
            upper_bound: 2
            lower_bound: 0
            min_bound_range: 2
            show:
              legend: false
            entities:
              - entity: sensor.ham_radio_propagation_solar_hf_17_15_day
                name: Day
                show_state: true
                state_adaptive_color: true
              - entity: sensor.ham_radio_propagation_solar_hf_17_15_night
                name: Night
                show_state: true
                state_adaptive_color: true
            state_map:
              - value: Poor
                label: Poor
              - value: Fair
                label: Fair
              - value: Good
                label: Good
            smoothing: false
          - type: custom:mini-graph-card
            font_size: 75
            name: 12m - 10m
            hours_to_show: 48
            hour24: true
            upper_bound: 2
            lower_bound: 0
            min_bound_range: 2
            show:
              legend: false
            entities:
              - entity: sensor.ham_radio_propagation_solar_hf_12_10_day
                name: Day
                show_state: true
                state_adaptive_color: true
              - entity: sensor.ham_radio_propagation_solar_hf_12_10_night
                name: Night
                show_state: true
                state_adaptive_color: true
            state_map:
              - value: Poor
                label: Poor
              - value: Fair
                label: Fair
              - value: Good
                label: Good
            smoothing: false
1 Like

Hi @arodland i’ve develop a module to get data from hamqsl.com and soon i want to connect to your json to retrieve MUF data, if you can add new API that automatically select nearest inonosonde to a given position (lat/lon) we can biuld a very good service.

thanks in advance.
emix
73

Can you add a sensor that detects Solar Flares?
I’m trying to find a way to create a sensor that detects Solar Flares. As an Ham Radio operator I will take advantage on that.
I’m not getting much info for HA, but there is a project that is close (https://community.home-assistant.io/…/solar-flux…/434299) but not relating the NOAA data into a sensor that results in a sensor that says “A Flare just happened! It’s a C9 flare”.
Can you help?

1 Like

Hi CT2HUU in the next week i’ll try to integrate this sensor.
thank you for your suggestion.

1 Like

Hi new release v1.1.5 in pre-release available for update.
New X-Ray sensors:

  • The Class sensor is the modern classification system for solar flares and use letters A, B, C, M, or X, according to the peak flux in watts per square metre (W/m2)

  • The Scale sensor is the numerical representation of the Class sensor and can be used to trigger automations and notifications.

1 Like

Is there an option for LUF (Lowest Usable Frequency) at all? I’m assuming it would be a sensor that needs to be configured. That’s useful, especially when there are solar winds/radio blackouts happening. There are times where the LUF is actually higher than the MUF.

Have a great day. :slight_smile:
Patrick.

hi Patrick, i never find LUF sensor in Hamqsl - kc2g.com and NOAA site.
If you know were read this data give me the site and i’ll try to integrate.

73 IZ0IJD
Emilano

Bruno take a look
you can receive an alert when the solar flare are over your selected limit!!

1 Like

Great integration!
Now, I just need to get familiar with “what to expect when there is a X flare”.
Many tks for your help.
73
CT2HUU

this is data last week, last tuesday flare at M9.1 and saturday M6.2

image

awesome

1 Like

I asked this on another topic as well. Recently, I started getting errors on the sensor:hf_muf and none of the cards work anymore. Has this been addressed at all, or am I the only one seeing it?