Internetradio mit Node-RED steuern

Ich habe im Node-RED Forum einen (englischsprachigen) Beitrag verfasst, wie ich meine beiden Internet Radios (eines davon kann auch DAB+) per Node-RED steuere:

Frontier-Silicon based internet radio controlled by Node-RED

Das eine Radio ist ein Silvercrest SIRD 14 B1, bereits 10 Jahre alt und seinerzeit bei Lidl gekauft. Es gibt ähnliche Radios mit dem gleichen Chipsatz von Frontier Silicon, die man heute noch kaufen kann und relativ einfach per http-Requests und damit auch mit Node-RED bedienen kann. Alternativ auch per Android Apps wie Technisat Connect oder UNDOK.

Grundlage meiner eigenen Versuche ist folgende API: https://github.com/flammy/fsapi/blob/master/FSAPI.md

Das zweite Radio ist ein Hama Kuechenradio IR350M in weiß, das ich selbst im Mai 2022 gekauft habe und genauso wie das andere angesteuert werden kann, seit einiger Zeit aber nicht mehr verfügbar ist.

Das Hama DAB Radio DIR355SBT Internet Radio mit DAB+, Bluetooth & Spotify ist aber verfügbar und genauso ansteuerbar.

(Affiliate Links zu Amazon auf Produkte, die ich selbst auch dort gekauft und im Einsatz habe)

Um die Geräte in Node-RED anzusprechen, benutze ich http-nodes, die folgende URLs abfragen:

Geräte-Info:

http://ip-address:8080/dd.xml

Gerätebild mit 120×120 oder 48×48 Pixel (geht auch mit .jpg)

http://ip-address:8080/icon2.png
http://ip-address:8080/icon.png

Evtl. muss man nachfolgend den Port 80 ändern und wenn man die Standard-Pin 1234 geändert hat, diese natürlich auch.

Gibt den max volume level zurück, z.B. um den Max-Wert des Volume Sliders zu setzen:

http://ip-address:80/fsapi/GET/netRemote.sys.caps.volumeSteps?pin=1234

setzt bzw. fragt ab die aktuelle Lautstärke des Geräts:

http://ip-address:80/fsapi/GET/netRemote.sys.audio.volume?pin=1234
http://ip-address:80/fsapi/SET/netRemote.sys.audio.volume?pin=1234&value=xx

Ist das Gerät ein- oder ausgeschaltet?

http://ip-address:80/fsapi/GET/netRemote.sys.power?pin=1234
http://ip-address:80/fsapi/SET/netRemote.sys.power?pin=1234&value=0/1

friendly name des Geräts:

http://ip-address:80/fsapi/GET/netRemote.sys.info.friendlyName?pin=1234

Sets / Returns the Time till Sleep in seconds (minutes?) (0 = No Sleep)
[works with Firmware V2.9.10 but not with V2.6.17]

http://ip-address:80/fsapi/GET/netRemote.sys.sleep?pin=1234
http://ip-address:80/fsapi/SET/netRemote.sys.sleep?pin=1234&value=40

gets / sets the mute state:

http://ip-address:80/fsapi/GET/netRemote.sys.audio.mute?pin=1234
http://ip-address:80/fsapi/SET/netRemote.sys.audio.mute?pin=1234&value=1

Gibt den Namen des Künstlers des aktuellen Lieds zurück (klappt bei mir nicht, hier steht das Lied in der zweiten Zeile, siehe unten)

http://ip-address:80/fsapi/GET/netRemote.play.info.artist?pin=1234

gibt die erste Zeile des Displays zurück

http://ip-address:80/fsapi/GET/netRemote.play.info.name?pin=1234

gibt die zweite Zeile des Displays zurück

http://ip-address:80/fsapi/GET/netRemote.play.info.text?pin=1234

Und so sieht der Flow aus, um den Status des Radios auf dem Dashboard anzuzeigen, Volume zu ändern und es ein- und auszuschalten. Setzen Sie (z.B. in einem Change Node „hinter“ dem Template Node) die globalen Variablen RadioURL und RadioPin auf die eigenen Werte!

Schreibe einen Kommentar