Aller au contenu

Eliah

Membres confirmés
  • Compteur de contenus

    129
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Eliah

  1. Bonjour, j'ai tenter d'utiliser le script de yannick pour la détection de lumière mais je rencontre un problème.. le script fonctionne bien tant que l'on bouge durant la phase ou le détecteur est en alerte. Mais si je bouge une fois qu'il s'est remis en position normale et avant la fin des 60 secondes, le script bug et la lumière reste allumé indéfiniment... en gros si on fait les actions suivante : - 0 sec : je bouge, la lumière s'allume, le détecteur est en alerte pour 30 sec - 30 sec : le détecteur passe en mode normal - 35 sec : je bouge, le détecteur passe en mode alerte Là , la lumière reste allumé à l'infini. Par contre si je rebouge après 60 sec, la lumière s'éteint bien au bout de 60 nouvelles secondes. bref si je fais : 0:00 : lumière s'allume 0:55 : je bouge 1:56 : je rebouge 2:56 : la lumière s'éteint Mais si je sors entre 0:55 et 1:55 la lumière restera allumé indéfiniment.. Une idée du script à modifié ? Je le reposte ici pour plus de simplicité --[[ %% properties 92 value 94 value %% globals --]] local id_lampe = 31 local id_mouv_couloir = 92 local id_lux_couloir = 94 local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(92, "value"); local HeureActuelle = os.date("*t"); -- si il y a plus d'une instance en route alors on arrête if (fibaro:countScenes() > 1) then fibaro:abort() end; -- ça c'est pour la forme fibaro:debug("Il est "..HeureActuelle['hour']..":"..HeureActuelle['min']) fibaro:debug("le capteur est safe depuis : "..((os.time() - deviceLastModification0)/60).." min") -- entre 18h et 7h du matin s'il y a un mouvement et que les lux < à 10 alors on allume tant qu'il y a du mouvement -- sinon on éteint après 1 minute de calme if ((HeureActuelle['hour']>= 18 or HeureActuelle['hour'] <= 7) and ( tonumber(fibaro:getValue(id_mouv_couloir, "value")) > 0 ) and ( tonumber(fibaro:getValue(id_lux_couloir, "value")) <= 10 ) ) then fibaro:call(id_lampe, "turnOn"); fibaro:sleep(60*1000); end if (( tonumber(fibaro:getValue(id_mouv_couloir, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 60) then delayedCheck0 = true; end if ( delayedCheck0 == true ) then fibaro:call(id_lampe, "turnOff") end Merci d'avance !
  2. oui je pensais aux variable tout àl'heure du coup je vais tester ca mais ca me semble une solution potentielle. A suivre je test ca ce soir !
  3. au départ oui mais j'ai tester en les transformant pour voir ce que tu m'as dit mais ca ne marche pas. en fait le %autostart ne se lance qu'au lancement du HC2 ou lorsque l'on enregistre la scène. Du coup ca ne redémarre pas...
  4. malheureusement ça ne fonctionne pas non plus... J'ai essayé avec la commande fibaro:killScenes(xx); également (à la place de fibaro:setSceneEnabled(xx, false)) mais ça n'a aucun effet, ma scène se relance et le détecteur fonctionne toujours donc quand on se lève, la cuisine se rallume. D'autres idée ?
  5. Bonjour, Je souhaite mettre en place en scène pour regarder un film : mon problème est que quand je désactive une scène (détecteur de présence dans la cuisine ouverte qui allume la lumière et qui l'éteint automatiquement), je n'arrive plus à la réactiver après... Mon but est que si on se lève pendant le film la cuisine ne s'allume pas. Par contre quand le film est fini, je souhaite lancé une scène qui réactive mes scénes de détection de présence. Ma scène "Film" coupe mes 2 scènes de la cuisine (détection ON et détection OFF) : J'utilise le code suivant : fibaro:setSceneEnabled(16, false) -- Stop scène lumière off détecteur fibaro:setSceneEnabled(12, false) -- Stop scène lumière on détecteur Tout se passe bien mes scènes sont désactivées et mon détecteur ne fonctionne plus. Pour réactiver ma scène j'utilise le code suivant --[[ %% properties %% globals --]] fibaro:setSceneEnabled(16, true) -- Start scène lumière off détecteur fibaro:setSceneEnabled(12, true) -- Start scène lumière on détecteur fibaro:startScene(12) -- Start scène lumière on détecteur fibaro:startScene(16) -- Start scène lumière off détecteur Ca m'active bien dans l'instant la scène (j'ai un On/Off des lumières qui se fait en 1 seconde), mais pas sur la durée. Mon détecteur ne fonctionne plus. Dans le détail quand je fais une setSceneEnabled(false) ca me désactive les 2 cases dans les propriétés de ma scène : - Scène active ? - Lancer au démarrage du Home Center 2 Et quand je lance setSceneEnabled(true) ça ne me réactive que : - Scène active ? Mais pas l'autre.... Ma question est donc la suivante, comment je peux faire que la 2eme case se coche en code LUA ? Histoire que ma scène redevienne active tout le temps ? Merci d'avance !
  6. Salut, quelqu'un arrive à lancer des scnérario ou des VD avec Sarah ?
  7. Je ne sais pas trop quoi te répondre désolé... :/
  8. non chez moi quand je le déplace, ca me lance toujours l'ancien scénario.. j'ai placé le mien du 6 au 1 et qd je lance le 1 ca me lance l'ancien 1
  9. Bonjour, Je viens d'installer un module fibaro RGBW (FGRGBW 441M EU) qui est bien installé et fonctionne à priori normalement. Je n'arrive par contre pas à lancer une scène de couleurs "fabriqué main" via une scène (ni en LUA ni en brique, ni en http en fait). Mais ça marche via l'interface ! En effet en utilisant la fonction startProgram, seul les programmes de bases (de 1 à 5) fonctionnent. Mais il est malheureusement impossible de les modifier. Quand j'appelle le programme 6, il ne se passe rien (pareil pour le 7) Via l'API j'ai un retour anormal : http://192.168.1.199/api/callAction?deviceID=75&name=startProgram&arg1=5 me renvoi : {"id":0,"jsonrpc":"2.0","result":{"result":1}} (ca marche) http://192.168.1.199/api/callAction?deviceID=75&name=startProgram&arg1=6 me renvoi : { } (ca marche pas) Une idée ? car moi j'en suis à cours...
  10. je remonte le topic.. quelqu'un arrive àla faire fonctionner au final ?
  11. Bonjour, Quelqu'un à t'il un retour sur l'intégration de la Nest Cam sur le HC2 ? http://www.amazon.fr/gp/product/B00YA2HA7A/ref=as_li_tl?ie=UTF8&camp=2522&creative=9474&creativeASIN=B00YA2HA7A&link_code=as3&tag=madeinecom07-21&linkId=63ZYDE5ALDVOCIMH Merci d'avance
  12. Bonjour, Je viens d'acheter 2 camera IP Foscam C1 pour le look un peu design du modèle, mais impossible de faire fonctionner... j'ai tester toute les possibilités en écumant les divers forum et rien n'y fait.. La bonne vieille commande en CGI qui marche sur les autres ne fonctionne pas sur celle-ci :/ Quelqu'un a t-il réussi à en faire fonctionner une avec le HC2 ? Une idée de comment je pourrai la faire fonctionner ? Avant j'avais une FosBaby de Foscam aussi et ca marchait très bien.. je suis déçu.. 200€ dans le vent Et toujours aucune caméra un peu sexy à utiliser... J'utilise la commande : cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=monUser&pwd=monPass pour le JPG j'ai aussi tester : video.cgi?resolution=32&user=monUser&pwd=monPass pour le MJPEG mai rien ne marche.. J'ai aussi utiliser la commande qui est censé activer le MJPEG sur les Foscam (je l'ai plus en tête), ca me donne le bon résultat mais tjs rien avec le HC2 Need help
  13. "Il y a plus simple tu prends le code dans le vd sonos de krikroff " Oui enfin dit comme ca, ca fait pas avancé les choses.. Moi je suis pas expert et ta phrase ne m'avance pas Cybersquat : content que cela fonctionne ! Et content d'avoir pu aider
  14. PITP2 : j'ai aussi essayer son module mais je n'ai réussi que par ma technique ^^ cybersquat : essaye d'enlever les commentaires dans le script sur la fonction STOP.. mais si tu l'enlèves le son se coupe au bout de 30 secondes Sinon pas d'autres idées q.philippe : surement mais je ne sais pas comment Après je ne vois pas trop l'intérêt de modifier le volume sur le VD.. perso le son se joue à un volume donné et ca me va bien comme ca. Si je dois faire d'autres sons avec d'autres volumes je créerai d'autres VD
  15. Bon jai trouvé comment faire alors je mets tout ca en topic pour les débutants comme moi ! Mais ça ouvre d'énorme possibilité pour moi !
  16. oui cybersquat je connaissais ce moyen mais perso je veux vraiment avoir le chien en mp3
  17. Bonjour, Je souhaitai mettre en place un Chien électronique à partir d'un déclencheur type détecteur de mouvement fibaro. Mon but était que lorsqu'il y a un mouvement, un mp3 d'un chien qui aboie, qui est stocké sur mon NAS, se joue sur une de mes enceintes Sonos actuellement enregistré dans mon HC2 (v4) en module virtuel. Après d'âpres recherchent j'ai trouvé comment faire.. Merci aux contributeur de ce post qui m'ont donné envie de chercher En avant la musique : 1- Ajoutez un module virtuel que l'on nommera "Chien Virtuel" 2- Ajouter l'adresse IP du Sonos que vous souhaitez utiliser pour diffuser le son 3- Ajouter le port 1400 4- Dans "Avancé", créez un bouton sur une seul ligne (dans Etiquette) et cliquez sur "ajouter un réglage" 5- Descendez pour éditer votre bouton et passez en mode "Code LUA" 6- Collez le code suivant : ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------- -- SONOS Play stream... -- Copyright © 2014 Jean-Christophe Vermandé ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- selfId = fibaro:getSelfId(); ip = fibaro:get(selfId, 'IPAddress'); port = fibaro:get(selfId, 'TCPPort') or 1400; currentTransportState = ""; lastTransportState = ""; currentVolume = 0; lastVolume = 0; ttsVolumeIsDifferent = false; urlencode = function(str) if (str) then str = string.gsub (str, "\n", "\r\n"); str = string.gsub (str, "([^%w ])", function (c) return string.format ("%%%02X", string.byte(c)) end); str = string.gsub (str, " ", "+"); end return str; end createRequestBody = function(action, schema, data) return string.format("<u:%s xmlns:u=\"%s\">%s</u:%s>", action, schema, data, action); end reponseCallback = function(fnc, args) if (fnc == nil) then return nil; end return fnc(args); end createSocket = function() -- Check IP and PORT before if (ip == nil or port == nil) then fibaro:debug("You must configure IPAddress and TCPPort first"); return; end local socket; local status, err = pcall(function() socket = Net.FTcpSocket(ip, port); socket:setReadTimeout(1000); end); if (status ~= nil and status ~= true) then fibaro:debug("socket status: " .. tostring(status or '')); end if (err ~= nil) then fibaro:debug("socket err: " .. tostring(err or '')); return; end return socket; end disposeSocket = function(socket) if (socket ~= nil) then socket:disconnect(); socket = nil; return true; end return false; end sendSoapMessage = function(url, service, action, args, callback, retry) local socket = createSocket(); if (socket == nil) then return; end retry = retry or 0 -- prepare data local url = "POST " .. url .. " HTTP/1.1"; local soapaction = "SOAPACTION: \"" .. service .. "#" .. action.name .. "\""; local body = createRequestBody(action.name, action.service, tostring(args or "")); local envelope = "<?xml version=\"1.0\" encoding=\"utf-8\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body>" .. body .. "</s:Body></s:Envelope>"; local ctl = "Content-Length: " .. string.len(envelope); local payload = url .. "\r\n" .. ctl .. "\r\n" .. soapaction .. "\r\n" .. "\r\n" .. envelope; -- write data local bytes, errorcode = socket:write(payload); if (errorcode == 0) then local state, errorcode = socket:read(); if (errorcode == 0) then if (string.len(state or "") > 0) then -- callback if (callback ~= nil) then reponseCallback(callback, state); end -- dispose ... disposeSocket(socket); return true; else fibaro:debug("Error: Invalid response. response length: " .. string.len(state or "")); end else if (retry < 5) then fibaro:debug("retry #"..retry.." action: " .. action.name); return sendSoapMessage(url, service, action, args, callback, (retry + 1)); else fibaro:debug("Error: Code returned "..tostring(errorcode or "")); end end elseif (errorcode == 2) then fibaro:debug("Error: You must check your IP and PORT settings."); else if (retry < 5) then fibaro:debug("retry #"..retry.." action: " .. action.name); return sendSoapMessage(url, service, action, args, callback, (retry + 1)); else fibaro:debug("Error: Code returned "..tostring(errorcode or "")); end end -- dispose ... disposeSocket(socket); -- default response return false; end -- stop = function() -- return sendSoapMessage( -- -- control url -- "/MediaRenderer/AVTransport/Control", -- -- service type -- "urn:schemas-upnp-org:service:AVTransport:1", -- -- action -- { name = "Stop", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- -- soap body data (options) -- "<InstanceID>0</InstanceID><Speed>1</Speed>", -- -- callback (options) -- function(response) -- fibaro:debug("stop sent"); -- end); -- end unMute = function() return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:RenderingControl:1", -- action { name = "SetMute", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel><DesiredMute>0</DesiredMute>", -- callback (options) function(response) fibaro:debug("unMute sent"); end); end play = function(duration) return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "Play", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Speed>1</Speed>", -- callback (options) function(response) if (duration ~= nil) then fibaro:debug("play sent for " .. duration .. " seconds"); fibaro:sleep(duration); stop(); else fibaro:debug("play sent"); local n = 0; currentTransportState = "TRANSITIONING"; while (currentTransportState == "TRANSITIONING") do if (n > 10) then break end; getTransportState(); fibaro:debug(currentTransportState); fibaro:sleep(5000); n = n + 1; end local i = 0; currentTransportState = "PLAYING"; while (currentTransportState == "PLAYING") do if (i > 10) then break end; getTransportState(); fibaro:debug(currentTransportState); fibaro:sleep(2000); i = i + 1; end fibaro:sleep(1000); stop(); end -- update volume with value before tts if different if (ttsVolumeIsDifferent == true) then setVolume(lastVolume); ttsVolumeIsDifferent = false; end end); end setVolume = function(value) return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:RenderingControl:1", -- action { name = "SetVolume", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel><DesiredVolume>" .. tostring(value) .. "</DesiredVolume>", -- callback (options) function(response) fibaro:debug("Volume set: " .. value); end); end getVolume = function() fibaro:log("Get volume, please wait..."); return sendSoapMessage( -- control url "/MediaRenderer/RenderingControl/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "GetVolume", service = "urn:schemas-upnp-org:service:RenderingControl:1" }, -- soap body data (options) "<InstanceID>0</InstanceID><Channel>Master</Channel>", -- callback (options) function(response) currentVolume = tonumber(response:match("<CurrentVolume>(.+)</CurrentVolume>") or 0); end); end getTransportState = function() return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "GetTransportInfo", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID>", -- callback (options) function(response) currentTransportState = response:match("<CurrentTransportState>(.+)</CurrentTransportState>") or ""; end); end playFile= function(file, volume) return sendSoapMessage( -- control url "/MediaRenderer/AVTransport/Control", -- service type "urn:schemas-upnp-org:service:AVTransport:1", -- action { name = "SetAVTransportURI", service = "urn:schemas-upnp-org:service:AVTransport:1" }, -- soap body data (options) "<InstanceID>0</InstanceID>,<CurrentURI>x-file-cifs:" .. file .. "</CurrentURI>,<CurrentURIMetaData></CurrentURIMetaData>", -- callback (options) function(response) -- retrieve current transport state getTransportState(); lastTransportState = currentTransportState; -- unmute before unMute(); -- retrieve volume getVolume(); lastVolume = currentVolume; -- set tts volume if <> with current if (volume ~= nil and volume ~= currentVolume) then setVolume(volume); ttsVolumeIsDifferent = true; end play(); end); end playFile("//SERV_DOMESTIK/Music/Sons/chien_2.mp3", 30); 7- Modifié le chemin de votre MP3 sur la dernière ligne : playFile("//SERV_DOMESTIK/Music/Sons/chien_2.mp3", 30); le chiffre "30" correspond au volume de lecture J'ai utilisé le son suivant : http://www.orangefreesounds.com/dog-bark-sound-2/ 8-Enregistrez avec la disquette à droite 8.5- Mon icon : http://www.domotique-fibaro.fr/index.php/gallery/album/260-chien-virtuel/ 9- Créez une scène avec les "étiquettes magiques" 10- Personnellement j'ai mis : Si <Détecteur> == <en alerte> Alors <Module virtuel Chien><Button11> (pour moi c'est button11 mais pour vous ca peut être autre chose). 11- et voila ! Quand je bouge ca aboie ! C'est plein de scène que l'on peut faire avec des Mp3 enregistré du coup. Il devient possible de faire des retours audio à des scénarios avec des sons pré-enregistré un peu comme SARAH mais du coup on évite le TTS Je sens que je vais m'amuser ! Merci et à Bientôt
  18. Bonjour, Je souhaite faire quelque chose de similaire à ce que l'on voit dans la vidéo de présentation générale de Fibaro, à savoir afficher l'image de ma webcam en fonction d'un déclencheur (détecteur de mouvement ou détecteur d'ouverture de porte) sur ma TV (qui est déjà allumé). Une idée de comment faire cela ? Je possède une caméra Foscam configurée dans mon HC2 et d'une SmartTV IP Philips Ambilight. Toute aide sera la bienvenue ! Merci d'avance
  19. peut-être en commande HTTP en montant un serveur web ?
  20. ok merci pour cette info pour SARAH Concernant la lecture directement dans le HC2 sans passer par SARAH ? Genre faire une scène où : - j'allume la lampe - je joue un fichier mp3
  21. Bonjour, Je souhaiterai faire lire un fichier Mp3 présent dans un dossier sur mon PC lorsque j'allume ou que j'éteins un module sur ma HC2. En gros faire du TTS mais à base de fichiers Mp3 Custom. Le but est d'enregistrer une amie pour avoir un retour de voix plus naturel sur les réponses non dynamiques (du genre "voilà c'est allumé"). Je suppose que c'est faisable en LUA mais je suis débutant sur la question Si quelqu'un a une idée je suis preneur L'idée est ensuite de pousser la chose sur S.A.R.A.H. Merci d'avance !
  22. et j'ai pourtant 33 modules trouvés et 4 pièces dans l'interface d'accueil du module HC2 1.3 PS : il y a du mieux avec cette version mais mes WallPlug ne fonctionnent tjs pas.. https://drive.google.com/file/d/0B0PuPr--nYy8QmIzU0tTVTBNUzA/view
  23. Voilà ce que j'obtient personnellement dans le log du serveur .. Même problème avec ton script Akrobat. "Je ne peux exécuter cette action"... ##### Home Center 2 ##### ***** SET ***** Found rooms (0) Salon: true Found (12) Prise Salon: true { hostname: '192.168.1.4', port: 80, path: '/api/callAction?deviceID=25&name=setValue&arg1=undefined', auth: 'xxxx:xxxx' } ***** GET ***** Found rooms (0) Salon: true Found modules (12) Prise Salon: true Je ne peux pas exécuter cette action info: Run homecenter2: 584ms
  24. ah yes bien vu lol merci
  25. Bonjour, Pensez-vous que l'on puisse interfacer cette caméra avec le HC2 ? http://www.domadoo.fr/fr/objets-communicants/2620-withings-home-camera-hd-avec-capteurs-integres-3700546700477.html# Merci d'avance
×
×
  • Créer...