(c) Pexels – Andrea Piacquadio

Fun with UNDOK

UNDOK ? Cékoidon ?

D’après le site de Frontier Smart Technologies, l’application UNDOK ™ de Frontier fournit le contrôleur le plus complet, le plus polyvalent et le plus facile à utiliser pour les systèmes audio connectés de nouvelle génération.

Ça vous aide ? Non ? En fait, il s’agit du logiciel présent sur beaucoup de radios Internet (Roberts, Sangean, Pure, Revo, Hama, Medion…)

Je possède le Robert Revival iStream 3 et voudrais l’interfacer avec ma domotique. C’est évidemment possible et nous allons le voir tout de suite.

Tout d’abord, il est nécessaire de trouver l’IP de la radio. Cela se fait via la recherche SSDP (Simple Service Discovery Protocol) suivante:

gssdp-discover -t urn:schemas-frontier-silicon-com:undok:fsapi:1

L’IP de la radio nous permet déjà d’avoir quelques infos via l’adresse http://<ip>/device

<netRemote>
<friendlyName>Roberts Salon</friendlyName>
<version>ir-mmi-FS2026-0500-0641_V2.14.35c.EX86167-1A39</version>
<webfsapi>http://192.168.1.209:80/fsapi</webfsapi>
</netRemote>

L’affichage de la ressource UPNP contient aussi des informations intéressantes: http://<ip>:8080/dd.xml

Maintenant que nous avons l’adresse IP, nous pouvons installer la librairie fsapi via composer, le gestionnaire de paquet PHP. Dans un nouveau répertoire, tapons la commande suivante (petit patapon):

composer require flammy/fsapi

Il n’y a plus qu’à créer le script: un fichier index.php contenant le code suivant (avec l’ip de la radio)

<?php
require_once("vendor/autoload.php");
require_once("vendor/flammy/fsapi/src/Radio.php");
$host = "192.168.1.209";
$pin = "1234";
$Radio = new Radio($host,$pin);
$Radio->getSet("netRemote.sys.power","1");   // 1: on, 0 :off

On exécute le script via php index.php et la radio s’allume…

Après, si vous voulez vous passer de l’API (ou de php), cette commande suffit:

curl -vs "http://192.168.1.209/fsapi/SET/netRemote.sys.power?value=1&pin=1234"

Le faire via php vous permet d’avoir accès à des fonctions plus parlantes tel que $Radio->volume('up'); ou $Radio->radioFrequency(106.4);.

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires