Frontier Silicon component - can it do anymore than turn off/on the radio

Re: this component - nowhere have I seen (maybe me not looking hard enough or in the right places) an integration or an example where the automation does any more than just turn on or off the radio -
for example - is it possible to tune to a particular favourite or preset?

Thanks!

@ketiljo @howi42 @elajoie @AdmiralRaccoon
Hi guys - sorry to tag you - just wondering if anyone of you might know if it’s possible to control Frontier Silicone devices or merely turn them on and off? Thank you!

Sure, you can do anything you want. Change channel, adjust volume, input source etc.

Thanks - but I’m working a bit blind - how would I “expose” (is that the right word?!) the commands I would need to use to talk the right language?

Like if I want to listen to the UK’s BBC Radio 4 WiFi stream, but then an hour later I might want to switch to the FM Radio 4 broadcast - at the moment I have no idea how I’d go about that…!

Hei, forresten!

hI @AdmiralRaccoon @kevjs1982 @Kent_Hansson @KjetilS @elajoie - sorry to ping you guys directly - I’m about to give up but I thought it was worth one last shot -
can anyone share their config (or a snippet of a config!) for talking to a Frontier Silicone radio?

My Roberts Revival iStream is a Frontier Silicone radio and I have it integrated into my front end - but all I can currently do is turn it on and off. I can’t figure out how to (for example) automate that
BBC Radio 4 on WiFi start playing
then in an automation switch to:
BBC Radio 1 on FM

Thanks!

Not found a way to change the station - but you can change the source

for Aux In:

- service: media_player.select_source
  data:
    entity_id: media_player.kevs_roberts_stream_93i
    source: "AUX in"

for DAB:-

- service: media_player.select_source
  data:
    entity_id: media_player.kevs_roberts_stream_93i
    source: "DAB"

FM reception here is awful so I don’t use it - should be source: “FM” but might be “FM Radio” or similar though, have a look at the available sources on the Media Player controller in HASS. Looks like the underlying library doesn’t support a direct preset selection

https://github.com/zhelev/python-afsapi/blob/master/afsapi/init.py

However you could possibly setup a few curl commands in a bash file to run when you have changed the input 0 assuming the radio’s IP is 192.168.1.11 and the PIN is 1234

FM - 96.200MHz
http://192.168.1.11/fsapi/SET/netRemote.play.frequency?pin=1234&value=96200

Or on DAB/Internet Radio - the first and last line need to be done “as is”, and the value of the middle line is the preset number
http://192.168.1.11/fsapi/SET/netremote.nav.state?pin=1234&value=1
http://192.168.1.11/fsapi/SET/netRemote.nav.action.selectPreset?pin=1234&value=6
http://192.168.1.11/fsapi/SET/netremote.nav.state?pin=1234&value=0

3 Likes

Kevjs1982 - THANK YOU!!!

Having a bit more of a play (keep wanting to say “Hey Google Listen to Triple J” without it moaning about it not being available in your country)

shell_command:
  triplej: 'bash /usr/local/bin/fs_preset.bash 14' 
  rte2xm: 'bash /usr/local/bin/fs_preset.bash 15' 
  rte2pulse: 'bash /usr/local/bin/fs_preset.bash 16' 
  bbcnottm: 'bash /usr/local/bin/fs_freq.bash 103800' 

Then in /usr/local/bin

fs_preset.bash

#!/bin/bash
ip=192.168.6.124
pin=1234
curl "http://$ip/fsapi/SET/netremote.nav.state?pin=$pin&value=1"
curl "http://$ip/fsapi/SET/netRemote.nav.action.selectPreset?pin=$pin&value=$1"
curl "http://$ip/fsapi/SET/netremote.nav.state?pin=$pin&value=0"

fs_freq.bash

#!/bin/bash
ip=192.168.6.124
pin=1234
curl "http://$ip/fsapi/SET/netremote.play.frequency?pin=$pin&value=$1"

Presets start at 0, so you need to minus 1 from the displayed preset - e.g. if BBC Radio 4 is on Preset 4, -

shell_command:
  bbcr4: 'bash /usr/local/bin/fs_preset.bash 3' 

And finally the script in Home Assistant - Turn the radio on (no harm if already on), select Internet, then run the script to select Triple J on Preset 15.

listen_to_triplej:
  alias: Listen to Triple J
  sequence:
    - service: media_player.turn_on
      data:
        entity_id: media_player.kevs_roberts_stream_93i
    - service: media_player.select_source
      data:
        entity_id: media_player.kevs_roberts_stream_93i
        source: "Internet radio"
    - service: shell_command.triplej
1 Like

Fantastic! Thank you. I will have a play. You’ve done me a really good turn! :slight_smile: :+1:

Hmmm - strange! I’ve tried running the commands and whilst the device seems to respond, they don’t seem to have ANY effect. i.e. if it’s ON and I send an OFF command - nothing.
If it’s ON and I try to change to a different preset - nothing. Strange! :slight_smile:

59

Have you changed your PIN?

curl "http://192.168.0.1/fsapi/SET/netremote.sys.power?pin=1234&value=1"
results in
<fsapiResponse> <status>FS_OK</status> </fsapiResponse>
and my radio turning on.

Does it work from within Home Assistant which should be using the same commands?

Also, You have to quote the URL otherwise I get
<fsapiResponse> <status>FS_PACKET_BAD</status> </fsapiResponse> and no change.

Definitely haven’t changed my PIN - indeed, the radio is discovered and controllable by Home Assistant without me needing to change or configure anything. I’ve just checked the menu on the radio and it shows the network PIN as being 1234
10

Would you mind sharing how you change channel, @ketiljo ?