Aller au contenu

ygi

Membres confirmés
  • Compteur de contenus

    48
  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutral

À propos de ygi

  • Rang
    Nouveau

Profile Information

  • Sexe :
    Homme
  • Ville :
    Huy
  • Box
    Home Center 2
  • Version
    4.110

Visiteurs récents du profil

460 visualisations du profil
  1. rebonjour, j'ai ammene une bonne modification a mon poste precedent... si vous l'aviez utilise.. veuillez prendre cette derniere mouture belle journee yves
  2. Bonjour, J'ai enfin reussi a faire ce que je voulais, sans utiliser de plugin externe. C'est une scene qui va lire la prochaine alarme endéans les 24h d'une squeezebox et demarre des actions de votre souhait. l'avantage de celle-ci, c'est qu'il est possible de demarrer des actions un certain temps juste avant le reveil... tel chauffage dans la SDB . Dans le code qui suite j'ai cree un simulateur d'aube sur du RGBW N'hesitez pas a me notifier de vos ameliorations de code.. ou de bugs Ce code est donc composé d'un virualDevice (pour consulter la SqueezeBox) et d'une scène Voici le VirtualDevice: SqueezeBox.vfib et specifiez l'IP du LMS (Serveur Logitech) et le port 9090 Dans le code de chaque bouton et le main loop, n'oubliez pas de modifier la variable PlayerMAC qui est la MACaddress de votre squeezebox : Dans la partie Main Loop (tout en bas), vous pouvez modifier le pollingTime (Frequence de consultation de la Squeezzbox) dans la variable pollingTimeSec qui a la valeur de 10 (secondes). Créez une nouvellle scene, dont voici le code : --[[ %% autostart %% properties %% events %% globals --]] local runTaskFrom = ""; -- empty string if running all the time local runTaskTo = ""; local vdSqueezeboxId = 132; local polltimeCheck = 60; --in minutes local taskDuration = 0; -- in minutes 0 if nothing to do after task is done local waitSBStopOFF = true; local timeToStartBeforeSqueezeBox = 0; -- in minutes local lightId = 16; function task() fibaro:debug ("Running the task "); if waitSBStopOFF == true then fibaro:debug ("Waiting Squeezebox to start"); while fibaro:getValue(vdSqueezeboxId, "ui.Status.value") ~= "Play" do fibaro:sleep(5000); end end StartDawn(); if taskDuration > 0 or waitSBStopOFF == true then if taskDuration > 0 then fibaro:debug ("Waiting " .. math.floor(taskDuration) .. " minutes"); fibaro:sleep ((taskDuration) * 60000 ); end if waitSBStopOFF == true then fibaro:debug ("Waiting Squeezebox to stop"); while fibaro:getValue(vdSqueezeboxId, "ui.Status.value") == "Play" do fibaro:sleep(5000); end end StopDawn(); end end function StartDawn() local dawnDuration = 5; -- in minutes local dawnRGBW={{15,0,30,0}, {45,13,5,30}, {15,0,15,60}, {5,0,0,90}, {0,0,0,120}, {0,0,0,255}}; local maxValueByStep={}; local changeColor={}; fibaro:call(lightId, "turnOff"); fibaro:sleep(1000); local currentColor = split(fibaro:getValue(lightId, "color"),","); for k,v in ipairs(dawnRGBW) do maxValueByStep[k]=0; for i=1,4 do if (math.abs(v-currentColor) > maxValueByStep[k]) then maxValueByStep[k] = math.abs(v-currentColor); end; end currentColor = v; end --calculate time to wait for each color steps local totalChangeColors=0; for i,val in ipairs(maxValueByStep) do totalChangeColors = totalChangeColors + val; end local waitTime = math.floor(((dawnDuration*60*1000) / totalChangeColors) + 0.5); fibaro:debug(string.format("total change : %d steps in %d min = %dms by step",totalChangeColors, dawnDuration, waitTime)); --let's go for changing the colors currentColor = split(fibaro:getValue(lightId, "color"),","); for k,v in ipairs(dawnRGBW) do fibaro:debug(string.format("%d sec in %d steps to go to %d %d %d %d",(waitTime/1000*maxValueByStep[k]), maxValueByStep[k], v[1],v[2],v[3],v[4])); for i=1,4 do changeColor = (v-currentColor)/ maxValueByStep[k]; end for i=1, maxValueByStep[k] do for j=1,4 do currentColor[j] = currentColor[j]+changeColor[j]; end local R = math.floor(currentColor[1] + 0.5); local G = math.floor(currentColor[2] + 0.5); local B = math.floor(currentColor[3] + 0.5); local W = math.floor(currentColor[4] + 0.5); fibaro:call(lightId, "setColor",R,G,B,W); local keepOn = true; if waitSBStopOFF == true and fibaro:getValue(vdSqueezeboxId, "ui.Status.value") ~= "Play" then keepOn = false; end if keepOn == false then return; end; fibaro:sleep(waitTime); end end end function StopDawn() fibaro:call(lightId, "turnOff"); end function getTimeToWait(TimeToWaitStr) local startDate = os.date("*t"); startDate.hour = tonumber(string.sub(TimeToWaitStr,1,2)); startDate.min = tonumber(string.sub(TimeToWaitStr,4,5)); startDate.sec = 0; if (os.time() >= os.time(startDate)) then startDate = os.date("*t",os.time()+(24*60*60)); startDate.hour = tonumber(string.sub(TimeToWaitStr,1,2)); startDate.min = tonumber(string.sub(TimeToWaitStr,4,5)); startDate.sec = 0; end return os.time(startDate)-os.time(); end function process () --Wakeup time fibaro:debug("Starting Check "); local squeezeBoxNextAlarm = fibaro:getValue(vdSqueezeboxId, "ui.NextAlarm.value"); if squeezeBoxNextAlarm ~= nil and squeezeBoxNextAlarm ~= "" then fibaro:debug("Next alarm today at "..squeezeBoxNextAlarm); local hours = tonumber(string.sub(squeezeBoxNextAlarm,1,2)); local minutes = tonumber(string.sub(squeezeBoxNextAlarm,4,5)); local totalMinutes = (hours *60) + minutes; local timeToWait = getTimeToWait(squeezeBoxNextAlarm) - (timeToStartBeforeSqueezeBox *60); if timeToWait < (polltimeCheck *60) then fibaro:debug("Waiting Alarm for " .. math.floor(timeToWait/ 60) .. " minutes"); fibaro:sleep (timeToWait * 1000); task (); return true; end end return false; end ------------------------ -- Main Code ------------------------ if fibaro:countScenes() > 1 then fibaro:abort(); end local timeRange = false; while true do if (runTaskFrom ~= "") then timeRange = true; local timeFrom = getTimeToWait(runTaskFrom); local timeTo = getTimeToWait(runTaskTo); if timeFrom < timeTo then -- we are outside the range fibaro:debug ("Waiting for "..runTaskFrom); fibaro:sleep(timeFrom * 1000); end end if process() == false then fibaro:debug("Sleeping " .. polltimeCheck .. " minutes"); fibaro:sleep (polltimeCheck * 60000 ); end end les parametres de la scene : vdSqueezeboxId = ID du VirtualDevice de la SqueezBox runTaskFrom et runTaskTo : string des heures pendant lesquelles le process va consulter la Squeezebox (si parametres vide, le process va consulter cycliquement la SB tous les X minutes (param timeCheckCycle), ex "08:30" "16h47" (format 24h) polltimeCheck : minute entre les consultations de la SB taskDuration : minutes entre les actions à prendre en debut de reveil, et les actions de fin ( valeur 0 = pas d'actions de fin) waitSBStopOFF : true s'il faut se synchroniser avec l'état de la Squeezebox On/Off ou que que le status est Stop (ni Play, ni Pause) timeToStartBeforeSqueezeBox = délais en minutes pour déclencher les actions avant le réveil Parametres de l'aube : La fonction Dawn simule l'aube sur RGBW, avec comme parametre l'ID du device RGB. le tableau dawnRGBW definit les etapes de couleurs.. 6 ici en l'occurence, que vous pouvez changer à votre guise ma simulation colorimetrique ne vous satisfait pas. Le process va calculer la vitesse et les modifications pour chacune des couleurs et pour chacune des étapes en fonction du paramètre : dawnDuration qui specifie combien de minutes doit prendre l'éxecution de toutes les étapes. Dans mon code ici, je me synchronise avec l'etat de la squeezebox, et demarre l'aube lorsque la squeezbox est en "play"... si je stop le reveil pendand l'aube ou apres, il avorte l'execution et eteint le RGBW... par contre si vous mettez une valeur dans la duree de l'execution (taskDuration), ce délais sera enclenché qu'apres avoir executé l'aube. Donc si la durée d'exécution de l'aube est de 5 min, si vous coupez le reveil pendant l'exécution de celle-ci, le RGB s'eteindra, si vous le faites après, pendant cette attente... Elle ne s'eteindra une fois ce delais exécuté. have fun yves
  3. Bonjour, je cherche la liste complete des commandes Cli, meme chez logitech je ne la trouve pas. En fait je cherche le moyen qu'une scene parcourt les alames configurees sur un player specifique et demarre le chauffage, si la temperature est trop basse. j'ai vu sur youtube qu'un gars avec un plugin HC2 sur son LMS ( que je ne trouve pas) et qui lui en fonction d'un reveil sur un player specifique declenche une scene sur la hc2. entre autre lui agissait sur ses dimmers pour creer l'aube. c'est deja pas mal, mais dans mon cas, il faudrait que la scene soit ddeclenchee 30 mins avant le reveil. pouvez vous m'aider ? yves
  4. ygi

    Fibaro - Smoke Detector - Fgsd-002

    Bonsoir, une petite question, j'ai l'opportunite d'acheter 2 fgss-001 a moitier prix... j'ai bu que le 002 etzit un vrai detecteur, plutot qu'un capteur... Savez vous si le 001 est homologue en belgique ? est ce un bon achat ? merci de vos infos yves
  5. Bonjour, Mon probleme est relativement simple, sur un FGS221, je connecte sur l'entree 1 un interrupteur et un eclerage exterieur sur la sortie 1, sur l'entree 2, j'ai connecte un capteur de lumiere exterieure, il agit comme un relais monophase, mais je n'ai rien branche en sortie... je veux juste avoir l'etat et agir, soit par groupe ou programmation sur d'autres appraraillages. mais un point m'intrigue, c'est au niveau de la config... est il possible de ne pas interagir via l'interface sur le on/off ? a la rigueur meme de ne pas voir ces boutons affiches..., je voudrzis juste voir l'icone on et le off en fonction de l'etat... Est ce possible ? merci pour activites sur ce site, c'est une grande source d'information yves
  6. Bonjour Kirkoff, E tu en connais qui peut etre utilisé avec l'universal binary ? comme il y a deja le composant pour la temperature, ce serait bien d'en avoir un juste pour l'humidité.; et de faire or de potentiellement 4 decteurs de temperature.. d'en faire 1, voire deux de temperature/humidité. yves
  7. Bonjour, C'est justement le genre de question que je me posais depuis des mois et j'ai fait l'achat recement de l'everspring ST814. Mais l'interface de ce module est catastrophique.. Mais j'esperais pas d'interface initielement.; de quoi je me plains ? Mais sincerement personne n'a fait sa propre sonde avec l'universal binary sensor de fibaro ? et un chip genre celui ci chez Texas Instrument ? http://www.ti.com/product/hdc1080 mais faudrait un en 0-10v j'imagine Je manque de connaissance pour faire ca et mettre ca dans un boitier pas trop moche qu'en pensez vous ? yves
  8. ygi

    Fibaro Fgrgb-101 "controller Rgbw"

    Bonjour vous tous, Comme il n'est pas encore possible d'echanger des fichiers de custom programs, il y a t il quelqu'un qui a fait un joli programme qui voudrait partager en definissant les blocs ? merci ygi
  9. ygi

    Fibaro Fgrgb-101 "controller Rgbw"

    Bonjour, Une petite question electronique.. je vais placé un ciel etoilé dans la chambre a coucher.. j'ai achete un module pour se faire sur aliexpress, mais je change, la led pour mettre une RGBW de chez cree, et forcement l'electronique. Comme le fibaro RGBW servira de driver, comment dois-je operer pour descendre le 12v en 2.2v et 3.0v pour les differentes led ? si je mets des resistances, c'est pas conseillé,a utant pour la consomation que pour lastabilité, et la dissipation de chaleur... On m'a dit que je n'aurais pas le choix d(intercaller un autre Led Driver 4 canaux entre les 2... vous confirmez ? si oui.. Il y a t il des driver tout fait ? yves
  10. Bonjour Pilou, Comme je le disais, je vois que Json arrive a se standardiser, mais je ne peux l'eviter, mes devices ne repondent pas au format JSon, mais en XML yves
  11. C'est bien possible, mais il faut avouer que c'est une autre facon de communiquer dont les messages sont moins longs. La difference c'est que json a l'air de devenir un standr pour communiquer des etats / données, alors que le xml reste le moyen le plus conventionele pour communiquer les données aux web browser. donc pas prevu pour des requetes exterieures genre Fibaro. Helas mes devices n'interpretent pas le JSON, je suis bon a faire mon parser XML... en voila un beau defis yves
  12. Merci Lazer pour ces informations. j'avais trouvé le descriptif du framework fibaro: sur le .co.uk mais je ne trouve nulle part la desriptif du framework HC2:, celui qui contient SetBasicAuthentication, par exemple. Je viens de m'inscire sir le forum developer.fibaro.com merci de l'info. Il y a t il un XML Parser ? les retour de mes devices sont en xml, et je ne sais pas si je dois moi meme faire un string parser, ou si je peux utiliser des fonctions xml. bien à toi yves
  13. Oui je sais et je pense que je n'écris pas la,moitié de ce qui me passe par la tête On pourrait résumer par : - quel est la différence entre un script et un plugin (point de vue dev), comment procède t ton pour faire un plugin ? Quand doit on décider de faire un plugin ? - quels sont les frameworks disponibles par défaut ? Ou trouve t on l'aide les concernant ? Comment en ajoute t on ? - îl y a t îl des Tuto pour nous guider dans le dev ? Voila, merci laser, tu as toujours repondu a chacune de mes questions
  14. bonjour, Je suis développeur, et je commence tout doucement àinstaller des devices dans la maison, mais j'ai certaines chose que j'aimerai implémenter moi meme pour des devices qui répondent a des requêtes HTTP. J'ai un compteur d'énergie sur lequel je peux faire des queries sur les 4 compteurs, mais je doit l'authentifier avant, et je voudrais creer une telecommande et status de mon ampli Yamaha, et j'avais l'idée de faire un plugin, mais c'est quoi la différence entre un plugin et un script ? Mais je ne trouve pas grand chose sur les framework disponibles par défaut (fibaro: et HC2:) îl y en a t îl d'autres ? J'ai vu que krikoff A ecrit (ou fourni) des complément de framework, ou les trouve t on ? Comment les installe t on ? Poir mon probleme d'authentification, j'ai trouvé la fonction HC2::SetBasicAuthentication, mais je ne trouve nulle part le descriptif de retour de cette fonction s'il y en a, car je n'arrive pas àavoir de reponse de mon device, àla requête envoyée apres, et pourtant je suis sur des credentials utilisés. Un petit coup de main pour me guider ? Merci Yves
  15. ygi

    Fibaro FGBS-321 Module Universel

    Bonjour, Je m'apprete a acheter ce module, mais le site Fibaro presente la Datasheet du FGBS321, alors qu'on voit encore beaucoup des FGBS-001. Je ne trouve plus la datasheet du 001 pour la comparer.. est-ce quelqu'un peut me dire les ameliorations ? Car sur un site en allemangne ou les prix sont interressants, il n'y a pas de 321. bien à vous yves
×