-
Compteur de contenus
2 646 -
Inscription
-
Dernière visite
-
Jours gagnés
22
Tout ce qui a été posté par Shad
-
Et bien tu as tous simplement les fonctions air play de apple dispo pour les équipements sonos. Envoyé de mon SM-G900FD en utilisant Tapatalk
-
Perso, j'avoue que leur iphone, mac book c'est pas pour moi. Mais l'ipad est vraiment bien conçue pour un utilisateur lambda. Au quotidien je n'utilise que sa, maintenant pour gérer mon système domotique, je préfère ma tablette samsung. Pour moi elle n'a qu'un seul gros avantage, c'est les widgets.
-
essaye sa --[[ %% properties 33 value %% globals --]] local startSource = fibaro:getSourceTrigger(); local porte = 33; local RGBW = 5; function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end local result = split(fibaro:getValue(RGBW, "color"), ',') local ProgramID = fibaro:getValue(RGBW, "currentProgramID") function callLastState () if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (ProgramID > "0")) then fibaro:call(RGBW, "startProgram", ProgramID); else fibaro:call(RGBW, "setColor", result[1], result[2], result[3], result[4]); end end if (startSource['type']=='property') then -- door trigger if (startSource['deviceID']==tostring(porte)) then if (tonumber(fibaro:getValue(porte, "value")) > 0) then fibaro:debug('Porte ouverte'); fibaro:call(5, "setColor","0","220","0","0"); fibaro:sleep(3000); callLastState(); end end end
-
Euh ton script est une vrai usine àgaz quand même la Xd. Tu veux faire quoi exactement?
-
Rofl pas du dur quand même . Je regarde sa.
-
be sa c'est pas dur à faire sa va dans l'idée de mon script d'association. Be avant de faire change la couleur faut juste récupérer la valeur d'origine. Ce script peux t'aider pour sa.
-
Comment sa, tu veux que chaque RGBW puisse commander les autres ? Si c'est le cas c'est pas bien difficile. 30 Secondes et je te fais le code.
-
Ha quand même. Je commençais à me poser des questions mdr. On peut passer à autre chose .
-
Déjàtu as un soucis: 7 color local RGBW_master =72; Sa devrait être le même ID.
-
Tiens essaye sa je viens de l'essayer et sa fonctionne pour moi. --[[ %% properties 91 color %% globals --]] local RGBW_master = 91; local RGBW_slaves = {191,197,203}; function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end local result = split(fibaro:getValue(RGBW_master, "color"), ',') for i = 1, #RGBW_slaves do if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID")); else fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4]) end end
-
Tiens essaye sa je viens de l'essayer et sa fonctionne pour moi. --[[ %% properties 91 color %% globals --]] local RGBW_master = 91; local RGBW_slaves = {191,197,203}; function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end local result = split(fibaro:getValue(RGBW_master, "color"), ',') for i = 1, #RGBW_slaves do if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID")); else fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4]) end end
-
Met des fibaro:debug dans le code pour voir si il y a une partie qui coince voir même si la scène ce lance. Mais c'est pas normal, il y a aucune raison a première vue pour que le script bloque.
-
Non, 3 lignes à modifier. Je recommence: - ID color dans l'entete du script - RGB_ master - RGB_slave Et ouis j'ai éditer le script que j'ai posté.
-
Sur le dernier firmware j'ai pas essayer car je suis toujours en 3.600. Mais le 403 access forbidden n'est pas normal. Tu as essayer de reboot pour être sur.
-
Tu n'as rien a faire sur le script. Il tourne en tache de ton fond. Dès que tu changes les lumières du RGB master , le ID(91 pour moi) color le détecte et modifie les valeurs des autres RGB.
-
Oui c'est l'id 91 àmodifier par ton Id du rgbw qui doit commander tous les autres.
-
Non l'id en haut du script aussi. C'est lui qui permet d'activer la scène.
-
De rien lazer, fais toi plaisir
-
AIRSONOS Ce tuto est dédié est pour une debian/ubuntu. Il a pour but d'expliquer comment installer l'application Airsonos. Mon script fonctionne sur un machine virtuelle. Il sera basé sur 4 points: 1- Installation de Nodejs 2- Installation AirSonos 3- Customisation du script 4- Démarrage automatique au boot Je fais le tuto avec le compte root, si vous utilisez un compte utilisateur ajouter sudo. 1- Installation de Node js Donc on commence par mettre le système àjour: apt-get update && apt-get upgrade L'application AirSonos nécessite la version node.js >= 0.10.33. On va donc installer sa: apt-get install build-essential python Maintenant on va dans le répertoire opt: cd /opt Ensuite on va télécharger les sources et compiler le tous ( la compilation peut prendre un peu de temps): wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz && tar xfz node-v0.10.33.tar.gz && cd node-v0.10.33 && ./configure && make && make install Voilàpour vérifier que c'est bien installer: node -v Sa doit vous afficher "0.10.33". Maintenant on passe àl'installation de AirSonos. 2- Installation d'AirSonos On doit commencer par installer les paquets suivant: apt-get install git libavahi-compat-libdnssd-dev libasound2-dev mc sudo On passe àl'installation de Airsonos npm install airsonos -g Il faut savoir que sur cette version il y a un problème, il affiche plusieurs fois les mêmes enceinte. Vous pouvez essayer pour voir en lançant simplement l'application par: airsonos Pour stopper l'application faite "ctrl + c". 3- Customisation du script Donc on va maintenant passer au modification des fichiers. mcedit /usr/local/lib/node_modules/airsonos/lib/main.js En dessous de la ligne 28 on ajoute: console.log('Searching for Sonos devices on network...'); var deviceList = []; Ligne 36 var deviceName = zoneAttrs.CurrentZoneName; if(deviceList.indexOf(device.host + ':' + device.port) >= 0) { if (flags.get('verbose')) { console.log('Skipping duplicate device found at',deviceName, '{' + device.host + ':' device.port + '}'); } return; } deviceList.push(device.host + ':' + device.port) Maintenant l'application est fonctionnelle. 4- Démarrage automatique au boot On va maintenant regarder pour le lancer au démarrage. npm install forever -g nano /etc/rc.local Et ajoutez avant "exit 0". sudo -u root -i /usr/local/bin/forever start /usr/local/bin/airsonos Et voila vos enceintes on maintenant la fonction Airplay. Il également possible d'installer l'application sur un synology. Source: https://github.com/stephen/airsonos
-
Tu as modifier l'Id ici --[[%% properties 91 color %%globals --]]
-
Voilà je savais que j'avais oublier un truc. Met sa dans les local en haut local startSource = fibaro:getSourceTrigger(); Tu dois modifier l'id RGBW_master par celui que tu veux utiliser. Et le slaves pour les autres. Il faut que tu le colles dans une scène en lua.
-
Alors voici mon code, j'espère que je ferais pas d'errer car il dans un script complet d'association. --[[ %% properties 91 color %% globals --]] local startSource = fibaro:getSourceTrigger(); local RGBW_master = 91; local RGBW_slaves = {191,197,203}; function split(s, pattern, maxsplit) local pattern = pattern or ' ' local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found - 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit - 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos - patsz - 1)) end end return t end if (startSource['type']=='property') then if (startSource['deviceID']==tostring(RGBW_master)) then local result = split(fibaro:getValue(RGBW_master, "color"), ',') for i = 1, #RGBW_slaves do if (result[1] == "0" and result[2] == "0" and result[3] == "0" and result[4] == "0" and (tonumber(fibaro:getValue(RGBW_master, "currentProgramID")) > 0)) then fibaro:call(RGBW_slaves[i], "startProgram", fibaro:getValue(RGBW_master, "currentProgramID")); else fibaro:call(RGBW_slaves[i], "setColor", result[1], result[2], result[3], result[4]) end end end end
-
Oui juste id
-
Je te passes mon script de synchro tout a l heure
-
Perso, j ai fais mon script pour les synchroniser. Mais faut savoir qu'il y a un soucis. En effet lors du démarrage d'un programme, entre plusieurs modules il y a un écart de l'ordre de 0.5 secondes et ce décallage s'amplifie au fil du temps.