{"id":197,"date":"2017-05-08T17:37:22","date_gmt":"2017-05-08T15:37:22","guid":{"rendered":"http:\/\/les3zam.info\/cabrablog\/?p=197"},"modified":"2018-01-16T21:56:15","modified_gmt":"2018-01-16T19:56:15","slug":"jeedom-netgear-etat-de-connexion-de-vos-appareils","status":"publish","type":"post","link":"http:\/\/cabrastudio.eu\/cabrablog\/?p=197","title":{"rendered":"Jeedom Netgear : Etat de connexion de vos appareils"},"content":{"rendered":"<p>Je vais d\u00e9crire\u00a0dans cet article comment remont\u00e9 dans Jeedom le status des appareils connect\u00e9s \u00e0 un routeur Netgear. J&rsquo;ai utilis\u00e9 deux versions de routeur qui ont des\u00a0versions firmwares diff\u00e9rentes. Le premier \u00e9tait un WNR3500L et le second un\u00a0WNDR3700v5. L&rsquo;acc\u00e8s\u00a0\u00e0 la configuration\u00a0du\u00a0WNR3500L ce fait via une interface web classique alors que le WNDR3700v5 dispose d&rsquo;une interface bas\u00e9 sur des services web SOAP. La version SOAP est tr\u00e8s sp\u00e9cifique Netgear par contre la version http doit \u00eatre adaptable \u00e0 d&rsquo;autre type de routeur qui ont une interface web de configuration.<\/p>\n<div style=\"width: 746px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.plantuml.com\/plantuml\/png\/TLB1JiCm3BtlAwnotW_iWDH9N3YmYGekLGybDMj4ceJK6K9e_qxifjFAnirzx_dvsOrr7KBnYDYveO2V5O1oWtSMBK7XJJneEyAh3XJH5D2ES9ngaGBK3vzHUnnONZRCTtWihwZjJ6qJTLeE6HNQDcWdxlF7R1zzrn9Mr58Scql1Yn3NRliSUQ_jGHnzAcOmcpB7ORJ279f5vVzcbGhQvtofeZz-GXFSo9hmHT1bUbYlxy-ZRr3B_be5PvjCB8vmMgsKSR6JFFMpYuGn92LyuLlfFOCxwZ7adQTmZf6HUwqyWLqr_VxQVrFlB3mX7R0DUUC6oWeoSvVkzy7AiKTZpW9UM01UHWfPJteIb9lNqITq2hRfYJouDCEr_a9Yy9sIY5-II6vIspF51yo-qrAm4P1tkpZXT3a9jb6jCRy0\" alt=\"\" width=\"736\" height=\"525\" \/><p class=\"wp-caption-text\">Diagramme des composant<\/p><\/div>\n<p>Partie Routeur<\/p>\n<p><em>Les scripts sont disponible sur gitHub<\/em><br \/>\nLes deux scripts font la m\u00eame chose seul la m\u00e9thode\u00a0d&rsquo;acc\u00e8s\u00a0aux donn\u00e9es du routeur change. Le but est d&rsquo;interroger le routeur pour obtenir la liste des \u00e9quipements connect\u00e9s et leur IP et adresse MAC.<\/p>\n<p>La version http utilise la lib httplib2 pour ouvrir la page device de l&rsquo;appli web. Le script va ensuite parser la page pour retrouver la liste des \u00e9quipements connect\u00e9s \u00a0 \u00a0<a href=\"https:\/\/github.com\/chevalir\/cabraJeedom\/tree\/master\/script\/netgearHttp\">https:\/\/github.com\/chevalir\/cabraJeedom\/tree\/master\/script\/netgearHttp<\/a><\/p>\n<p>La version Genie utilise elle l&rsquo;API Soap via un Reverse Engineering propos\u00e9 ici :\u00a0<a href=\"https:\/\/github.com\/balloob\/pynetgear\">https:\/\/github.com\/balloob\/pynetgear<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/chevalir\/cabraJeedom\/tree\/master\/script\/netgearGenie\">https:\/\/github.com\/chevalir\/cabraJeedom\/tree\/master\/script\/netgearGenie<\/a><\/p>\n<p>L&rsquo;\u00e9quipement est identifi\u00e9 gr\u00e2ce \u00e0 son adresse MAC ou IP au choix.<\/p>\n<p>Vous aurez donc \u00e0 \u00e9diter le code python pour d\u00e9finir les valeurs des adresses MAC. Pour mettre \u00e0 jour Jeedom le script \u00a0et les ID des commandes jeedom que nous feront dans la partie Jeedom<\/p>\n<p>[pastacode lang=\u00a0\u00bbpython\u00a0\u00bb manual=\u00a0\u00bb%23%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20MacID%20%20%20%20%20%20%20%20%20%20%20%20OFF%20%20ON%20%20%20setIP%20%20%20Name%0AdevicesMng%20%3D%20%7B&rsquo;B4%3A88%3AP8%3A85%3AO6%3A5P&rsquo;%20%3A%20(8809%2C%208808%2C%208884%2C%20%09&rsquo;iPhone%20B&rsquo;)%0A%20%20%20%20%20%20%20%20%20%09%2C%20&rsquo;B8%3AO7%3A5P%3AA5%3A5O%3A8E&rsquo;%20%3A%20(8844%2C%208840%2C%208880%2C%20%09&rsquo;iPod&rsquo;)%0A\u00a0\u00bb message=\u00a0\u00bb\u00a0\u00bb highlight=\u00a0\u00bb\u00a0\u00bb provider=\u00a0\u00bbmanual\u00a0\u00bb\/]<\/p>\n<p>&nbsp;<\/p>\n<h2>Partie JEEDOM<\/h2>\n<p>Le plus simple est de montrer ce que cela donne en final dans Jeedom :<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Objets-connect\u00e9s-e1494620359933.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-229\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Objets-connect\u00e9s-e1494620359933.png\" alt=\"\" width=\"515\" height=\"194\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Objets-connect\u00e9s-e1494620359933.png 515w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Objets-connect\u00e9s-e1494620359933-300x113.png 300w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Chaque objet est un \u00e9quipement cr\u00e9\u00e9 avec le plugins Virtuel.<\/p>\n<p><a href=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-200\" src=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement.png\" alt=\"\" width=\"1040\" height=\"458\" srcset=\"http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement.png 1040w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement-300x132.png 300w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement-768x338.png 768w, http:\/\/cabrastudio.eu\/cabrablog\/wp-content\/uploads\/2017\/05\/Equipement-1024x451.png 1024w\" sizes=\"(max-width: 1040px) 100vw, 1040px\" \/><\/a><\/p>\n<p>Deux info : une pour l&rsquo;IP l&rsquo;autre pour le Status ( present ).<\/p>\n<p>Deux actions de type <em>Default<\/em> pour changer le status (setOn\/setOff), une action de type <em>Message<\/em> (setIP) pour pouvoir d\u00e9finir la valeur de l&rsquo;info IP.<\/p>\n<p>Se sont les ID ( 2065, 2066, 2092) des actions setOn, setOff, setIP qu&rsquo;il faudra reporter dans script.<\/p>\n<p>&nbsp;<\/p>\n<p>Certains \u00e9quipements n&rsquo;apparaisse pas dans la liste fournie par mon routeur, les ponts Wifi par example dans ce cas j&rsquo;ai utilis\u00e9 le plugins Ping.<\/p>\n<p>Derni\u00e8re chose \u00e0 faire est d&rsquo;appeler le script r\u00e9guli\u00e8rement pour que status des \u00e9quipement soit mise \u00e0 jour. Une des solution est de le faire avec le plugins Script. Enfin j&rsquo;ai un sc\u00e9nario qui lance le script et les \u00e9quipement Ping toutes les 5min.<\/p>\n<p>Voila gr\u00e2ce \u00e0 tout cela j&rsquo;ai l&rsquo;\u00e9tat en temps r\u00e9el des \u00e9quipements connect\u00e9s, cela me permet par exemple de d\u00e9clencher des sc\u00e9narios en fonction du retour \u00e0 la maison des occupants.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je vais d\u00e9crire\u00a0dans cet article comment remont\u00e9 dans Jeedom le status des appareils connect\u00e9s \u00e0 un routeur Netgear. J&rsquo;ai utilis\u00e9 deux versions de routeur qui ont des\u00a0versions firmwares diff\u00e9rentes. Le premier \u00e9tait un WNR3500L et le second un\u00a0WNDR3700v5. L&rsquo;acc\u00e8s\u00a0\u00e0 la&hellip; <a href=\"http:\/\/cabrastudio.eu\/cabrablog\/?p=197\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"_links":{"self":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/197"}],"collection":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=197"}],"version-history":[{"count":21,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/197\/revisions"}],"predecessor-version":[{"id":261,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=\/wp\/v2\/posts\/197\/revisions\/261"}],"wp:attachment":[{"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cabrastudio.eu\/cabrablog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}