-
Compteur de contenus
8 501 -
Inscription
-
Dernière visite
-
Jours gagnés
66
Tout ce qui a été posté par Moicphil
-
Bonsoir Laurent et bienvenue sur le forum. Concernant "sonos", tu pourras faire du "TTS", @Krikroff est actuellement en train de développer d'autres fonctions supplémentaires pour mieux l'interfacer avec notre HC2. Aussi, d’après les rumeurs, le prochain firmware ( V4 ) devrais gérer le matériel Sonos
-
topic unique GCE Electronics IPX800 V3 - Automate Ethernet
Moicphil a répondu à un(e) sujet de Moicphil dans GCE Electronics
Ok, en effet ça peut être très pratique pour remonter les états des E/S et déclencher d'autres scènes. Merci -
topic unique GCE Electronics IPX800 V3 - Automate Ethernet
Moicphil a répondu à un(e) sujet de Moicphil dans GCE Electronics
Bonjour Pascal Pourrais tu nous donner un exemple d'utilisation des requêtes ? Possible d'actionner un VD via l'ipx800 ? -
Bonjour et bienvenue sur le forum.
-
Bonjour et bienvenue sur le forum.
-
Pareil, si tu veux bien partager.
-
topic unique GCE Electronics IPX800 V3 - Automate Ethernet
Moicphil a répondu à un(e) sujet de Moicphil dans GCE Electronics
Nouvelle mise à jour avec support du Json. Lien de téléchargement : http://gce-electronics.com/xdevices/IPX800_3.05.38.rar Doc Api : IPX_API.pdf -
Miam ! Merci
-
Concernant les pinces ampèremétrique les "Aeon Labs HEM" sont supportées. Je ne les ai pas testées donc je peux pas te faire de retour. Néanmoins, si ta config le permet, je privilégierais plus un éco-Devices, tu peux aussi gérer Conso/Prod et les mesures sont plus fiable et précises que les pinces. Apparemment tu es en "autoconsommation" c'est ça ?
-
à‡a serait bien en effet. à‡a tombe bien, je crois que JC n'a plus rien à se mettre sous la dent en ce moment...c'est ça non JC ?
-
M'en veux pas Shad, mais j'ai toujours pas testé ...Normalement le week-end prochain, promis !
-
Bonjour, nouveau en domotique
Moicphil a répondu à un(e) sujet de megabubu dans Nouveau ? Présentez-vous
Bienvenue et bonne lecture. -
Bonjour, bienvenue sur le forum
-
Bonsoir, bienvenue sur le forum.
-
Bonjour à toute la communauté
Moicphil a répondu à un(e) sujet de Olivier34 dans Nouveau ? Présentez-vous
Bonjour Olivier, bienvenue sur le forum -
Bonjour, bienvenue sur le forum
-
Merci pour ton retour, je transfert dans "matériel compatible"...
- 5 réponses
-
- Aeon labs
- telecommande
-
(et 2 en plus)
Étiqueté avec :
-
Mise àjour version de téléchargement sur 1er post - Nouvelle version du scheduler = 1.3.1
- 186 réponses
-
- Script Lua
- Agenda
-
(et 2 en plus)
Étiqueté avec :
-
Et un nouveau "Fibar-iste" :)
Moicphil a répondu à un(e) sujet de Romain80 dans Nouveau ? Présentez-vous
Bonjour, bienvenue sur le forum -
Je ne saurais pas te répondre mais... Comment le raccorderais tu ? Il faudrait l'alimenter en 220 et bricoler une prise qui elle serait raccordée en sortie d'onduleur. Faudrait voir aussi quelle puissance max va sortir de l'onduleur car pour le wallplug la puissance max tolérée en continu est de 2500w et 3000w en crête.
-
Topic unique Fibaro - Capteur D'ouverture Fgk
Moicphil a répondu à un(e) sujet de Moicphil dans Modules Fibaro
Bonjour Tu as bien fais attention de mettre la sonde ds1820 dans le bon sens ? Quoi qu'il en soit, il faut que la sonde soit visible dans l'interface dés la première inclusion. Par exemple, il n'est pas possible d'ajouter un sonde sur un module existant sans avoir auparavant supprimer du réseau le fgk. Donc, oui, enlève puis refais une inclusion du module. -
Quel est votre fournisseur d’accès Internet ?
Moicphil a répondu à un(e) sujet de Moicphil dans Le bistrot
La réponse dans le sujet : http://www.domotique-fibaro.fr/index.php/topic/328-plugin-freebox-v6/ -
Voici le TTS enfin opérationnel et ceci grâce à Krikroff... Il faut : créer un périphérique virtuel Renseigner adresse IP et Port du sonos ( 1400 ) Créer un Bouton et saisir le code ci-dessous : Pour changer le tts, il suffira de modifier la dernière ligne du code. Celle-ci étant conçue comme ceci : playTTS(strLang, strMessage, nil, intVolume) strLang = Language du tts strMessage = Message à envoyer à Sonos nil = mode arrêt auto sinon remplacer par la durée intVolume = volume des sonos ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- -- SONOS Text To Speech (TTS) - Give voice to your HC2 with SONOS wireless speakers -- Version 0.0.4 pre-release -- Copyright (C) 2014 Jean-Christophe Vermandé ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- selfId = fibaro:getSelfId(); ip = fibaro:get(selfId, 'IPAddress'); port = fibaro:get(selfId, 'TCPPort'); 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 playTTS = function(lng, message, duration, 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-rincon-mp3radio://translate.google.com/translate_tts?tl=".. lng .. "&a" .. "mp;q=" .. urlencode(message) .. "</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 tts fibaro:debug("tts: " .. message); if (duration ~= nil) then play(duration); else play(); end end); end playTTS("fr", "Bonjour les gens du forum ! Voici le T.T.S enfin fonctionnele !", nil, 12); Post officiel : http://forum.fibaro.com/viewtopic.php?p=30402#30373
-
D'un autre coté si le client veux une "véritable" alarme, il faudra tout de même une installation Filaire...Mais ce n'est que mon avis... (Sans vouloir lancer la polémique et débats sur les systèmes radio)
- 251 réponses
-
Bonjour Guillaume, bienvenue sur le forum