Bonjour, tout le monde
Alors voila, je suis en train de voir ce que je pourrait comme visu.
Et je voulait pouvoir commander mon système multiroom via knx.
Mon système multiroom, n'est autre qu'un synology avec logitech media server, et des raspberry, avec des sueezeplayer.
J'ai essayer de m'inspirer du wiki : http://www.knx-fr.com/wiki/commander_squ...ec_un_z38i , mais je n'ai pas compris comment fonctionnait les IOPorts.
Voici donc ma solution.
Nous allons commencer par récupérer le status du lecteur que l'on cherche.
On crée deux objet :
audio_cuisine_onoff_status : 8/1/0 : 1.0001
audio_cuisine_vol_status : 8/3/0 : 5.0001
Pour la mise a jour de ces valeur j'utilise une règle :
<rule id="audio_cuisine_getStatus" init="true">
<condition type="timer" trigger="true">
<every>5</every>
</condition>
<actionlist>
<action type="script">
<![CDATA[
http = require("socket.http")
c = http.request("http://192.168.0.22:9002/status.html")
r = c:find("Lecture en cours")
status = obj("audio_cuisine_onoff_status");
if r == nil then
set("audio_cuisine_onoff_status","off");
else
set("audio_cuisine_onoff_status","on");
end;
c0 = string.sub(c,c:find("Volume :"),c:find("playList"))
rVolume= (tonumber(string.sub(c0,c0:find("<b>")+3,c0:find("</b>")-1))-1) * 10
set("audio_cuisine_vol_status",rVolume);
]]>
</action>
</actionlist>
</rule>
Cela fonctionne correctement, cependant, ca me dérange d'avoir une regle executer toute les 5 secondes.
Pouvez vous me dire si cela peut poser problème ?
Faut'il mieux que je fasse fonctionné le ioport ?
Avez vous des idée ou je peut trouver des information, pour comprendre comment cela fonctionne ?
merci de votre lecture.
Pour ceux que ça intéresse, j'ai aussi via script lua, programmer le play/stop et le changement de volume via knx.
Alors voila, je suis en train de voir ce que je pourrait comme visu.
Et je voulait pouvoir commander mon système multiroom via knx.
Mon système multiroom, n'est autre qu'un synology avec logitech media server, et des raspberry, avec des sueezeplayer.
J'ai essayer de m'inspirer du wiki : http://www.knx-fr.com/wiki/commander_squ...ec_un_z38i , mais je n'ai pas compris comment fonctionnait les IOPorts.
Voici donc ma solution.
Nous allons commencer par récupérer le status du lecteur que l'on cherche.
On crée deux objet :
audio_cuisine_onoff_status : 8/1/0 : 1.0001
audio_cuisine_vol_status : 8/3/0 : 5.0001
Pour la mise a jour de ces valeur j'utilise une règle :
<rule id="audio_cuisine_getStatus" init="true">
<condition type="timer" trigger="true">
<every>5</every>
</condition>
<actionlist>
<action type="script">
<![CDATA[
http = require("socket.http")
c = http.request("http://192.168.0.22:9002/status.html")
r = c:find("Lecture en cours")
status = obj("audio_cuisine_onoff_status");
if r == nil then
set("audio_cuisine_onoff_status","off");
else
set("audio_cuisine_onoff_status","on");
end;
c0 = string.sub(c,c:find("Volume :"),c:find("playList"))
rVolume= (tonumber(string.sub(c0,c0:find("<b>")+3,c0:find("</b>")-1))-1) * 10
set("audio_cuisine_vol_status",rVolume);
]]>
</action>
</actionlist>
</rule>
Cela fonctionne correctement, cependant, ca me dérange d'avoir une regle executer toute les 5 secondes.
Pouvez vous me dire si cela peut poser problème ?
Faut'il mieux que je fasse fonctionné le ioport ?
Avez vous des idée ou je peut trouver des information, pour comprendre comment cela fonctionne ?
merci de votre lecture.
Pour ceux que ça intéresse, j'ai aussi via script lua, programmer le play/stop et le changement de volume via knx.