12/02/2015, 12:53:40
Oups désolez, j'ai pas vue passer ton message, tu la veut avant ou appres la configuration du io-port ?
Pour ceux qui sont interesser pour le faire en LUA, voici les script que j'ai mis en place est qui fonctionne pour le moment :
Pour la lecture : (il faut bien entendu mettre les bon parametres sur les trois premiere ligne.)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " play\n")
client:close()
Pour mettre pause (meme chose pour les parametres)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " pause\n")
client:close()
Pour changer le volume (il faut en plus des trois premier parametre, donner l'objet de commande du volume)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
vol_obj = "audio_cuisine_vol_cmd"
socket = require("socket")
client = socket.connect(ip,port)
volume = obj(vol_obj)
clientend(squeezeDevice .. " mixer volume " .. volume .. " \n")
client:close()
Et script qui recupere à la fois l'etat de lecture de la squeezebox, ainsi que le volume)
il faut donc donnée les objet a mettre a jour en paramettre
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
onOff_obj = "audio_cuisine_onoff_status"
vol_obj = "audio_cuisine_vol_status"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " mode ?\n")
result = client:receive()
play = result:find("play")
if play == nil then
set(onOff_obj,"off");
else
set(onOff_obj,"on");
end;
clientend(squeezeDevice .. " mixer volume ?\n")
result = client:receive()
volume = tonumber(string.sub(result,result:find("volume")+6,string.len(result)))
set(vol_obj,volume);
client:close()
Voila, j'obtiens donc un controlleur tres basique play/pause et gestion du volume, par n'importe quel élément capable de gérer du knx.
Si vous voulez plus de detail, d'autre script pour recuperer d'autre etat ? agir sur d'autre chose, je peut ecrire d'autre script.
@Energy01, je suis interesser pour faire un plugin pour knxweb2 qui gererai le squeezebox de cette maniere (et simplifier la vie de l'utilisateur), tu peut dire si je peut trouver un peu de doc pour la realisation de ce genre de plugin ?
Pour ceux qui sont interesser pour le faire en LUA, voici les script que j'ai mis en place est qui fonctionne pour le moment :
Pour la lecture : (il faut bien entendu mettre les bon parametres sur les trois premiere ligne.)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " play\n")
client:close()
Pour mettre pause (meme chose pour les parametres)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " pause\n")
client:close()
Pour changer le volume (il faut en plus des trois premier parametre, donner l'objet de commande du volume)
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
vol_obj = "audio_cuisine_vol_cmd"
socket = require("socket")
client = socket.connect(ip,port)
volume = obj(vol_obj)
clientend(squeezeDevice .. " mixer volume " .. volume .. " \n")
client:close()
Et script qui recupere à la fois l'etat de lecture de la squeezebox, ainsi que le volume)
il faut donc donnée les objet a mettre a jour en paramettre
ip = '192.168.0.22'
port = 9090
squeezeDevice = "b8:27:eb:b9:97:56"
onOff_obj = "audio_cuisine_onoff_status"
vol_obj = "audio_cuisine_vol_status"
socket = require("socket")
client = socket.connect(ip,port)
clientend(squeezeDevice .. " mode ?\n")
result = client:receive()
play = result:find("play")
if play == nil then
set(onOff_obj,"off");
else
set(onOff_obj,"on");
end;
clientend(squeezeDevice .. " mixer volume ?\n")
result = client:receive()
volume = tonumber(string.sub(result,result:find("volume")+6,string.len(result)))
set(vol_obj,volume);
client:close()
Voila, j'obtiens donc un controlleur tres basique play/pause et gestion du volume, par n'importe quel élément capable de gérer du knx.
Si vous voulez plus de detail, d'autre script pour recuperer d'autre etat ? agir sur d'autre chose, je peut ecrire d'autre script.
@Energy01, je suis interesser pour faire un plugin pour knxweb2 qui gererai le squeezebox de cette maniere (et simplifier la vie de l'utilisateur), tu peut dire si je peut trouver un peu de doc pour la realisation de ce genre de plugin ?