-
Compteur de contenus
4 189 -
Inscription
-
Dernière visite
-
Jours gagnés
85
Tout ce qui a été posté par sebcbien
-
et le débug ? voici ce que j'ai quand j'allume mon wifi, je passe de 2 à 0 [DEBUG] 21:11:08: 192.168.10.111 3500 [DEBUG] 21:11:08: 2 [DEBUG] 21:11:11: 192.168.10.111 3500 [DEBUG] 21:11:11: 2 [DEBUG] 21:11:11: 192.168.10.111 3500 [DEBUG] 21:11:11: 2 [DEBUG] 21:11:13: 192.168.10.111 3500 [DEBUG] 21:11:13: 0 [DEBUG] 21:11:13: 192.168.10.111 3500 [DEBUG] 21:11:13: 0
-
tu as une réponse à un telnet sur le port 3500 ? -> http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/#entry34955
-
@Diuk Je n'ai pas d'appareils à la pomme, donc comme je l'ai dit, je supposes que ça fonctionne comme sur le petit robot vert. @others Je viens de faire un scan avec Fing du tel de ma femme, mauvaise nouvelle,il ne voit rien.
-
il est bien verrouillé ton tel... on dirrait fort knox... Tu as une rom custom ? un firewall/antivirus ?
-
Une solution serait d'installer fing sur le téléphone de ta femme et scanner le tien ? Chez moi ça fonctionne sur deux nexus (4 et 5) Pour la veille, le système doit au moins fonctionner avec l'appli ouverte. je me pose aussi la question de savoir si l'appli ne se comporte pas différemment en fonction du réseau... j'ai chez moi des serveurs UPNP (aka DLNA) ...Sonos en cherche peut être et s'il n'en trouve pas referme les ports ?
-
De rien ! En relisant ton post, je vois qu'en fait tu as mis le code du virtual device dans une scène.... la capture d'écran montre les 3 boutons qui n'apparaissent que pour les scènes.... ça ne risque pas de fonctionner -p
-
le code que tu montre est celui du main loop, pas celui du bouton... Pour le main loop il ne faut pas ces 4 lignes de paramètres. (pour le bouton non plus d'ailleurs, je l'ai l'enlevé -> V1.2 IP Smartphone Presence Check V1.2.vfib ) Le mieux est d'effacer et de réimporter le .vfib Sur iPhone, j'imagine que ça doit aller, mais oui, comme dit dans le premier post... il faut installer l'appli sonos ou trouver un port ouvert par défaut sur l'iPhone... là je passe le relais ;-) -- IP Smartphone Presence Check V1.2 -- Copyright © 2014 Sébastien Jauquet. -- http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/ --Using code from: -- Ping v 1.0.1 [05-2013] -- Copyright © 2013 Jean-christophe Vermandé -- http://www.domotique-fibaro.fr/index.php/topic/109-ping-dun-%C3%A9quipement-r%C3%A9seau/page-2 fibaro:log("Starting process"); local variable_globale_phone = "Phone_GG_Present"; local thismodule=fibaro:getSelfId() local _deviceIp = fibaro:get(thismodule, 'IPAddress') local _devicePort = fibaro:get(thismodule, 'TCPPort') local _maxRetryProcess = 20; local time = tonumber(os.time()); local maxtime = 56; -- local _deviceIp = "192.168.10.112"; -- local _devicePort = 3500; -- fibaro:debug(_deviceIp .. " " .. _devicePort) -- fibaro:setGlobal("Lock_Away","Unlocked") function SecondsToClock(sSeconds) local nSeconds = tonumber(sSeconds) if nSeconds == 0 then return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end -- recursive function to ping device local function _ping(retry) retry = retry or 0; -- notify state local elapsed = os.difftime(os.time(), tonumber(time)); local msg = "Loop #".. retry .." since "..SecondsToClock(elapsed); fibaro:log(msg); -- check for no more than 30 seconds if elapsed > maxtime then return false; end --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); fibaro:debug(_deviceIp .. " " .. _devicePort) --set the read timeout tcpSocket:setReadTimeout(250); --send packet local bytes, errorCode = tcpSocket:write("test"); fibaro:debug(errorCode) --check for error if errorCode == 0 then return true; else if retry < _maxRetryProcess then --fibaro:log("Retry process, please wait..."); fibaro:sleep(1*750); return _ping(retry + 1); end return false; end end --ping device, secure with pcall to catch errors. local f, result = pcall(_ping); local Lock_Away = fibaro:getGlobal("Lock_Away") if (f) then if (result == true) and (Lock_Away == "Unlocked") then fibaro:log("Device has been found."); fibaro:setGlobal(variable_globale_phone,"1") -- évolution future possible: stocker la date et l'heure de la dernière présence détectée -- fibaro:setGlobal("Present_Phones",os.time()) else fibaro:log("Device was not found!"); fibaro:setGlobal(variable_globale_phone,"0") end else fibaro:log("Error: " .. f);end ..
-
le port, comme sur mon screenshot: 3500 (port ouvert par l'applis sonos). Pour le selfid... heuu tu es en V4 ou quoi ? Pourquoi as-tu rajouté :les 4 lignes d'entête dans le main loop ?
-
J'ai remarqué que quand le ping va aussi vite, c'est que il y a bien un device qui réponds à l'adresse ip, mais que le port est fermé. Il y a un logiciel super pratique sur Androà¯d (la version iPhone est plus pauvre), qui permet de scanner un réseau et aussi les ports ouverts d'un device: Fing, outil très puissant que j'utilise souvent !
-
J'avais vu la solution de KK avec la freebox, mais en Belgique, pas de freebox ;-) Chez moi avec des Nexus 5 et 4, le temps de réaction est relativement rapide, mais je ne l'utiliserais pas pour de process rapides. Une connexion wifi est instable, il y a toujours des zones "mortes". Ton téléphonne, probablement pour des questions d'énergie, ne scanne pas le wifi toutes les secondes.
-
Suite à ta demande, j'ai amélioré le module, Voici donc la V1.1, IP Smartphone Presence Check V1.1.vfib qui prend les paramètres dans les champs de config du VD. Exemple de config: pour ceux qui veulent le code direct, seul celui du bouton à changé: -- IP Smartphone Presence Check V1.1 -- Copyright © 2014 Sébastien Jauquet. -- http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/ --Using code from: -- Ping v 1.0.1 [05-2013] -- Copyright © 2013 Jean-christophe Vermandé -- http://www.domotique-fibaro.fr/index.php/topic/109-ping-dun-%C3%A9quipement-r%C3%A9seau/page-2 fibaro:log("Starting process"); local variable_globale_phone = "Phone_GG_Present"; local thismodule=fibaro:getSelfId() local _deviceIp = fibaro:get(thismodule, 'IPAddress') local _devicePort = fibaro:get(thismodule, 'TCPPort') local _maxRetryProcess = 20; local time = tonumber(os.time()); local maxtime = 56; -- local _deviceIp = "192.168.10.112"; -- local _devicePort = 3500; -- fibaro:debug(_deviceIp .. " " .. _devicePort) -- fibaro:setGlobal("Lock_Away","Unlocked") function SecondsToClock(sSeconds) local nSeconds = tonumber(sSeconds) if nSeconds == 0 then return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end -- recursive function to ping device local function _ping(retry) retry = retry or 0; -- notify state local elapsed = os.difftime(os.time(), tonumber(time)); local msg = "Loop #".. retry .." since "..SecondsToClock(elapsed); fibaro:log(msg); -- check for no more than 30 seconds if elapsed > maxtime then return false; end --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); fibaro:debug(_deviceIp .. " " .. _devicePort) --set the read timeout tcpSocket:setReadTimeout(250); --send packet local bytes, errorCode = tcpSocket:write("test"); fibaro:debug(errorCode) --check for error if errorCode == 0 then return true; else if retry < _maxRetryProcess then --fibaro:log("Retry process, please wait..."); fibaro:sleep(1*750); return _ping(retry + 1); end return false; end end --ping device, secure with pcall to catch errors. local f, result = pcall(_ping); local Lock_Away = fibaro:getGlobal("Lock_Away") if (f) then if (result == true) and (Lock_Away == "Unlocked") then fibaro:log("Device has been found."); fibaro:setGlobal(variable_globale_phone,"1") -- évolution future possible: stocker la date et l'heure de la dernière présence détectée -- fibaro:setGlobal("Present_Phones",os.time()) else fibaro:log("Device was not found!"); fibaro:setGlobal(variable_globale_phone,"0") end else fibaro:log("Error: " .. f); end
-
essaye de faire un telnet: telnet 192.168.10.111 3500 ensuite Enter 2X devrait donner ce résultat: HTTP/1.1 408 Request Timeout Content-type: text/html Server: Linux UPnP/1.0 Sonos/27.2-81201 (ACR_:LGE:hammerhead:Nexus 5) Connection: close <HTML><HEAD><TITLE>Error 408</TITLE></HEAD><BODY><H1>Error 408</H1><P>Request Timeout</P></BODY></HTML> sinon, c'est que ton android ne réponds pas: telnet 192.168.10.111 3400 connecting To 192.168.10.111...Could not open connection to the host, on port 3400: Connect failed
-
tu dois avoir une erreur de syntaxe, la partie ping vient de Krikroff et est stable.. ?!? vérifie l'ip, les guillemets etc. tu as importé le vfib ou copié le code ? ce qui est bizarre c que chez moi il met 55 secondes pour faire 16 checks et toi tu fais 19 checks en 17 secondes ?!?
-
et ces valeurs ? elles définissent le nombre d'essais et le temps max (il faut rester sous la minute) local _maxRetryProcess = 20; local maxtime = 56; mais le problème No 1 est que ton tel ne réponds pas au ping... tu as essayé dans une fenètre cmd un ping de ton ip ?
-
tu as bien installé l'appli sonos ? https://play.google.com/store/apps/details?id=com.sonos.acr&hl=en
-
Bonjour, Suite à une conversation en MP avec un de nos admin chéri ;-), voici ma solution pour détecter la présence via smartphone. L'idée est de savoir quand ma femme ou moi même sommes à la maison afin de pouvoir lancer des scénarios ou en bloquer l’exécution. J'ai fait ça il y a longtemps, et bien sur je n'ai pas tout fait tout seul. Je me souviens avoir fait quelques modifications pour que ça tourne comme je le voulais, mais je ne sais plus lesquelles. Bref, voici le package complet, pour certains scripts, comme pour le ping par exemple la base est de Krikroff et j'ai laissé le copyright. J'ai mis le Virtual Device en attach et le code du bouton ci-dessous . IP Smartphone Presence Check V1.0.vfib !!! voir post plus loin dans le fil pour les V1.1 V1.2 V1.3 V2.0 et suivantes !!! V2.1 ici: https://www.domotique-fibaro.fr/topic/2613-detection-de-prã©sence/?do=findComment&comment=121355 V1.3 ici: http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/page-3#entry35219 - il faut créer une variable globale (non prédéfinie) par device à surveiller (moi j'utilise "Phone_GG_Present" pour le tel de ma femme) et la déclarer en début de script du bouton. - il faut encoder l'adresse IP du téléphone dans les paramètres du Virtual device (pensez à déterminer une ip Wifi fixe pour votre smartphone) - il faut encoder le port ouvert sur votre téléphone dans les paramètres du Virtual device (3500 ou 3401) - Sur Androà¯d, il n'y a pas de port ouvert par défaut pour accepter le ping, le moyen le plus simple est d'installer l'application Sonos et a lancer, c'est tout (pas besoin d'avoir du matos sonos pour que ça fonctionne) - Sur iPhone idem, mais je n'ai pas testé personellement - si vous ne voulez pas utiliser le mainloop comme "scheduler" , créez simplement une scène qui va cliquer sur le bouton de demande de présence toutes les minutes... ou avec l'excellent GEA, avec la ligne ci-dessous (à adapter): -- Mise à jour des Présences par détection d'adresses IP toutes les minutes GEA.add(true , 1*60, "",{{"VirtualDevice", id["VD_PRESENCE_SEB"], "1"},{"VirtualDevice", id["VD_PRESENCE_GG"], "1"},{"Repeat"}}) Notification de présence en utilisant GEA, entre 8h et 21h: N'oubliez pas de mettre les VG dans l'entête. Ces exemple sont repris dans le post GEA de ma signature --------------DETECTION PRESENCE-------------- -- Signale GG at Home GEA peux se déclencher sur un changement de valeur d'une variable global GEA.add({"Global", "Phone_GG_Present", "1"}, -1, "Presence GG est maintenant à #value#", {{"Portable", 53}, {"Time", "08:00", "21:00"}}) GEA.add({"Global", "Phone_GG_Present", "0"}, -1, "Presence GG est maintenant à #value#", {{"Portable", 53}, {"Time", "08:00", "21:00"}}) Code bouton VD détect presence V1.0 (ancien code): -- IP Smartphone Presence Check V1.0 -- Copyright © 2014 Sébastien Jauquet. -- http://www.domotique-fibaro.fr/index.php/topic/2613-detection-de-pr%C3%A9sence/ --Using code from: -- Ping v 1.0.1 [05-2013] -- Copyright © 2013 Jean-christophe Vermandé -- http://www.domotique-fibaro.fr/index.php/topic/109-ping-dun-%C3%A9quipement-r%C3%A9seau/page-2 fibaro:log("Starting process"); local _deviceIp = "192.168.10.112"; local variable_globale_phone = "Phone_GG_Present"; local _devicePort = 3500; local _maxRetryProcess = 20; local time = tonumber(os.time()); local maxtime = 56; -- fibaro:setGlobal("Lock_Away","Unlocked") function SecondsToClock(sSeconds) local nSeconds = tonumber(sSeconds) if nSeconds == 0 then return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours..":"..nMins..":"..nSecs end end -- recursive function to ping device local function _ping(retry) retry = retry or 0; -- notify state local elapsed = os.difftime(os.time(), tonumber(time)); local msg = "Loop #".. retry .." since "..SecondsToClock(elapsed); fibaro:log(msg); -- check for no more than 30 seconds if elapsed > maxtime then return false; end --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); --set the read timeout tcpSocket:setReadTimeout(250); --send packet local bytes, errorCode = tcpSocket:write("test"); --check for error if errorCode == 0 then return true; else if retry < _maxRetryProcess then --fibaro:log("Retry process, please wait..."); fibaro:sleep(1*750); return _ping(retry + 1); end return false; end end --ping device, secure with pcall to catch errors. local f, result = pcall(_ping); local Lock_Away = fibaro:getGlobal("Lock_Away") if (f) then if (result == true) and (Lock_Away == "Unlocked") then fibaro:log("Device has been found."); fibaro:setGlobal(variable_globale_phone,"1") -- fibaro:setGlobal("Present_Phones",os.time()) else fibaro:log("Device was not found!"); fibaro:setGlobal(variable_globale_phone,"0") end else fibaro:log("Error: " .. f); end Code main loop du VD local thismodule = fibaro:getSelfId(); local status = fibaro:getGlobal("Phone_GG_Present") -- fibaro:debug(thismodule); if status == "0" then fibaro:call(thismodule, "setProperty", "currentIcon", 1037) end if status == "1" then fibaro:call(thismodule, "setProperty", "currentIcon", 1036) end fibaro:sleep(1000); Ce n'est certainement pas le code le plus "léché" mais je pense que ça en aidera quand même certains... et puis c'est "tout fait" ;-) Le script va détecter quasi instantanément lorsque le smartphone apparaît sur le réseau, mais pourra mettra jusqu'à une minute pour valider son absence Enjoy !
-
Oui moi aussi j'en ai marre de voir ma tronche... mais bon je suis pas bon en graphisme, alors je laisse ;-)
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Bonsoir Steven, Tu as une idée pour ce problème de "Value" ? Les nouveau "yeux" de fibaro réagissent différemment que les autres détecteurs. Les detecterus comme le aeon labs envoient 1 puis 0 lorsqu'ils détectent un mvt. Le fibaro envoie 1 et reste à 1 tant qu'il détecte du mouvement pendant une fenêtre de +- 1 minute. gea n'est donc pas triggered à chaque mouvement http://www.domotique-fibaro.fr/index.php/topic/1211-support-gea/page-50#entry30838 Merci !
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Merci a tous les deux, je vais essayer cette voie.
- 251 réponses
-
ça devrait aller, j'essayerai àmon retour. Tu as une idée pour les autres types de sorties ? intrusion, batterie, coupure etc ?
- 251 réponses
-
Comment peux-tu t'en passer ??? s'il n'y en a pas, on a le triangle jaune... Bah oui, comment fais-tu pour récupérer ces états dans la fibaro.... pré-armement par exemple ? Je suppose que tu récupère ça de : Mais pour ça il faut créer d'autres sorties dans la satel non ? Je ne sais pas si tu utilise ça, mais l'alarme fibaro permet de déclencher des action comme envoyer des snapshots caméra, faire clignoter des lampes, lancer des scènes tout ça sans codage... c'est pas indispensable, mais pas mal quand même. On a aussi la visualisation des pièces qui sont armées ou non dans l'interface.. Chez moi, si j'arme les capteurs dans l'alarme fibaro, une fois que tous les capteurs d'une zone sont armés, la partition Satel s'arme... apparemment ce n'est pas le comportement normal, les deux alarmes devraient être séparées et devraient être armées séparément. .
- 251 réponses
-
Salut Krikroff, Principalement la config côté Satel... J'ai déjà passé/perdu des 10aines d'heures, l'alarme c'est encore un métier "obscur" il y a peu de tutos et je n'ai plus le temps ni le courage de passer encore des heures en essais-erreurs avec le risque que l'alarme se mette a geuler... Donc là ça marche ... Mais il y a de le place pour une bonne optimisation: Retour de status breached, désarmé, armé etc. De la satel vers la fibaro. Qui a débloqué l'alarme via le panel Satel. Pour le moment, si on ne désarme pas de l'extérieur, on rentre, l'alarme fibaro s'excite, je désarme la satel, puis il faut aller dans la fibaro désactiver. Quelles sont les E/S qui doivent être cochées/décochées dans le panel SATEL Enfin, je pense qu'avec les quelques Screenshots dont j'ai parlé dans l'autre topic, j'aurais des réponse à pas mal de questions. Merci :-)
- 251 réponses
-
De mon côté, j'y suis "arrivé", je pourrais faire un tuto mais il y a plein de choses ou je suis dans le vague... http://www.domotique-fibaro.fr/index.php/topic/1929-int%C3%A9gration-satel-diverses-questions/page-3
- 251 réponses
-
Mr Kirkroff ? ça me (nous) aiderais beaucoup et j'en ferai un tuto avec toutes mes infos... merci
-
Topic unique Fibaro - Module Dimmer Fgd-211
sebcbien a répondu à un(e) sujet de Moicphil dans Modules Fibaro
Non ce sont des bonnes lampes halogènes 220V direct sans transfo. J'ai un peu du mal à comprendre pourquoi mettre du 12V... l'installation coà»te plus cher, il faut des gros câbles, planquer un transfo (qui sont fragiles), trouver un dimer qui supporte les transfo... à part en SDB ou millieu humide j'aimerais qu'on m'explique. Pour les LED aussi, je met des 220V