Aller au contenu

Krikroff

Modérateurs
  • Compteur de contenus

    6 718
  • Inscription

  • Dernière visite

  • Jours gagnés

    128

Tout ce qui a été posté par Krikroff

  1. Si tu ne compte pas passer le satellite tu peux oublier le GRADE 3 et 3s et si tes fourreaux ne se trouvent pas en environnement très perturbés tu peux aussi mettre de côté le double blindage...
  2. Il faut pas non plus trop se prendre la tête ^^ sauf si la partie finance est secondaire ! Perso à la maison ou j'ai refais à 100 % tout le courant Fort et Faible il y a trois ans, j'ai passé du CAT6 SSTP qui est je pense le meilleur compromis encore aujourd'hui : Prix, Très bien adapté au POE, Très bon débit, tout passe sans broncher et je pense pour longtemps ^^. Déjà qu'un CAT6 SSTP est difficile à travailler avec des produits pour le résidentiel, j'imagine même pas faire rentrer du CAT7 dans une prise RJ45 Legrand et bonjour les prix. Pour aller dans le sens de Benjy, oui désolé ^^, j'ai passé du VaTC 17 dans le séjour et les chambres même si je ne l'utilise pas au cas ou !
  3. Bonjour Joss, il n'y a pas a ma connaissance d' API réellement utilisable pour "attaquer" le Freeplayer et c'est vraiment dommage ! Donc pour le moment pas possible d'activer ou désactiver cette option et toutes les autres Grâce au support UPnP il est possible d'envoyer un flux mais c'est tout ...
  4. Bienvenue ! Je suis certain que tu trouveras toutes les réponses sur ce forum Pour le HC2: pas de cloud, le plus puissant du marché, programmation LUA, intégration Satel etc, bientôt les plugins etc... Le prix peut être un frein ! Envoyé de mon iPhone àl'aide de Tapatalk
  5. ... en même temps c'est galère une box par module , Mdr ! Après tout va dépendre du code Sans rire, si le HC2 était pas capable d'encaisser un petit script de 300 ou 400 Kb en mémoire il ne serait pas à la maison . @JossAlf, c'est ok pour les app
  6. Ne te prends pas la tête, j'ai une dizaine de périphériques virtuels avec entre 2000 et 3000 lignes de code LUA et jamais un plantage de mon HC2 qui tourne comme une horloge ! Pour changer le Label d'un bouton tu peux faire ça : local deviceToEdit = fibaro:getSelfId(); local ID = "btnOnOffAllScenes"; HC2 = Net.FHttp("192.168.1.100", 80); HC2:setBasicAuthentication("admin", "admin"); --get the device to change response ,status, errorCode = HC2:GET("/api/virtualDevices?id="..deviceToEdit) if (tonumber(status) == 200) then jsonTable = json.decode(response); for key,value in pairs(jsonTable.properties.rows) do name = jsonTable.properties.rows[key].elements[1].name; --fibaro:debug(name); if(name==ID) then n = key; match = true; caption = jsonTable.properties.rows[n].elements[1].caption; fibaro:debug(caption); break; end end -- if (match) then fibaro:debug(name .." found, caption is [".. caption .."]"); jsonTable.properties.rows[n].elements[1].caption = "Unblock scenes execution" -- send back json = json.encode(jsonTable); response2 ,status2, errorCode2 = HC2:PUT("/api/virtualDevices?id="..deviceToEdit, json); if (tonumber(errorCode2)==0) then fibaro:debug("Edit complete text set "..status2) else fibaro:debug("Error update "..errorCode2) end else fibaro:debug(ID .. " not found!") end else fibaro:debug("error"); end bon c'est à nettoyer et optimiser La limite: la mise à jour est effective qu’après rechargement de la page.
  7. Félicitations pour votre travail ! Je me doutais bien qu'il y avait du Domodial la dessous
  8. Pour répondre à ta question: OUI... mais j'attendais que Fibaro implémente une simple "listbox" dans les périphériques virtuels afin de lister proprement les entrées mais c'est pas gagné ! L'instruction est **FN avec en paramètre le numéro de l'entrée 01 (CD), 02 (TUNER), 25 (BD) etc, la réponse est de type FN**, pour un changement en mode "cyclique" c'est FU, en mode "reverse" c'est FD Et si tu me dis encore une fois du monsieur ça va pas le faire
  9. Krikroff

    Meteo Yahoo Dans Hc2

    Logiquement c'est le couple Latitude / Longitude.
  10. Sur la base de mon code pour le TTS, une nouvelle fonction "playFile" ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- -- SONOS Play stream... -- Copyright (C) 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 -- en paramètres: le fichier, puis le volume... playFile("//HOME-SERVER/Musique/CD/Dream Theater/A Change of Seasons/01-A Change of Seasons [Medley].flac", 20); Voilou
  11. D'accord , comme sous ton avatar il y a Box: Home Center 2 , hum tu brouilles les pistes
  12. Bonsoir Steve, bienvenue ! Une question: une HCL en plus d'un HC2 ou bien en contrôleur principale ?
  13. Krikroff

    Fibaro - Motion Sensor

    J'ai aussi un ST814 et honnêtement je trouve qu'il n'est pas super fiable même si il remplit son rôle au quotidien. J'ai souvent constaté des écarts de + ou - 1 °C En ce moment j'ai un Motion Sensor à côté d'un thermomètre digital, une sonde 1Wire, Netamo voici les température: - Motion Sensor: 20.3 - Thermometre digital: 20.5 - Sonde 1Wire: 20.31 - NetAtmo: 20.1 Dans tous les cas tu peux ajuster la température avec le paramètre 66.
  14. pour moi la seule chose en commun entre le HC2 et la Freebox c'est le réseau... Tu as plusieurs HC2 ou HCLite en mode passerelle ?
  15. Krikroff

    Fibaro - Motion Sensor

    Et c'est quoi les références ?
  16. Krikroff

    Fibaro - Motion Sensor

    oui, je pense que tu vas souvent changer la pile
  17. Le serveur est-il lent ou fonctionne t-il de manière fluide, ordres z-wave, interface web etc...
  18. Krikroff

    Fibaro - Motion Sensor

    Il faut réveiller le module manuellement pour lancer la configuration [23:10:15] ID 526: Received parameter 26 report, value = 0 [23:10:15] ID 526: Received parameter 40 report, value = 100 [23:10:16] ID 526: Received parameter 64 report, value = 0 ...
  19. Oui très chiant, ce qui est étrange c'est que je suis certain qu' ils fonctionnaient au premier passage vers l'Alpha. Mais l'inclusion directe sous la 3.901 c'est pas ça !
  20. Peut-être le prix du casse-pieds jamais satisfait ... Juste une déformation professionnelle et puis j'ai tellement harcelé Fibaro pour avoir un bug tracker depuis la V1.xx que je suis bien obligé de participer maintenant . Plus sérieusement, depuis le début je crois beaucoup en l'avenir de cette marque voila.
  21. Plus on est de fous, plus on rit cependant je te conseil d'attendre la prochaine Alpha
  22. Krikroff

    Disponibilité Hc2

    Des ruptures aussi remontées sur le forum officiel ! Peut être un fournisseur qui rame, boîtie, carte mère ? Une super HC2 avec ports d'extensions, franchement je ne pense pas ... Oh je serais dégouté Je dis comme phil, victime de son succès Envoyé de mon iPhone àl'aide de Tapatalk
  23. Oui et c'est beaucoup plus puissant en mode LUA, tu peux intégrer nom de pièce, de module bref un message très personnalisé ... Envoyé de mon iPhone àl'aide de Tapatalk
  24. Bande de fous, vous ne savez par reconnaitre un esprit visionnaire ! Bon et bien la domotique c'est fini pour moi et je vends la baraque, trop de confort ! C'est un cas ...
  25. Krikroff

    Scene Supprimée Active ?

    Et les scènes, rien non plus après le redémarrage ? Il y a peut-être une association directe entre ton détecteur et ton actionneur ...
×
×
  • Créer...