{"id":1327,"date":"2012-11-16T11:08:29","date_gmt":"2012-11-16T10:08:29","guid":{"rendered":"http:\/\/blog.guiguiabloc.fr\/?p=1327"},"modified":"2012-11-16T11:08:29","modified_gmt":"2012-11-16T10:08:29","slug":"projet-xpl-pyhal-alpha-release-2","status":"publish","type":"post","link":"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/11\/16\/projet-xpl-pyhal-alpha-release-2\/","title":{"rendered":"Projet xPL-pyHAL, Alpha release 2"},"content":{"rendered":"<p><a href=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2011\/12\/xpl-pyHAL.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-1056\" title=\"xpl-pyHAL\" src=\"http:\/\/blog.guiguiabloc.fr\/wp-content\/2011\/12\/xpl-pyHAL.jpg\" alt=\"\" width=\"132\" height=\"113\" \/><\/a><\/p>\n<p>Enfin un peu de nouvelles de mon projet xPL-PyHAL (dont vous trouverez le <a title=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/05\/22\/projet-xpl-pyhal-un-cerveau-xpl-episode-2-alpha-release\/\" href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/05\/22\/projet-xpl-pyhal-un-cerveau-xpl-episode-2-alpha-release\/\" target=\"_blank\">pr\u00e9c\u00e9dent billet ici<\/a>).<\/p>\n<p>J&rsquo;y travaille toujours pour mon propre usage et, honte sur moi, je d\u00e9laissais un peu la mise \u00e0 jour du <a title=\"http:\/\/code.google.com\/p\/guiguiabloc\/source\/checkout\" href=\"http:\/\/code.google.com\/p\/guiguiabloc\/source\/checkout\" target=\"_blank\">d\u00e9pot SVN<\/a> et du <a title=\"http:\/\/code.google.com\/p\/guiguiabloc\/downloads\/list\" href=\"http:\/\/code.google.com\/p\/guiguiabloc\/downloads\/list\" target=\"_blank\">package sur googlecode<\/a>.<\/p>\n<p>Mais je me suis vite fait rattraper par des utilisateurs dont xPL-PyHAL avait, \u00e0 ma grande fiert\u00e9 je l&rsquo;avoue, int\u00e9gr\u00e9 leur environnement domotique \ud83d\ude42<\/p>\n<p>Donc merci \u00e0 <a title=\"http:\/\/connectingstuff.net\/blog\/\" href=\"http:\/\/connectingstuff.net\/blog\/\" target=\"_blank\">Olivier de Connecting Stuff<\/a>\u00a0 et <a title=\"http:\/\/blog.hotfirenet.com\/\" href=\"http:\/\/blog.hotfirenet.com\/\" target=\"_blank\">Johan de Hotfirenet <\/a>de me secouer un peu les puces \ud83d\ude00<\/p>\n<p>Voici donc une mise \u00e0 jour, la version Alpha 0.2 que vous pouvez d\u00e8s \u00e0 pr\u00e9sent t\u00e9l\u00e9charger ici :<br \/>\n<a title=\"http:\/\/code.google.com\/p\/guiguiabloc\/downloads\/detail?name=xPL-PyHAL-alpha-0.2.tgz\" href=\"http:\/\/code.google.com\/p\/guiguiabloc\/downloads\/detail?name=xPL-PyHAL-alpha-0.2.tgz\" target=\"_blank\">http:\/\/code.google.com\/p\/guiguiabloc\/downloads\/detail?name=xPL-PyHAL-alpha-0.2.tgz<\/a><\/p>\n<p>ou mettre \u00e0 jour votre <a title=\"http:\/\/code.google.com\/p\/guiguiabloc\/source\/checkout\" href=\"http:\/\/code.google.com\/p\/guiguiabloc\/source\/checkout\" target=\"_blank\">SVN<\/a>.<\/p>\n<p>Au programme des changements :<\/p>\n<ul>\n<li>Optimisation du code python<\/li>\n<\/ul>\n<p>Une des parties qui m&rsquo;a prit le plus de temps. Les sections de code du Brain devenaient de plus en plus cons\u00e9quentes et j&rsquo;ai tout regroup\u00e9 dans des fonctions bien d\u00e9finies.<\/p>\n<ul>\n<li>Choix du module Memcached<\/li>\n<\/ul>\n<p>A utilisation intensive, je me suis rendu compte que le module \u00ab\u00a0memcached\u00a0\u00bb de python avait des comportements un peu bizarre et g\u00eanant (une nouvelle session \u00e0 chaque fois sans r\u00e9utiliser une existante), donc si vous disposez de <a title=\"http:\/\/pypi.python.org\/pypi\/pylibmc\" href=\"http:\/\/pypi.python.org\/pypi\/pylibmc\" target=\"_blank\">pylibmc<\/a>, le Brain l&rsquo;utilisera en priorit\u00e9, sinon le module Memcached standard.<\/p>\n<p>N&rsquo;oubliez pas la configuration dans Memcached_pylibmc.py dans ce cas (adresse du serveur et port de connexion, \u00e0 l&rsquo;identique de Memcached.py si vous utilisez ce module).<\/p>\n<pre lang=\"python\">\r\ndef __init__(self, hostname=\"127.0.0.1\", port=\"11211\"):\r\n<\/pre>\n<ul>\n<li>Correction d&rsquo;un bug sur les sch\u00e9mas ac.basic<\/li>\n<\/ul>\n<p>Plut\u00f4t une omission qu&rsquo;un bug, Marc m&rsquo;a signal\u00e9 que certaines t\u00e9l\u00e9commandes DIO se pr\u00e9sentaient avec le sch\u00e9ma ac.basic plut\u00f4t que homeeasy.basic et <a title=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/05\/22\/projet-xpl-pyhal-un-cerveau-xpl-episode-2-alpha-release\/comment-page-1\/#comment-1764\" href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/05\/22\/projet-xpl-pyhal-un-cerveau-xpl-episode-2-alpha-release\/comment-page-1\/#comment-1764\" target=\"_blank\">suite \u00e0 sa correction<\/a>, ce type de sch\u00e9ma est d\u00e9sormais int\u00e9gr\u00e9 au Brain. Merci \u00e0 lui \ud83d\ude42 (d&rsquo;ailleurs vous \u00eates amplement encourag\u00e9 a me remonter vos bugs !)<\/p>\n<ul>\n<li>Ajout du support DawnDusk xPL<\/li>\n<\/ul>\n<p>Si vous utilisez le client <a title=\"https:\/\/github.com\/beanz\/xpl-perl\/\" href=\"https:\/\/github.com\/beanz\/xpl-perl\/\" target=\"_blank\">xPL Dawndusk<\/a> , qui vous permet d&rsquo;\u00eatre alert\u00e9 dans le bus xPL quand le soleil se l\u00e8ve, ou quand il se couche, xPL-PyHAL int\u00e8gre d\u00e9sormais la possibilit\u00e9 de g\u00e9n\u00e9rer des \u00e9v\u00e8nements suite \u00e0 cette action.<\/p>\n<p>Le format YAML est le suivant (exemple: envoyer un message notifry \u00ab\u00a0il fait nuit\u00a0\u00bb au coucher du soleil) :<\/p>\n<pre lang=\"python\">\r\nMODULE: dawndusk\r\nDAYNIGHT: dusk\r\nACTION: message\r\nTARGETXPL: notifry\r\nKEY: \"b11111223FFFFFzz\"\r\nMESSAGE: \"il fait nuit\"\r\n<\/pre>\n<p>Le nom du module pour que xPL-PyHAL r\u00e9agisse: dawndusk<\/p>\n<p>La cl\u00e9 DAYNIGHT sur laquelle r\u00e9agir : dusk (coucher du soleil) ou dawn (lever du soleil)<\/p>\n<p>et les actions comme d\u2019habitude (TARGETCOMMAND par exemple pour une action command.<\/p>\n<p>J&rsquo;ai rajout\u00e9 quelques exemples dans le r\u00e9pertoire yamlrepo.<\/p>\n<p>&nbsp;<\/p>\n<p>N&rsquo;h\u00e9sitez pas \u00e0 me remonter les bugs, demande d&rsquo;\u00e9volution \ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>Amusez-vous bien \ud83d\ude00<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enfin un peu de nouvelles de mon projet xPL-PyHAL (dont vous trouverez le pr\u00e9c\u00e9dent billet ici). J&rsquo;y travaille toujours pour mon propre usage et, honte sur moi, je d\u00e9laissais un peu la mise \u00e0 jour du d\u00e9pot SVN et du &hellip; <a href=\"http:\/\/blog.guiguiabloc.fr\/index.php\/2012\/11\/16\/projet-xpl-pyhal-alpha-release-2\/\">Read More <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[137],"tags":[168,172,179],"_links":{"self":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1327"}],"collection":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1327"}],"version-history":[{"count":9,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1327\/revisions"}],"predecessor-version":[{"id":1336,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/posts\/1327\/revisions\/1336"}],"wp:attachment":[{"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1327"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.guiguiabloc.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}