FS Internet Radio Binding

This binding integrates internet radios based on the Frontier Silicon chipset.

Supported Things

Successfully tested are internet radios:

But in principle, all internet radios based on the Frontier Silicon chipset should be supported because they share the same API. So It is very likely that other internet radio models of the same manufacturers do also work.

Community

For discussions and questions about supported radios, check out this thread.

Discovery

The radios are discovered through UPnP in the local network.

If your radio is not discovered, please try to access its API via: http://<radio-ip>/fsapi/CREATE_SESSION?pin=1234 (1234 is default pin, if you get a 403 error, check the radio menu for the correct pin).
If you get a 404 error, maybe a different port than the standard port 80 is used by your radio; try scanning the open ports of your radio.
If you get a result like FS_OK 1902014387, your radio is supported.

If this is the case, please add your model to this documentation and/or provide discovery information in this thread.

Binding Configuration

The binding itself does not need a configuration.

Thing Configuration

Each radio must be configured via its ip address, port, pin, and a refresh rate.

  • If the ip address is not discovered automatically, it must be manually set.
  • The default port is 80 which should work for most radios.
  • The default pin is 1234 for most radios, but if it does not work or if it was changed, look it up in the on-screen menu of the radio.
  • The default refresh rate for the radio items is 60 seconds; 0 disables periodic refresh.

Channels

All devices support some of the following channels:

Channel Type IDItem TypeDescriptionAccess
powerSwitchSwitch the radio on or offR/W
volume-percentDimmerRadio volume (min=0, max=100)R/W
volume-absoluteNumberRadio volume (min=0, max=32)R/W
muteSwitchMute the radioR/W
modeNumberThe radio mode, e.g. FM radio, internet radio, AUX, etc. (model-specific, see list below)R/W
presetNumberPreset radio stations configured in the radio (write-only)W
play-info-nameStringThe name of the current radio station or trackR
play-info-textStringAdditional information e.g. of the current radio stationR

The radio mode depends on the internet radio model (and its firmware version!). This list is just an example how the mapping looks like for some of the devices, please try it out and adjust your sitemap for your particular radio.

Radio modeHama IR110Medion MD87180Medion MD 86988Technisat DigitRadio 580
0Internet RadioInternet RadioInternet RadioInternet Radio
1SpotifyMusic Player (USB, LAN)Music PlayerSpotify
2PlayerDAB RadioFM Radio(not used)
3AUX inFM RadioAUX inMusic Player
4-AUX in-DAB Radio
5---FM Radio
6---AUX in
7---CD
8---Bluetooth

Full Example

demo.things:

fsinternetradio:radio:radioInKitchen [ ip="192.168.0.42" ]

demo.items:

Switch RadioPower "Radio Power" { channel="fsinternetradio:radio:radioInKitchen:power" }
Switch RadioMute "Radio Mute" { channel="fsinternetradio:radio:radioInKitchen:mute" }
Dimmer RadioVolume "Radio Volume" { channel="fsinternetradio:radio:radioInKitchen:volume-percent" }
Number RadioMode "Radio Mode" { channel="fsinternetradio:radio:radioInKitchen:mode" }
Number RadioPreset "Radio Stations" { channel="fsinternetradio:radio:radioInKitchen:preset" }
String RadioInfo1 "Radio Info1" { channel="fsinternetradio:radio:radioInKitchen:play-info-name" }
String RadioInfo2 "Radio Info2" { channel="fsinternetradio:radio:radioInKitchen:play-info-text" }

demo.sitemap:

sitemap demo label="Main Menu"
{
	Frame {
		Switch item=RadioPower
		Slider visibility=[RadioPower==ON] item=RadioVolume
		Switch visibility=[RadioPower==ON] item=RadioMute
		Selection visibility=[RadioPower==ON] item=RadioPreset mappings=[0="Favourit 1", 1="Favourit 2", 2="Favourit 3", 3="Favourit 4"]
		Selection visibility=[RadioPower==ON] item=RadioMode mappings=[0="Internet Radio", 1="Musik Player", 2="DAB", 3="FM", 4="AUX"]
		Text visibility=[RadioPower==ON] item=RadioInfo1
		Text visibility=[RadioPower==ON] item=RadioInfo2
	}
}