Xiaomi Gateway lecture de MP3
Publié : 21 mars 2018, 09:21
Bonjour à tous,
Une fois de plus (ça faisait longtemps) je fais appel à la communauté Domoticz et surtout à ceux qui touche en LUA
Grâce à ce lien https://www.domoticz.com/wiki/Xiaomi_Gateway_(Aqara) j'ai réussi à configurer ma Gateway pour qu'elle joue un de mes sons enregistré en MP3 dessus. Ça fonctionne super bien. Ce sera plus tard pour mon système d'alarme afin qu'il puisse me dire "Alarme activée", "Alarme désactivée", etc... et pour le lancement de petites actions comme "Ambiance cinéma activé".
Le seul hic est qu'en utilisant le script Lua tel qu'il est donné sur le lien plus haut, à chaque lancement d'un son demandé par un autre script style Blocky, ma Gateway bégaye puisqu'elle commence à lire le dernier son lu (exemple sur le 1004) puis passe directe au nouveau son demandé (exemple le 1001) qui lui est bien lu comme il faut.
J'ai donc fait tout un tas d'essai et je suis arrivé sur le script Lua si dessous :
Je me suis dit c'est bon tout fonctionne nickel, sauf qu'en regardant sur les LOG de Domoticz je me suis rendu compte que mon script était lancé toutes les 30 secondes.
Hors j'aimerais que le script soit propre et qu'il ne se lance que lorsque je lui demande de lire un son.
Le problème c'est pour que ça fonctionne sans bégayer il faut absolument remettre le sélecteur du switch ( 'Xiaomi Mes MP3 v1' ) à Off après qu'il ait lu un son....
Je serais ravi que quelqu'un puisse m'aider
Peut être une piste de réflection mais je ne sais pas comment faire, faire en sorte que le script ne se lance que si le switch ( 'Xiaomi Mes MP3 v1' ) est supérieur à Off (1000)
Une fois de plus (ça faisait longtemps) je fais appel à la communauté Domoticz et surtout à ceux qui touche en LUA
Grâce à ce lien https://www.domoticz.com/wiki/Xiaomi_Gateway_(Aqara) j'ai réussi à configurer ma Gateway pour qu'elle joue un de mes sons enregistré en MP3 dessus. Ça fonctionne super bien. Ce sera plus tard pour mon système d'alarme afin qu'il puisse me dire "Alarme activée", "Alarme désactivée", etc... et pour le lancement de petites actions comme "Ambiance cinéma activé".
Le seul hic est qu'en utilisant le script Lua tel qu'il est donné sur le lien plus haut, à chaque lancement d'un son demandé par un autre script style Blocky, ma Gateway bégaye puisqu'elle commence à lire le dernier son lu (exemple sur le 1004) puis passe directe au nouveau son demandé (exemple le 1001) qui lui est bien lu comme il faut.
J'ai donc fait tout un tas d'essai et je suis arrivé sur le script Lua si dessous :
Code : Tout sélectionner
--script_device_XiaomiMP3v1.lua
--comme chaque son est enregistré en tant que valeur 100 + xx, le
curseur mettra à jour la variable utilisateur jusqu'à 10000 + valeur de
gradation et son de lecture
commandArray = {}
if devicechanged['Xiaomi Mes MP3 v1'] then
DomValue = otherdevices_svalues['Xiaomi Mes MP3 v1'];
NumericValue = tonumber(DomValue)
Calcvalue = (NumericValue + 10000)
commandArray['Variable:XiaomiMP3']=''..Calcvalue..''
--print('Xiaomi Gateway jouera le son stocké sur la banque
'..Calcvalue)
commandArray['Xiaomi Gateway MP3']='On'
commandArray['Xiaomi Mes MP3 v1']='Off AFTER 30'
end
return commandArray
Hors j'aimerais que le script soit propre et qu'il ne se lance que lorsque je lui demande de lire un son.
Le problème c'est pour que ça fonctionne sans bégayer il faut absolument remettre le sélecteur du switch ( 'Xiaomi Mes MP3 v1' ) à Off après qu'il ait lu un son....
Je serais ravi que quelqu'un puisse m'aider
Peut être une piste de réflection mais je ne sais pas comment faire, faire en sorte que le script ne se lance que si le switch ( 'Xiaomi Mes MP3 v1' ) est supérieur à Off (1000)