Aller au contenu

Squeezebox + Logitech Media Server + Nas + Hc2


i-magin

Messages recommandés

Un dernier tuto pour cette année 2013 (pour ce qui me concerne)... et puis j'entends des voix me disant que j'aurais passé pas mal de temps sur ce forum  :rolleyes:

gallery_12_6_11062.png

Je possède depuis plusieurs années une radio Internet... pas celle de l'image ci-dessus, une plus ancienne : la "SqueezeBox Boom"

Je l'utilisais uniquement en accédant au serveur mysqueezebox.com

Et depuis peu, j'ai acquis une box Fibaro HC2 et un serveur de stockage NAS Synology

 

NAS Synology et LMS

J'ai installé le logiciel du Logitech Media Server (LMS) sur mon NAS de façon très simple

Il suffit de chercher dans le Centre de Paquets du Synology ce qui correspond à  LMS et de cliquer sur installer

Une fois installé, on clique sur LMS pour obtenir l'interface de gestion

On note que l'adresse IP est (bien sà»r) la même que celle du NAS, mais le port est le : 9002

 

>> Un petit retour sur la "SqueezeBox Boom" pour configurer la connexion sur ce serveur local (je ne détaille pas, les possesseurs de ce type de radio savent que c'est facile) <<

 

On revient sur LMS... En bas de l'interface de LMS, on trouve le paramétrage

gallery_12_6_4570.png

 

On obtient une série d'onglets, dont 2 nous intéressent plus particulièrement.

 

L'onglet "Plugins", parmi lesquels on trouve l'interface de ligne de commande (CLI)

 

Attention ! Suite à  modification de LMS, on ne trouve plus cet interface CLI dans les plugins

Il faut aller sur :

- "aide"
- "informations techniques"
- LMS Command Line Interface

 

Et l'onglet "informations" 

gallery_12_6_2744.png

Ce qui nous intéresse ici, c'est l'adresse MAC de la platine (SqueezeBox Boom)

 

On s'arrête 2 secondes, pour que vous ne passiez pas un temps fou en recherche : méfiez-vous de la "casse" !

Dans mon script LUA, j'avais transformé en majuscule un caractère en minuscule de l'adresse MAC  :(

 

Dernier test avant de passer à  notre box favorite :

Un petit coup de telnet puis : open 192.xxx.xxx.xxx 9090

Remarques :

- la commande doit être saisie telle que stipulée (avec un espace entre l'adresse IP et le port)

- C'est bien le port 9090

- une fois la connexion effectuée, c'est un peu surprenant on n'obtient pas de "prompt"

Saisir une commande du CLI comme par exemple : player count ?

Cette commande me retourne le nombre de player (Squeezebox) : "player count 1"

Quelques infos ici : http://wiki.slimdevices.com/index.php/Logitech_Media_Server_CLI

.... au fait, vous aviez autorisé telnet sur votre NAS  :)

 

Fibaro HC2... enfin !

Création du périphérique virtuel... que tout le monde sait faire  :)

gallery_12_6_30170.png

 

gallery_12_6_28065.png

 

Le code LUA ci-après provient de @robmac qui intervient sur le forum Fibaro

--[[
%% properties
%% globals
--]]

-- the LMS server 
local ipadd = "192.xxx.xxx.xxx" 
-- the cli plugin port 
local portno = 9090 
-- the MAC of the player 
local player = "00:00:00:00:00:00 " 
local playername = "Squeezebox Boom " 
-- the cmnd string 
-- change to any cli player command to create buttons 
local cmnd = "mixer volume " .. _sliderValue_
-- construct the sting to send 
local stringtosend = player .. cmnd .. string.char(10)
--open the socket 
tcpSocket = Net.FTcpSocket(ipadd, portno) 
--set the read timeout 
tcpSocket:setReadTimeout(2*1000) 
--send the command 
bytes, errorCode = tcpSocket:write(stringtosend) 

- Attention à  bien respecter les espaces pour que les commandes fonctionnent

- compléter l'adresse IP du serveur LMS (ipadd) et l'adresse MAC du player (SqueezeBox Boom)

 

Quelques commandes (cli player command)

-- Volume : 
local cmnd = "mixer volume " .. _sliderValue_
--- ON : 
local cmnd = "power 1 " 
-- OFF : 
local cmnd = "power 0 " 
-- Lecture : 
local cmnd = "play " 
-- Arrêt : 
local cmnd = "stop " 
-- Choix d'une radio par l'un des boutons de présélection : 
local cmnd = "button preset_1.single " 

Et pour terminer, une ligne de commande générique qui va récupérer le contenu d'une variable globale

local cmnd = fibaro:getGlobalValue("squeezebox")

Cette  variable sera renseignée par une scène.

Exemple :

-- squeezebox ON
fibaro:call(49, "pressButton", "3"); 
fibaro:sleep(25*1000);
-- volume squeezebox à  25
fibaro:setGlobal("squeezebox", "mixer volume 25 ");
fibaro:call(49, "pressButton", "14");
fibaro:sleep(5*1000);
-- message alerte
fibaro:setGlobal("squeezebox", "playlist play /volume1/Fibaro/MP3/30secondes.mp3 ");
fibaro:call(49, "pressButton", "14");
fibaro:sleep(15*1000); 
-- volume squeezebox à  15
fibaro:setGlobal("squeezebox", "mixer volume 15 ");
fibaro:call(49, "pressButton", "14");
fibaro:sleep(1*1000);
-- squeezebox OFF
fibaro:call(49, "pressButton", "4"); 

On peut donc lire un fichier MP3 stocké sur le NAS pour restituer sur la radio un message sonore ... mais la radio ne bougera pas non plus les oreilles 

 

Bonnes fêtes de fin d'année

@i-magin

 

****** 04/01/2015 ***********************************************************************************************************************************************************************************************************************

A la demande d'un participant au forum, j'ajoute en fichier joint le module virtuel qu'il faudra compléter : adresse IP du serveur LMS (ipadd) et adresse MAC du player (SqueezeBox Boom)

Ce VD datant de décembre 2013 est "rustique" : répétition des informations adresses IP et MAC pour chaque bouton et l'icône est à  copier pour chaque bouton....

N'utilisant plus Squeezebox et LM je n'apporterai pas d'amélioration

 

****** 02/12/2015 ***********************************************************************************************************************************************************************************************************************

J'ai ressorti ma Squeezebox pour l'utiliser comme radio réveil et j'ai ajouté la gestion de l'alarme dans un VD "réveil" qui gère (avec une scène) le démarrage d'une radio sur SONOS, la cafetière et l'éclairage....

med_gallery_12_6_7640.png

 

Pour obtenir les commandes de gestion de l'alarme Squeezebox, j'ai lancé le LMS  (Logitech Media Server) hébergé sur mon NAS, puis j'ai cliqué successivement sur :

- "aide"

- "informations techniques"

- LMS Command Line Interface

 

On trouve la commande "Alarm"

med_gallery_12_6_19142.png

 

Dans les exemples donnés, on découvre comment créer, supprimer ou modifier une alarme ... et, surprise, un curieux identifiant pour l'alarme !

 

La solution la plus simple que j'ai trouvée est la suivante :

- sous LMS, sélectionner "Réveil"

gallery_12_6_2762.png

 

med_gallery_12_6_27438.png

 

- supprimer tous les réveils programmés

- créer un réveil

- paramétrer le volume maxi, durée répétition et réveil

- valider tous les jours de la semaine

 

Pour obtenir l'Id du réveil sous Google Chrome : clic droit sur le bouton "supprimer le réveil" et choisir "inspecter l'élément" 

On obtient : "alarm_remove_xxxxxxx"

C'est la valeur après remove (que j'ai remplacée dans ce tuto par des x) qu'il faut retenir

 

Ainsi, la commande pour activer l'alarme : alarm update id:xxxxxxxx enabled:1

Désactiver l'alarme : alarm update id:xxxxxxxx enabled:0

Modifier l'heure de l'alarme (7H30) : alarm update id:xxxxxxxx time:27000

 

Et dans la continuité de mon tuto d'origine, nous aurons le code lua suivant pour modifier l'heure et l'activer : 

local cmnd = "alarm update id:xxxxxxxx time:27000 enabled:1 "

J'espère que ce complément d'info (presque deux ans après la rédaction du 1er post sur la Squeezebox) pourra servir à  d'autres membres du forum  :)

Squeezebox.vfib

  • Upvote 7
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton tuto, vraiment utile, je vais pouvoir apporter quelques modification à  ce que j'ai mis en place.

 

Je profite de te poser une question, as-tu déjà  tenter de récupérer le statut des réveil programmé dans LMS ?

 

Je possède 3 Squeez Touch, dont 1 me sert de réveil.

 

Je souhaiterai pouvoir récupérer l'heure programmée sur mon réveil (la squeez touch) afin de lancer des scènes.

 

Une idée ?

 

Merci pour ton aide.

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas de squeez touch, mais 2 n'as que deux solutions à  mon avis:

1- tu peux executer des commandes mais je ne pense pas que ce soit possible.

2- Tu utilises un sensor universal. Mais à  voir comment le connecter pour qu'il déclence la scene que leur du réveil.

 

Perso pour le réveil j'utilise tasker sur mon téléphone.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir

Je n'utilise pas la fonction réveil

Pour obtenir des infos sur CLI (Command Line Interface), il faut aller dans l'aide de LMS / Informations Techniques / The LMS CLI

On y trouve les fonctions liées àl'alarme

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...
  • 1 mois après...

Désolé de déterrer le topic mais est ce qu'il y a une limitation sur ce script parce que je suis configurer avec un RASPBERRY et ça ne marche pas.
J'ai bien vérifié les espaces et autres mais rien n'y fait... 

Merci pour les infos

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...
 

Salut,

 

Je viens d'installer la version 7.7.3-039 du Logitech Media Server et depuis ma HC2 ne peut plus piloter mes squeezebox  :13:

Ils auraient changé des trucs dans le CLI ? Tout fonctionnait bien avant cette mise à  jour...

Je ne comprends pas j'ai regardé partout mais je n'ai rien trouvé.

 

Si vous êtes passé en 7.7.3-039, est-ce que de votre côté ça fonctionne ?

 

A tout hasard, si vous savez comment revenir à  la version précédente, je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

Quand je lançais Spotify sur squeezebox les morceaux de musique ne se jouaient pas et la liste défilait en passant au morceau suivant toutes les secondes. Maintenant ça fonctionne.

:)

Mais je suis passé dans la journée au plugin Triode qui permet la diffusion simultanée sur toutes les squeezeboxes (alors que l'application Spotify limite l'écoute àune seule radio àla fois et coupe dès qu'une seconde radio est allumée).

Envoyé de mon iPhone àl'aide de Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Je connais pas (encore) ce plugin, je vais regarder ça ce soir...

Moi j'ai un souci avec le plugin spotify de base : j'ai 4 playlist que je lance depuis la Fibaro en me basant sur l'index de la playlist mais ça fonctionne une fois et après il démarre toujours la même playlist peu importe ma requête.

Ça fonctionne bien de ton côté ça?

Si tu as un peu de temps pour ajouter un peu ce que tes fait et comment je suis très intéressé

Envoyé de mon Nexus 5 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Comme spotify tournait mal je n'ai rien fait de très évolué pour le moment.

Mes squeeze sont utilisées in situ (quand on est devant quoi) et comme retour d'info (ouverture portail, sonnette, modes maison, bonne nuit, verife des portes...)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

bonjour

voila 2 jours que je me bat avec ce tuto et j'arrive a rien j'ai essayé  dans un premier temps d'utiliser le plugin de rombac mais mon lms refuse sont plugin  :(

 

j'essaye de suivre ce tuto mais je ne peut pas faire de copier collé dans la zone lua et certain des caractères ne sont pas sur mon clavier mac

 

si un de vous aurais la gentillesse de  mettre leur fichier vfib a disposition cela serait sympa 

 

l'idée était de mettre 6 rasperry  squeezlite dans un rack 2 unités  avec un ampli 6 canaux numérique et faire un multi rooms 

 

mais ca démarre mal 

 

merci

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Après avoir créé une liste de radios préférées, il est possible de sélectionner l'une d'elles par ce type de commande :

local cmnd = "button preset_1.single "

Pour la seconde radio

local cmnd = "button preset_2.single "

etc

Lien vers le commentaire
Partager sur d’autres sites

Après avoir créé une liste de radios préférées, il est possible de sélectionner l'une d'elles par ce type de commande :

local cmnd = "button preset_1.single "

Pour la seconde radio

local cmnd = "button preset_2.single "

etc

 

 

Bonjour,

 

Merci pour ta réponse, pour créé une liste de radios préférées tu as rajouté un plugin au Logitech média serveur ?

 

Merci d'avance

Laurent

Lien vers le commentaire
Partager sur d’autres sites

J'ai ajouté le module virtuel à  ma 1ère contribution

Mais comme je le précise, ce Virtual Device date de décembre 2013 et est donc "rustique" : répétition des informations adresses IP et MAC pour chaque bouton et l'icône est à  copier pour chaque bouton....

N'utilisant plus Squeezebox et LM je n'apporterai pas d'amélioration

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...