<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Poulpy - Domotique, OpenSource et Geekeries &#187; Projets</title>
	<atom:link href="http://www.poulpy.com/category/projets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.poulpy.com</link>
	<description>Domotique, OpenSource et Geekeries</description>
	<lastBuildDate>Tue, 08 Nov 2011 23:59:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Demo de mon application de contrôle domotique</title>
		<link>http://www.poulpy.com/2011/11/demo-de-mon-application-de-controle-domotique/</link>
		<comments>http://www.poulpy.com/2011/11/demo-de-mon-application-de-controle-domotique/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 23:59:12 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[imperihome]]></category>
		<category><![CDATA[sencha]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=436</guid>
		<description><![CDATA[&#160; Suite au billet posté ici en septembre expliquant un peu l&#8217;architecture logicielle de mon installation, j&#8217;avais eu des commentaires fort sympathiques dans le billet et des mails demandant plus de détails sur le cœur du système de contrôle ainsi que l&#8217;application mobile correspondante. Voici donc la suite avec des demos des deux applications/webapp du [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Suite au billet posté ici en septembre expliquant un peu l&#8217;architecture logicielle de mon installation, j&#8217;avais eu des commentaires fort sympathiques dans le billet et des mails demandant plus de détails sur le cœur du système de contrôle ainsi que l&#8217;application mobile correspondante. Voici donc la suite avec des demos des deux applications/webapp du système.</p>
<p>&nbsp;</p>
<p>Depuis plusieurs années que je développe ce système pour mes propres besoins, je l&#8217;avais appelé &#8216;HomeGuru&#8217; sans trop réfléchir (pas mon genre de réfléchir de tt de façon :p)&#8230; Et bien on peut oublier le nom <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  J&#8217;ai regardé rapidement l&#8217;autre jour et il s&#8217;avère que ce nom existe déjà, notamment sur l&#8217;App Store Apple où il existe une application qui s&#8217;appelle HomeGuru (une application de contrôle domotique Insteon d&#8217;ailleurs <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>Bref,  hier j&#8217;ai renommé mon ensemble logiciel en : <strong>ImperiHome</strong> (oui ok c&#8217;est pas forcément mieux mais bon c&#8217;est pas bien grave, l&#8217;idée c&#8217;est d&#8217;éviter les confusions lorsque le code sera rendu public <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>&nbsp;</p>
<p>Alors, pour rappel, il y a, actuellement (en dehors des agents xPL) 3 composants à ImperiHome :</p>
<ul>
<li><strong>ImperiHome Server</strong> : le daemon de contrôle domotique, le coeur/intelligence du système <em>(techno : programme perl utilisant le framework xpl-perl)</em>.</li>
<li><strong>L&#8217;application mobile</strong> (la webapp) : c&#8217;est l&#8217;interface <strong>utilisateur</strong> du système, celle qui permet de contrôler les lumières, de voir les consommations, les températures, les cameras&#8230; Elle est utilisée sur smartphone ou sur tablette <em>(techno : webapp en Sencha Touch + Sencha Touch Charts; convertion en application mobile avec PhoneGap, utilisable avec un browser type Safari/Chrome)</em>.</li>
<li><strong>Le site de configuration</strong> qui permet d&#8217;administrer le tout, créer les devices, les scenarios, etc&#8230; <em>(techno : site web en Sencha Ext JS 3, utilisable avec un browser classique FireFox et cie&#8230;)</em>.</li>
</ul>
<p>&nbsp;</p>
<p>Pour continuer à donner plus de détails, le plus simple est que vous puissiez essayer vous-même. J&#8217;ai donc mis à disposition une demo de la webapp et du site de configuration, les deux alimentées avec des données factices et aléatoires (ne vous étonnez pas de températures étranges pour la saison ou des consommations d&#8217;énergie cheulou <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</p>
<p>&nbsp;</p>
<table border="0" frame="border" align="center">
<tbody>
<tr>
<td style="width: 300px; text-align: center;"><span style="font-size: medium;"><strong>WebApp Mobile</strong></span></td>
<td style="width: 2px;"></td>
<td style="width: 300px; text-align: center;"><strong><span style="font-size: medium;">Site de configuration</span></strong></td>
</tr>
<tr>
<td style="width: 300px; text-align: center;"> <a href="http://www.poulpy.com/wp-content/uploads/2011/11/demowebapp_qr.png"><img class="alignnone size-full wp-image-438" title="demowebapp_qr" src="http://www.poulpy.com/wp-content/uploads/2011/11/demowebapp_qr.png" alt="" width="200" height="200" /></a><span style="font-size: small;"><a href="http://demo.imperihome.com/webapp/" target="_blank">http://demo.imperihome.com/webapp/</a></span></td>
<td style="width: 2px;"></td>
<td style="width: 300px; text-align: center;"><span style="font-size: small;"><a href="http://demo.imperihome.com/admin/" target="_blank">http://demo.imperihome.com/admin/</a></span>Vous pouvez naviguer dans toute l&#8217;interface de configuration, il y a des données un peu partout pour faire la demo. Par contre c&#8217;est de la lecture seule, vous ne pourrez rien créer/modifier.</td>
</tr>
<tr>
<td style="width: 300px;"><strong>Sur un ordinateur de bureau</strong>: y aller de préférence avec le browser Safari (ça ne marchera pas avec Firefox ou IE). Possible que ça marche avec Chrome mais pas essayé.<br />
<strong>Sur un mobile</strong> : ça fonctionne bien avec les browsers standard Android et iOS. Vous pouvez utiliser le flashcode <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Si vous n&#8217;avez pas un mobile très récent et que ça rame vous pouvez désactiver les animations dans les settings puis revenir à l&#8217;onglet Home et recharger l&#8217;application.</td>
<td style="width: 2px;"></td>
<td style="width: 300px;"> Y aller avec un browser classique mais récent type FireFox, IE&#8230;</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Voila, comme ça, ça donne une idée de ce à quoi ça ressemble en vrai et de la façon dont ça s&#8217;utilise en attendant que tout le code soit mis à disposition. Dans l&#8217;application mobile vous pouvez cliquer sur les valeurs des sondes ou des consos d&#8217;énergie pour voir les graphes correspondants.</p>
<p>Avant de rentre tout le code (enfin celui du serveur surtout) public je dois passer un peu de temps à rendre les choses &#8216;présentables&#8217;, à packager correctement, à virer les cas particuliers et les trucs en dur dans le code, mais ça va venir <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Idem pour les specs du webservice qui sert à communiquer avec le serveur : ça ressemble (volontairement) un peu à ce qui existe sur domogik, mais je dois faire un effort de documentation <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Comme d&#8217;hab, n&#8217;hésitez pas pour les remarques positives ou négatives (bon soyez indulgents quand même hein, le tout n&#8217;est évidemment pas exempt de bugs, et est d&#8217;une façon générale très incomplet car en permanente construction).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/11/demo-de-mon-application-de-controle-domotique/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Relevé de consommation d&#8217;eau low cost en RF</title>
		<link>http://www.poulpy.com/2011/11/releve-de-consommation-deau-low-cost-en-rf/</link>
		<comments>http://www.poulpy.com/2011/11/releve-de-consommation-deau-low-cost-en-rf/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 23:59:20 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[chacon]]></category>
		<category><![CDATA[consommation]]></category>
		<category><![CDATA[eau]]></category>
		<category><![CDATA[rfxcom]]></category>
		<category><![CDATA[xpl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=414</guid>
		<description><![CDATA[Cela faisait un moment que je souhaitais mesure la consommation d&#8217;eau de mon logement, mais j&#8217;avais été freiné par le coût de mise en place d&#8217;un système de télérelève pour intégration à mon installation domotiqe. En effet, il fallait acquérir le compteur d&#8217;eau à impulsions (75€), mais aussi le RFXMeter (70€) et RFXPulse (50 €), [...]]]></description>
			<content:encoded><![CDATA[<p>Cela faisait un moment que je souhaitais mesure la consommation d&#8217;eau de mon logement, mais j&#8217;avais été freiné par le coût de mise en place d&#8217;un système de télérelève pour intégration à mon installation domotiqe. En effet, il fallait acquérir le compteur d&#8217;eau à impulsions (75€), mais aussi le RFXMeter (70€) et RFXPulse (50 €), le tout devant être branché électriquement via un adaptateur secteur. Ca faisait quand même plus de 200€ le bazar pour suivre sa consommation d&#8217;eau&#8230; (sans compter évidemment le récepteur RFXCom que j&#8217;avais déjà)</p>
<p>Bref tout ça m&#8217;avait refroidit.</p>
<p>&nbsp;</p>
<p>C&#8217;est en lisant une <a href="http://www.touteladomotique.com/forum/viewtopic.php?f=12&amp;t=3829" target="_blank">discussion sur le forum TouteLaDomotique </a>que j&#8217;ai vu un des membres (titi_oft) expliquer comment il souhaitait fait pour remplacer le couteux couple RFXMeter + RFXPulse.</p>
<p>Il s&#8217;agissait en fait de relier le compteur à impulsions à un simple détecteur d&#8217;ouverture Chacon désossé. En effet le détecteur d&#8217;ouverture Chacon est un détecteur magnétique qui utilise une technologie dit à <a href="http://fr.wikipedia.org/wiki/Interrupteur_reed" target="_blank">ampoule REED</a>, ce qui est également le cas de mon compteur d&#8217;eau à impulsion. C&#8217;est un peu à la &#8216;bricolo bricolette&#8217;, mais ça a le mérte de fonctionner et de diviser le budget par 2 <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Voici comment procéder :</p>
<p>&nbsp;</p>
<h2>Le matériel :</h2>
<ul>
<li>Un compteur d&#8217;eau à impulsion (1 impulsion/litre) : 75€ environ (<a href="http://www.planete-domotique.com/energie/consommation-d-eau/compteur-d-eau-froide-avec-sortie-impulsion-1-imp-1-litre.html" target="_blank">chez planete-domotique par exemple</a>)</li>
<li>Un  capteur d&#8217;ouverture Chacon  : 15€ environ (<a href="http://www.planete-domotique.com/contacteur-de-porte-sans-fil-chacon.html" target="_blank">lien chez planete-domotique</a>)</li>
<li>Un récepteur compatible avec Chacon (RFXCom, ZiBase&#8230;)</li>
<li>Un fer à souder, de l&#8217;étain, des mains (deux devraient suffire) et un tournevis</li>
</ul>
<p>&nbsp;</p>
<h2>Le compteur d&#8217;eau :</h2>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/1-package_content.jpg"><img class="alignnone size-medium wp-image-416" title="le contenu de la boite" src="http://www.poulpy.com/wp-content/uploads/2011/11/1-package_content-300x218.jpg" alt="" width="300" height="218" /></a>  <a href="http://www.poulpy.com/wp-content/uploads/2011/11/2-compteur_face.jpg"><img class="alignnone size-medium wp-image-417" title="2-compteur_face" src="http://www.poulpy.com/wp-content/uploads/2011/11/2-compteur_face-300x278.jpg" alt="" width="245" height="218" /></a></p>
<p>Le compteur est livré dans un carton, avec ses accessoires (adaptateurs, joints, et cable). Je ne suis pas plombier, mais le tout semble de très bonne qualité.</p>
<p>&nbsp;</p>
<h2>Modification du détecteur d&#8217;ouverture :</h2>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/4-detecteur_chacon.jpg"><img class="alignnone size-medium wp-image-420" title="4-detecteur_chacon" src="http://www.poulpy.com/wp-content/uploads/2011/11/4-detecteur_chacon-300x212.jpg" alt="" height="159" /></a></p>
<p>Bon ça c&#8217;est le détecteur Chacon. Vous pouvez jeter la plus petite partie, elle ne contient qu&#8217;un aimant et vous sera inutile. Il faut alors ouvrir la partie la plus grande en dévissant la vis  au dos puis en déclipsant le plastique  :</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/5-detecteur_chacon_dos.jpg"><img class="alignnone size-medium wp-image-421" title="5-detecteur_chacon_dos" src="http://www.poulpy.com/wp-content/uploads/2011/11/5-detecteur_chacon_dos-300x159.jpg" alt="" width="300" height="159" /></a> <a href="http://www.poulpy.com/wp-content/uploads/2011/11/6-detecteur_chacon_ouverture.jpg"><img class="alignnone size-medium wp-image-422" title="6-detecteur_chacon_ouverture" src="http://www.poulpy.com/wp-content/uploads/2011/11/6-detecteur_chacon_ouverture-300x173.jpg" alt="" height="159" /></a></p>
<p>Ca vous donne à peu près ça. Vous pouvez voir l&#8217;emplacement de la pile à gauche, l&#8217;antenne à droite, et la fameuse ampoule REED en bas :</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/7-detecteur_chacon_inside.jpg"><img class="alignnone size-medium wp-image-423" title="7-detecteur_chacon_inside" src="http://www.poulpy.com/wp-content/uploads/2011/11/7-detecteur_chacon_inside-300x153.jpg" alt="" width="300" height="153" /></a></p>
<p>C&#8217;est aux bornes de cette ampoule reed que nous allons souder les deux fils de notre compteur à impulsion. Il ne restera ensuite plus qu&#8217;à retirer l&#8217;ampoule reed en sectionnant ses pattes, et à replacer la carte électronique dans son boitier :</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/8-soudure.jpg"><img class="alignnone size-medium wp-image-424" title="8-soudure" src="http://www.poulpy.com/wp-content/uploads/2011/11/8-soudure-300x216.jpg" alt="" width="300" height="216" /></a>  <a href="http://www.poulpy.com/wp-content/uploads/2011/11/9-fini_dans_boitier.jpg"><img class="alignnone size-medium wp-image-425" title="9-fini_dans_boitier" src="http://www.poulpy.com/wp-content/uploads/2011/11/9-fini_dans_boitier-300x178.jpg" alt="" width="300" height="178" /></a></p>
<p>&nbsp;</p>
<p>Et voila ! Vous refermez le boitier, mettez la pile, et votre détecteur chacon émettra à chaque litre d&#8217;eau consommé; le tout pour moins de 100€. Elle est pas belle la vie ?</p>
<p>&nbsp;</p>
<h2>Le comptage du volume d&#8217;eau :</h2>
<p>Attention il y a une subtilité. Comme vous le savez peut etre, les détecteurs chacon (comme les detecteurs X10 d&#8217;ailleurs) ont une facheuse tendance à envoyer plusieurs fois d&#8217;affilée leurs ordres, afin de s&#8217;assurer que ceux-ci sont bien reçus. Ce qui fait que, dans notre montage, si on compte simplement le nombre de &laquo;&nbsp;ON&nbsp;&raquo; envoyés, on va se retrouver avec un chiffre bien au dessus de la consommation réelle.</p>
<p>L&#8217;astuce consiste, au lieu de compter les &laquo;&nbsp;ON&nbsp;&raquo;, à compter les <strong>changements d&#8217;état</strong> &laquo;&nbsp;OFF&nbsp;&raquo; =&gt; &laquo;&nbsp;ON&nbsp;&raquo;. En utilisant cette méthode, on obtient une très bonne précision (chez moi, le taux d&#8217;erreur est d&#8217;environ 0.3%, ce qui est plus que satisfaisant). Personnellement j&#8217;ai juste fait un petit agent xPL qui écoute les ordres du capteur et les retransmet sur le réseau xPL un fois convertis en données de volume.</p>
<p>&nbsp;</p>
<h2>Les limites et les inconnues :</h2>
<ul>
<li>Durée de vie de la pile du détecteur Chacon : je ne sais pas dire combien de temps tiendra la pile bouton du détecteur. Ces petits modules n&#8217;étant pas faits pour émettre plusieurs centaines de fois par jour. Pour le moment je suis à environ 8000L consommés et pas de problème.</li>
<li>Occupation de la fréquence : Il est possible que, lorsque l&#8217;on consomme beaucoup d&#8217;eau (ex. une bonne grosse douche, ou arrosage jardin&#8230;) le détecteur émette des ordre à un rythme élevé, ce qui pourrait &#8216;occuper&#8217; la fréquence 433Mhz et provoquer des ratés sur d&#8217;autres devices (par exemple non-réception d&#8217;une trame d&#8217;une sonde Oregon ou autre&#8230;). Je n&#8217;ai pas constaté ce problème pour le moment mais c&#8217;est une éventualité.</li>
</ul>
<p>&nbsp;</p>
<p>Voila, c&#8217;est clairement un peu bricolo bricolette mais ça fonctionne plutôt bien jusqu&#8217;à présent après 1 mois d&#8217;utilisation <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . J&#8217;en profite pour remercier titi_oft du forum TLD pour son idée !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/11/releve-de-consommation-deau-low-cost-en-rf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Applications mobiles en HTML5 avec PhoneGap</title>
		<link>http://www.poulpy.com/2011/11/applications-mobiles-en-html5-avec-phonegap/</link>
		<comments>http://www.poulpy.com/2011/11/applications-mobiles-en-html5-avec-phonegap/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 19:59:44 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=397</guid>
		<description><![CDATA[J&#8217;en avais déjà parlé je crois dans un de mes précédents articles, j&#8217;ai développé pour mon système domotique une webapp. Quoi que c&#8217;est donc une WebApp ? Et bien c&#8217;est à mi chemin entre un site web et une application pour device mobile (smartphone, tablette&#8230;). On peut le définir comme un site web qui se [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/phonegap_logo.png"><img class="alignleft size-full wp-image-404" style="margin-left: 20px; margin-right: 20px;" title="phonegap_logo" src="http://www.poulpy.com/wp-content/uploads/2011/11/phonegap_logo.png" alt="" width="100" height="100" /></a>J&#8217;en avais déjà parlé je crois dans un de mes précédents articles, j&#8217;ai développé pour mon système domotique une webapp.</p>
<p>Quoi que c&#8217;est donc une WebApp ? Et bien c&#8217;est à mi chemin entre un site web et une application pour device mobile (smartphone, tablette&#8230;). On peut le définir comme un site web qui se comporte comme une application, ou bien commune une application mais programmée avec les languages du web (HTML5/CSS/JavaScript).</p>
<p>&nbsp;</p>
<p>Dans la pratique, ça fonctionne en allant sur l&#8217;URL depuis le browser de votre smartphone, et ça chargera la WebApp.</p>
<p>Probleme : évidemment, ça demande au browser de charger les fichiers (lent), et si vous n&#8217;avez pas de réseau WiFi ni de 3G, et bien votre webapp ne chargera pas.</p>
<p>&nbsp;</p>
<p>Tout problème ayant sa solution, il existe un certain nombre de frameworks permattant de convertir un site web (ou webapp) en vraie application pour mobile. Celui que j&#8217;utilise s&#8217;appelle <a href="http://www.phonegap.com/" target="_blank">PhoneGap</a>, et il comporte un certain nombre d&#8217;avantages :</p>
<ul>
<li>il est entièrement opensource</li>
<li>il supporte 7 plateformes ! Ce qui vous permet de transformer votre WebApp (sans la modifier) en applications pour : iOS, Android, Symbian, BlackBerry, WindowsPhone, webOS et bada.</li>
<li>il supporte très bien le framework Sencha Touch (qui est celui que j&#8217;utilise)</li>
<li>il est simple d&#8217;utilisation et bien documenté</li>
</ul>
<p>Voici ci-dessous une video d&#8217;introduction à PhoneGap :</p>
<p><object width="600" height="338"><param name="movie" value="http://www.youtube.com/v/E0UV5i5jY50?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/E0UV5i5jY50?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="600" height="338" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>&nbsp;</p>
<p>Pour finir, un service proposé par PhoneGap que je trouve complètement génial : <a href="http://build.phonegap.com" target="_blank">PhoneGap Build</a></p>
<p>Il s&#8217;agit d&#8217;un service hébergé sur les serveurs de Nitobi (l&#8217;éditeur de PhoneGap) et qui s&#8217;occupe pour vous de toute la partie compilation et packaging des applications (qui peut s&#8217;avérer très fastidieuse), tout ce qu&#8217;il faut faire c&#8217;est uploader le code de votre webapp et PhoneGap Build fait le reste et vous fournit les fichiers d&#8217;application (un apk pour android, etc&#8230;) !</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/11/phonegap_build.png"><img class="alignnone size-full wp-image-403" title="phonegap_build" src="http://www.poulpy.com/wp-content/uploads/2011/11/phonegap_build.png" alt="" width="654" height="290" /></a></p>
<p>&nbsp;</p>
<p>Plus besoin d&#8217;avoir installé chez vous les environnements de compilation de chaque plateforme (et plus besoin d &#8216;avoir un XCode à disposition en permanence pour compiler pour iOS <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) bref c&#8217;est vraiment confortable et ça marche plutot bien, malgré le fait que ce soit encore en beta.</p>
<p>&nbsp;</p>
<p>A noter que Nitobi, la société créatrice de PhoneGap, a été rachetée récemment par la mastodonte Adobe. Cela ne semble pas remettre en cause l&#8217;ouverture de PhoneGap (et espérons que cela reste ainsi).</p>
<p>&nbsp;</p>
<p>Et vous, vous utilisez ce genre de framework ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/11/applications-mobiles-en-html5-avec-phonegap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mon installation domotique : architecture logicielle</title>
		<link>http://www.poulpy.com/2011/09/mon-installation-domotique-architecture-logicielle/</link>
		<comments>http://www.poulpy.com/2011/09/mon-installation-domotique-architecture-logicielle/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 20:24:46 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[logiciel]]></category>
		<category><![CDATA[xpl]]></category>
		<category><![CDATA[xplhal]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=368</guid>
		<description><![CDATA[J&#8217;ai reçu coup sur coup plusieurs messages de visiteurs de ce blog me demandant plus de détails sur l&#8217;architecture logicielle de mon installation domotique. Effectivement j&#8217;ai plusieurs fois raconté ma life ici même en donnant des explications sur tel ou tel élément de mon installation mais je n&#8217;ai jamais donné de vision un peu globale [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai reçu coup sur coup plusieurs messages de visiteurs de ce blog me demandant plus de détails sur l&#8217;architecture logicielle de mon installation domotique. Effectivement j&#8217;ai plusieurs fois raconté ma life ici même en donnant des explications sur tel ou tel élément de mon installation mais je n&#8217;ai jamais donné de vision un peu globale <del>de l&#8217;usine à gaz</del> du système.</p>
<p>Je vais donc essayer de remédier à cette lacune en donnant quelques explications sur la partie logicielle, et comme je ne recule devant aucun sacrifice, j&#8217;ai même sorti ma plus belle souris pour faire un schéma global, dont je détaille en dessous les différents éléments.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/09/archi_domo.png"><img class="alignnone size-full wp-image-380" title="architecture logicielle domotique" src="http://www.poulpy.com/wp-content/uploads/2011/09/archi_domo.png" alt="" width="600" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>1 &#8211; xPL Software Gateways</h2>
<p lang="fr"> Il s&#8217;agit de tous les agents xPL permettant de s&#8217;interfacer avec du &#8216;logiciel&#8217;. Par exemple :</p>
<ul type="circle">
<li lang="fr"><strong><a title="xpl-rrd from xpl-perl" href="http://github.com/beanz/xpl-perl/" target="_blank">xpl-rrd</a></strong> pour archiver les données des sensors dans des Round Robbin Databases et permettre de graphage</li>
<li lang="fr"><strong><a title="xPL-PushMsg" href="http://www.poulpy.com/downloads/?did=6" target="_blank">xpl-pushmsg</a></strong> pour permettre d&#8217;envoyer des notifications à mes appareils mobiles sous iOS ou Android</li>
<li lang="fr"><strong>xpl-sendmail</strong> pour envoyer des mails</li>
<li lang="fr"><strong><a title="xpl-dawndusk from xpl-perl" href="http://github.com/beanz/xpl-perl/">xpl-dawndusk</a></strong> pour notifier du lever/coucher du soleil</li>
<li lang="fr">…</li>
</ul>
<h2 lang="fr">2 &#8211; xPL Hardware Gateways</h2>
<p lang="fr"> Tout comme ceux ci-dessus, il s&#8217;agit d&#8217;agents xPL mais qui permettent de s&#8217;interfacer avec des appareils/des devices. Par exemple pour ceux que j&#8217;utilise :</p>
<ul type="circle">
<li lang="fr"><strong><a title="CidModem plugin from Domogik" href="http://www.domogik.org/plugin_cidmodem" target="_blank">CidModem </a></strong>(from domogik) : communique avec un modem 56K USB branché sur ma ligne téléphonique pour détecter les appels entrants et numéro d&#8217;appelant sur mon téléphone fixe</li>
<li lang="fr"><strong><a title="xpl-currentcost from xpl-perl" href="https://github.com/beanz/xpl-perl/" target="_blank">xpl-currentcost</a></strong> : communique avec un CurrentCost ENVY pour remonter sur mon réseau xPL la consommation électrique instantanée de mon habitat</li>
<li lang="fr"><strong><a title="xpl-rfxcom from xpl-perl" href="https://github.com/beanz/xpl-perl/" target="_blank">xpl-rfxcomrx/tx</a></strong> : ces deux agents (le RX pour la réception et le TX pour la transmission) communiquent avec les célèbres RFXCom. Cela permet à mon installation domotique de &#8216;parler&#8217; un certain nombre de protocoles RF de domotique (notamment X10, HomeEasy/Chacon, sensors Oregon Scientific, etc…)</li>
<li lang="fr"><strong><a title="xPL-ZiBase" href="http://www.poulpy.com/downloads/?did=7" target="_blank">xpl-zibase</a></strong> : cet agent communique avec la ZiBase, et permet à celle-ci de &#8216;parler&#8217; le xPL. En ce qui me concerne cela m&#8217;offre la possibilité entre autres d&#8217;intégrer des appareils X2D (protocole de domotique du fabricant DeltaDore) à mon installation, comme par exemple mes modules de contrôle de chauffage sur fil pilote</li>
<li lang="fr"><strong><a title="xpl-apcups from xpl-perl" href="https://github.com/beanz/xpl-perl/" target="_blank">xpl-apcups</a></strong> : cet agent permet d&#8217;interfacer un onduleur APC sur le réseau xPL, et donc de reçevoir les évennements liés aux interruptions d&#8217;alimentation électrique et à la durée restante sur batterie.</li>
<li lang="fr"><strong>NabazTag</strong> : cet agent permet comme son nom l&#8217;indique de communiquer avec les Nabaztag (mais vu l&#8217;actualité peu réjouissante de ces lapins je ne m&#8217;étendrai pas sur le sujet dans ce billet <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</li>
</ul>
<p>&nbsp;</p>
<h2>3 &#8211; xPL-enabled Devices</h2>
<p lang="fr">Il n&#8217;y en a pas beaucoup mais il y en a quand même : certains appareils sont conçus pour parler nativement le xPL. C&#8217;est notamment le cas des <strong><a href="http://www.logitech.com/fr-fr/speakers-audio/wireless-music-systems" target="_blank">SqueezeBox </a></strong>de Logitech, grâce au plugin xAP : cela permet de gérer toute la diffusion audio dans la maison, avec plusieurs SqueezeBoxes, etc…</p>
<p lang="fr">Un autre appareil récemment  sorti qui supporte nativement le xPL est le nouveau <a href="http://www.rfxcom.com/" target="_blank">RFXCom </a>v3, mais je n&#8217;en ai pas, mes RFXCom sont des modèles anciens en USB.</p>
<p>&nbsp;</p>
<h2 lang="fr">4 &#8211; HomeGuru Server</h2>
<p lang="fr">Là ça se complique un peu car ça devient vraiment custom <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p lang="fr">Il s&#8217;agit du <strong>cœur</strong> du système de domotique, de l&#8217;équivalent du <a href="http://www.xplmonkey.com/primerhal.html" target="_blank">xPLHAL </a>pour ceux qui connaissent. C&#8217;est cet élément qui va par exemple :</p>
<ul type="circle">
<li lang="fr">connaitre la liste de tous les devices de mon installation domotique</li>
<li lang="fr">centraliser les évennements xPL, et y réagir</li>
<li lang="fr">lancer des actions en fonction d&#8217;un certain nombre de critères, etc…</li>
<li lang="fr">plus globalement c&#8217;est le &laquo;&nbsp;cerveau&nbsp;&raquo; de l&#8217;installation domotique, c&#8217;est lui qui embarque l&#8217;intelligence</li>
</ul>
<p lang="fr">Je l&#8217;avais appelé à l&#8217;époque <strong>HomeGuru</strong>, et c&#8217;est le nom qu&#8217;a gardé ce petit soft depuis plusieurs années chez moi.</p>
<p lang="fr">Techniquement, il s&#8217;agit d&#8217;un agent xPL au même titre que les autres agents que j&#8217;ai développés. Il est d&#8217;ailleurs également écrit en perl, utilisant le framework <a href="https://github.com/beanz/xpl-perl/" target="_blank">xpl-perl</a>. Par contre il est plus compliqué que les simples gateway xPLs, car il prend en charge :</p>
<ul type="circle">
<li lang="fr"><strong>Une partie base de données</strong> : la liste des devices, leur configuration est stockée dans une base de données MySQL</li>
<li lang="fr"><strong>Une partie &#8216;moteur de règles&#8217;</strong> : c&#8217;est ce qui permet de lancer des actions suivant des déclencheurs et des conditions, avec des opérateurs logiques (ex: Quand TRIGGER1 est levé, lancer l&#8217;action ACTION1 SI CONDITON1 ET CONDITION2 sont réunies)</li>
<li lang="fr"><strong>Une partie WebService</strong> : HomeGuru Server expose un petit webservice &#8216;REST&#8217; pour que d&#8217;autre éléments (Cf parties 5 et 6) viennent interagir avec le système. C&#8217;est via ce webservice que la TOTALITE de la configuration est faite, en effet, HomeGuru Server en lui-même ne dispose pas d&#8217;une quelconque interface graphique (GUI) ou en ligne de commande (CLI).</li>
<li lang="fr"><strong>Une partie scheduler</strong> : qui permet de lancer des actions suivant des dates et timers</li>
<li lang="fr"><strong>Toute l&#8217;intelligence du système</strong> : types de devices, actionneurs, capteurs, sécurité…</li>
<li lang="fr"><strong>La communication avec d&#8217;autres &#8216;univers&#8217;</strong> qui ne se pluggent pas bien avec du xPL : par exemple pour ma part : les cameras de surveillance IP</li>
</ul>
<p>&nbsp;</p>
<h2>5 &#8211; Mobile App / Webapp</h2>
<p lang="fr">Ici c&#8217;est en fait l&#8217;interface de commande &laquo;&nbsp;end user&nbsp;&raquo; du système domotique. C&#8217;est cette interface qui permet de consulter  l&#8217;état des modules domotiques, de les actionner, de voir les capteurs, les graphiques de températures ou de consommation électrique, les cameras en temps réel, etc…</p>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.poulpy.com/wp-content/uploads/2011/09/screen_webapp2.png"><img class="size-full wp-image-386 aligncenter" title="screen_webapp2" src="http://www.poulpy.com/wp-content/uploads/2011/09/screen_webapp2.png" alt="" width="240" /></a></td>
<td><a href="http://www.poulpy.com/wp-content/uploads/2011/09/screen_webapp11.png"><img class="size-full wp-image-385 aligncenter" title="HomeGuru WebApp" src="http://www.poulpy.com/wp-content/uploads/2011/09/screen_webapp11.png" alt="" width="240" /></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p lang="fr"> En terme de technos, il s&#8217;agit à la base d&#8217;une WebApp pour mobiles écrite en utilisant le framework HTML5/JS &laquo;&nbsp;<a href="http://www.sencha.com/products/touch/" target="_blank">Sencha Touch</a>&laquo;&nbsp;, ce qui la rend compatible avec les devices iOS et Android; mais aussi avec le navigateur Safari pour Windows par exemple.</p>
<p lang="fr">Au fur et à mesure de l&#8217;utilisation j&#8217;ai fini par implémenter carrement sous forme d&#8217;application via &#8216;<a href="http://www.phonegap.com/">PhoneGap</a>&#8216;, qui permet de transformer une webapp en application pour Android ou iOS (ou même d&#8217;autres OS mobiles, 6 en tout). Cela permet d&#8217;être plus réactif, et d&#8217;éviter la problématique de l&#8217;hébergement de la WebApp.</p>
<p lang="fr">Last but not least, comme vu au dessus, cette WebApp interagit avec le <strong>HomeGuru Server</strong> (et uniquement avec le HomeGuru Server) via le <strong>WebService REST</strong> exposé par celui-ci.</p>
<p>&nbsp;</p>
<h2 lang="fr">6 &#8211; Configuration Website</h2>
<p lang="fr">Pour finir, il s&#8217;agit de l&#8217;interface de configuration/administration du système domotique. Il permet par exemple de :</p>
<ul type="circle">
<li lang="fr">Ajouter un device/appareil</li>
<li lang="fr">Configurer le moteur de règle des évènements via des Triggers, Conditions et Actions</li>
<li lang="fr">Configurer la partie &#8216;sécurité&#8217; (dev in progres…)</li>
<li lang="fr">Voir les logs du réseau xPL</li>
</ul>
<p style="text-align: center;"><a href="http://www.poulpy.com/wp-content/uploads/2011/09/screen_admin.png"><img class="size-full wp-image-391 aligncenter" title="HomeGuru Admin" src="http://www.poulpy.com/wp-content/uploads/2011/09/screen_admin.png" alt="" width="600" /></a></p>
<p lang="fr">En techno, il s&#8217;agit ici encore d&#8217;un site web écrit en utilisant le framework<a href="http://www.sencha.com/products/extjs/" target="_blank"> Sencha Ext JS</a>. Pour ceux qui connaissent, cela le fait ressembler à une application classique.</p>
<p lang="fr">Ici aussi, le site d&#8217;administration communique avec le <strong>HomeGuru Server</strong> (et seulement avec lui), en utilisant le <strong>WebService REST</strong> exposé.</p>
<p>&nbsp;</p>
<h2 lang="fr">7 &#8211; Autres éléments utilisés</h2>
<p lang="fr">On trouve aussi d&#8217;autres éléments logiciels utilisés indirectement dans le système :</p>
<ul type="circle">
<li lang="fr"><strong><a href="https://github.com/OpenJabNab/OpenJabNab" target="_blank">Openjabnab </a></strong>: Pour remplacer les defunts serveurs Nabaztag</li>
<li lang="fr"><strong><a href="http://www.mysqueezebox.com/download" target="_blank">SqueezeCenter </a></strong>: le logiciel serveur (gratuit) des SqueezeBox de Logitech</li>
<li lang="fr"><strong><a href="http://www.zoneminder.com/" target="_blank">ZoneMinder </a></strong>: le logiciel pour centraliser toute la partie caméras de surveillance</li>
<li lang="fr"><strong><a href="http://www.mythtv.org/" target="_blank">MythTV </a></strong>(partie backend) pour la distribution video de la TV par satellite notamment</li>
<li lang="fr"><strong><a href="http://xbmc.org/" target="_blank">XBMC </a></strong>: le frontend pour la video et la TV</li>
<li lang="fr">…d&#8217;autres que j&#8217;oublie ?&#8230;</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2></h2>
<p>Et voila pour le petit tour d&#8217;horizon de la partie logicielle. Comme d&#8217;habitude n&#8217;hésitez pas à me poser vos questions, j&#8217;essayerai d&#8217;y répondre du mieux que je peux, et le plus vite possible (enfin&#8230; le moins lentement possible&#8230;).</p>
<p>A venir, probablement d&#8217;autres article détaillant certains points (dites moi si vous avez une partie préferée).</p>
<p>J&#8217;entends d&#8217;ici (oui oui j&#8217;ai l’ouïe super développée) certains dire &laquo;&nbsp;ok c&#8217;est bien beau tout ça mais quand est ce que tu nous met à dispo tes développements ?&nbsp;&raquo; Et bien je l&#8217;espère assez rapidement pour les 3 éléments que je n&#8217;ai pas encore publiés :</p>
<ul>
<li>Le HomeGuru Server, coeur du système</li>
<li>La WebApp Mobile</li>
<li>Le site de configuration</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/09/mon-installation-domotique-architecture-logicielle/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>xPL et notifications push sous Android &#8211; xPL-PushMsg v0.3</title>
		<link>http://www.poulpy.com/2011/09/xpl-et-notifications-push-sous-android-xpl-pushmsg-v0-3/</link>
		<comments>http://www.poulpy.com/2011/09/xpl-et-notifications-push-sous-android-xpl-pushmsg-v0-3/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 11:45:29 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[notifo]]></category>
		<category><![CDATA[notifymyandroid]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[xpl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=358</guid>
		<description><![CDATA[Les premiers jours de pluie arrivant, il est temps de se replonger un peu dans son installation domotique, et d&#8217;y apporter les quelques modifications auxquelles on a pensé cet été ! De mon côté l&#8217;été s&#8217;est traduit par l&#8217;arrivée à la maison de mes premiers devices sous Android, et comme j&#8217;utilisais dans mon installation xPL [...]]]></description>
			<content:encoded><![CDATA[<p>Les premiers jours de pluie arrivant, il est temps de se replonger un peu dans son installation domotique, et d&#8217;y apporter les quelques modifications auxquelles on a pensé cet été !</p>
<p>De mon côté l&#8217;été s&#8217;est traduit par l&#8217;arrivée à la maison de mes premiers devices sous Android, et comme j&#8217;utilisais dans mon installation xPL les notifications push Prowl (Cf : <a href="http://www.poulpy.com/2011/02/les-notifications-push-prowl-et-pushme-to-en-xpl/" target="_blank">http://www.poulpy.com/2011/02/les-notifications-push-prowl-et-pushme-to-en-xpl/</a>), j&#8217;en ai été privé (et oui, Prowl et Pushme.to ne fonctionnent actuellement que sous iOS, pas sous Android).</p>
<p>&nbsp;</p>
<p>Je me suis mis en quête de systèmes de notification pour Android et j&#8217;en ai trouvé deux :</p>
<ul>
<li><strong>Notifo</strong> (encore en beta) &#8211; <a href="http://notifo.com/" target="_blank">http://notifo.com/</a></li>
<li><strong>NotifyMyAndroid</strong> &#8211; <a href="http://nma.usk.bz/" target="_blank">http://nma.usk.bz/</a></li>
</ul>
<p>&nbsp;</p>
<p>Pour intégrer ces systèmes dans mon réseau xPL, j&#8217;ai donc fait évoluer mon agent xPL de notification (xPL-PushMsg) pour y ajouter le support de ces deux nouveaux systèmes, qui viennent donc s&#8217;ajouter à Prowl et Pushme.to.</p>
<p>&nbsp;</p>
<p>Il s&#8217;agit de la version 0.3 de <strong>xPL-PushMsg</strong> (toujours en perl avec le framework xpl-perl). <a href="http://www.poulpy.com/downloads/?did=6" target="_blank">Téléchargement par ici !</a></p>
<p>&nbsp;</p>
<p>Vous retours sont, comme toujours, les bienvenus !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/09/xpl-et-notifications-push-sous-android-xpl-pushmsg-v0-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>La ZiBase sur votre réseau xPL !</title>
		<link>http://www.poulpy.com/2011/04/la-zibase-sur-votre-reseau-xpl/</link>
		<comments>http://www.poulpy.com/2011/04/la-zibase-sur-votre-reseau-xpl/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 21:34:14 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[xpl]]></category>
		<category><![CDATA[zibase]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=340</guid>
		<description><![CDATA[La plupart de ceux qui lisent ce blog connaissent déjà, de nom au moins, la ZiBase : le contrôleur domotique de la société française Zodianet. Cette ZiBase est capable de parler plusieurs protocoles liés à la domotique : le X10 RF, le HomeEasy/Chacon, le Visonic, et même, plus récemment, le X2D (c&#8217;est le protocole utilisé [...]]]></description>
			<content:encoded><![CDATA[<p><br class="spacer_" /></p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2011/04/ZiBASE.jpg"><img class="alignleft size-full wp-image-346" title="ZiBase" src="http://www.poulpy.com/wp-content/uploads/2011/04/ZiBASE.jpg" alt="" width="180" height="180" /></a>La plupart de ceux qui lisent ce blog connaissent déjà, de nom au moins, la ZiBase : le contrôleur domotique de la société française <a href="http://www.zodianet.com/" target="_blank">Zodianet</a>. Cette ZiBase est capable de parler plusieurs protocoles liés à la domotique : le X10 RF, le HomeEasy/Chacon, le Visonic, et même, plus récemment, le X2D (c&#8217;est le protocole utilisé par les produits Delta Dore ce qui ouvre la ZiBase à une gamme très large de produits déjà largement distribués) !</p>
<p>Ayant des modules Delta Dore pour le contrôle par fil pilote de mon chauffage électrique, l&#8217;ajout du support du X2D est ce qui m&#8217;a fait franchir le pas pour acquérir cette fameuse ZiBase <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><br class="spacer_" /></p>
<p>Ceux qui ont déjà lu les quelques autres articles de ce blog savent comment cela devait se finir chez moi : par la réalisation d&#8217;un module xPL permettant d&#8217;interfacer la ZiBase sur mon réseau xPL.</p>
<p><br class="spacer_" /></p>
<p>Voici donc ma <strong>gateway xPL pour la ZiBase</strong>, comme d&#8217;habitude développée en perl par dessus le framework xpl-perl de Mark Hindess, et conçue pour fonctionner sous linux. J&#8217;en profite pour remercier Zodianet et Mickael pour leur aide, support et enthousiasme !</p>
<p>Pour le téléchargement, <a href="http://www.poulpy.com/downloads/?did=7">c&#8217;est par ici</a>.<br class="spacer_" /></p>
<p>Pour l&#8217;installation c&#8217;est du standard :</p>
<pre>tar zxfv xpl-zibase*.tar.gz
perl Makefile.PL
make
sudo make install</pre>
<p>et pour lancer le module c&#8217;est tout simple :</p>
<pre>xpl-zibase -v --zibase-verbose</pre>
<p>Une fois lancé le module va chercher une ZiBase sur le même réseau et, une fois trouvée il affichera quelque chose du genre :</p>
<pre>Listening on 192.168.X.XXX:YYYY
Sending on 192.168.X.XXX
Listening ZiBase messages on 0.0.0.0:28734
Found ZiBase 'ZiBASEXXXXXX' at IP 111.222.333.444</pre>
<p>Le module va diffuser sur le réseau xPL tous les messages RF qu&#8217;elle reçevra. Par exemple pour une sonde Oregon Scientific:</p>
<pre>* - thgr228n.OS439171073[temp]=16.2
* - thgr228n.OS439171073[humidity]=67</pre>
<p>Et, pour envoyer des commandes à vos appareils déclarés dans votre ZiBase :</p>
<pre># Pour allumer le device F5 :
xpl-sender -m xpl-cmnd -c x10.basic device=f5 command=on

 # Pour dimmer une lampe ayant le code F5 (marche seulement pour les modules Chacon et X2D) :
 xpl-sender -m xpl-cmnd -c x10.basic device=f5 command=dim level=50</pre>
<p><br class="spacer_" /></p>
<p>Et voila ! Comme d&#8217;habitude n&#8217;hésitez pas à me faire part des difficultés que vous pourriez rencontrer avec ce module, soucis et remarques en tous genres; soit en commentaire de de billet, soit via le formulaire de contact du site.</p>
<p><br class="spacer_" /></p>
<p>A noter que la ZiBase qui était depuis quelque temps en rupture de stock devrait être réapprovisionnée d&#8217;ici quelques jours dans toutes les bonnes crèmeries comme par exemple <a href="http://www.planete-domotique.com/controleur-domotique-zibase-zodianet.html" target="_blank">ici chez Planète-Domotique</a>, avec en prime une réduction de 50€ si vous pré-commandez jusqu&#8217;au 15 avril (oui je sais&#8230; c&#8217;est demain <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), <a href="http://www.touteladomotique.com/forum/viewtopic.php?t=5069" target="_blank">voir ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/04/la-zibase-sur-votre-reseau-xpl/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Les notifications push Prowl et Pushme.to en xPL</title>
		<link>http://www.poulpy.com/2011/02/les-notifications-push-prowl-et-pushme-to-en-xpl/</link>
		<comments>http://www.poulpy.com/2011/02/les-notifications-push-prowl-et-pushme-to-en-xpl/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 23:46:56 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[prowl]]></category>
		<category><![CDATA[pushme.to]]></category>
		<category><![CDATA[xpl]]></category>
		<category><![CDATA[xpl-perl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=307</guid>
		<description><![CDATA[Les &#8216;notifications push&#8217; sont très intéressantes dans le domaine de la domotique comme l&#8217;ont fait remarquer bien avant moi sur leurs blogs Clement Storck : http://clement.storck.me/?p=78 et Spy : http://www.e-home.fr/2011/01/domotique-notifications-push/ Pour les non initiés ou les non utilisateurs d&#8217;iPhone/iPad, les notifications push c&#8217;est un système qui permet aux applications iOS d&#8217;afficher une notification avec une [...]]]></description>
			<content:encoded><![CDATA[<p><br class="spacer_" /></p>
<p>Les <strong>&#8216;notifications push&#8217;</strong> sont très intéressantes dans le domaine de la domotique comme l&#8217;ont fait remarquer bien avant moi sur leurs blogs Clement Storck : <a href="http://clement.storck.me/?p=78" target="_blank">http://clement.storck.me/?p=78</a> et Spy : <a href="http://www.e-home.fr/2011/01/domotique-notifications-push/" target="_blank">http://www.e-home.fr/2011/01/domotique-notifications-push/</a></p>
<p>Pour les non initiés ou les non utilisateurs d&#8217;iPhone/iPad, les notifications push c&#8217;est un système qui permet aux applications iOS d&#8217;afficher une notification avec une alerte sur un iPhone ou un iPad; un peu comme un SMS en fait mais gratuit et avec des fonctionnalités plus extensibles.</p>
<p>Comme vous pouvez le voir dans l&#8217;article de Clement, les deux applications les plus connues dans ce domaine sont :</p>
<ul>
<li><strong>Prowl </strong>: <a href="http://www.prowlapp.com/" target="_blank">http://www.prowlapp.com/</a></li>
<li><strong>Pushme.to </strong>: <a href="http://pushme.to/" target="_blank">http://pushme.to/</a></li>
</ul>
<p><br class="spacer_" /></p>
<p>Ayant eu envie d&#8217;utiliser ces moyens de notification dans mon installation domotique, je me suis attelé à les y intégrer; ce qui a débouché (comme souvent chez moi <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) sur un petit agent xPL écrit en perl s&#8217;intégrant au<a href="http://www.xpl-perl.org.uk/" target="_blank"> framework xpl-perl de Mark Hindess</a>.</p>
<p>Son petit nom c&#8217;est <strong>xpl-pushmsg</strong> et pour le télécharger, il faut aller<a href="http://www.poulpy.com/downloads/?did=6"> dans la section downloads </a>(sisi c&#8217;est en haut à droite là).</p>
<p>L&#8217;installation se fait comme n&#8217;importe quel programme perl :</p>
<pre>tar zxfv xpl-pushmsg*.tar.gz
perl Makefile.PL
make
sudo make install
</pre>
<p>Puis il se lance simplement :</p>
<pre>xpl-pushmsg -v
</pre>
<p>Vous pouvez ensuite envoyer des notification <strong>Prowl </strong>ou <strong>Pushme.to</strong> via des commandes sur votre réseau xPL.</p>
<pre>Pour Prowl :
xpl-sender -m xpl-cmnd -c sendmsg.basic to=APIKEY@prowl body=bonjour subject=Alerte
(Regardez le man de xpl-pushmsg pour connaitre tous les paramètres car il y a d'autres possibilités comme par exemple la priorité des messages ou encore la possibilité d'attacher une URL)

Pour Pushme.to :
xpl-sender -m xpl-cmnd -c sendmsg.basic to=NICKNAME@pushmeto body=bonjour from=Maison
</pre>
<p><br class="spacer_" /></p>
<p>Et voila ! De cette façon vous pourrez vous envoyer des notifications pour n&#8217;importe quel évènement de votre maison, comme certains l&#8217;ont fait par exemple lorsque quelqu&#8217;un sonne à leur porte : <a href="http://clement.storck.me/?p=80" target="_blank">http://clement.storck.me/?p=80</a></p>
<p><br class="spacer_" /></p>
<p>Comme d&#8217;habitude avec les bouts de code que je fait, celui-ci n&#8217;est probablement pas exempt de bug, et je suis preneur de toute suggestion <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/02/les-notifications-push-prowl-et-pushme-to-en-xpl/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Webapp mobile pour la domotique</title>
		<link>http://www.poulpy.com/2011/01/webapp-mobile-pour-la-domotique/</link>
		<comments>http://www.poulpy.com/2011/01/webapp-mobile-pour-la-domotique/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 22:30:39 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[tactile]]></category>
		<category><![CDATA[xpl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=261</guid>
		<description><![CDATA[Et bien voila, joli délai depuis mon dernier post, un rythme effréné de 1 article tous les 6 mois c&#8217;est impressionnant non ? Non&#8230; ok. En ce tout début d&#8217;année, je me suis intéressé de plus près à mettre en place une IHM de contrôle pour mon installation domotique. Je vais donc partager le début [...]]]></description>
			<content:encoded><![CDATA[<p>Et bien voila, joli délai depuis mon dernier post, un rythme effréné de 1 article tous les 6 mois c&#8217;est impressionnant non ? Non&#8230; ok.</p>
<p><span style="font-size: medium;">En ce tout début d&#8217;année, je me suis intéressé de plus près à mettre en place une <strong>IHM de contrôle pour mon installation domotique</strong>. Je vais donc partager le début de mes réflexions.</span></p>
<p><span style="font-size: medium;"><br />
 </span></p>
<h2>Les contraintes pour réaliser ce que je voulais :</h2>
<p>(pour rappel chez moi c&#8217;est des technos low cost type Chacon/HomeEasy, et c&#8217;est du xPL pour les interfaces)</p>
<ul>
<li>Pas envie de dépenser des centaines d&#8217;euros dans une station de contrôle domotique type <a title="Crestron" href="http://www.crestron.com/products/touchpanels_touch_panel_control/" target="_blank">Crestron</a> ou les écrans <a title="Ecran homeseer" href="http://store.homeseer.com/store/HST-IW07---7-In-wall-LCD-Touchscreen-HomeSeer-P644C118.aspx">HomeSeer</a> : j&#8217;ai déjà suffisamment de gadgets qui trainent&#8230; autant les utiliser !</li>
<li>Évidemment, pas envie d&#8217;acheter de software ni de licence</li>
<li>Pas envie (enfin&#8230; surtout pas le temps en fait) d&#8217;apprendre à fond un nouveau langage de programmation, un nouvel environnement non connu (genre Objective C et XCode pour ne pas les nommer <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</li>
<li>Je veux du pratique, du &laquo;&nbsp;à portée de main&nbsp;&raquo;, du tactile, et quelque chose d&#8217;un minimum joli et réactif (oui hein on est en 2011, c&#8217;est fini le minitel)</li>
</ul>
<p><br class="spacer_" /></p>
<h2>Les opportunités et autres réflexions :</h2>
<ul>
<li>Un des rares trucs que j&#8217;aie fait sur mon installation est de tout passer en <strong>xPL </strong>(Cf mes précédents articles sur le sujet). Du coup, pas de code compliqué à faire pour discuter avec les interfaces domotique (<em>RFXCOM, TellStick, CM15</em>, etc..)</li>
<li>A moins que vous ayez été isolé du monde durant les précédents mois, ça ne vous aura pas échappé : l&#8217;essor des appareils mobiles : iPhone et smartphones Android  évidemment, mais aussi la déferlante de <strong>tablettes tactiles </strong>qui arrivent sur le marché. Perso de ce côté là je suis équipé en Apple (<strong>iPhone </strong>et <strong>iPad</strong>) : je veux donc quelque chose qui me permette de contrôler mon installation au moins depuis ces deux appareils</li>
<li>En prévision de cette problématique, j&#8217;avais réalisé en <strong>perl </strong>(avec les librairies xpl-perl comme d&#8217;hab)<strong> </strong>un petit programme de contrôle domotique qui tourne sur mon réseau xPL, et qui expose une API Web à la <a title="REST sur Wikipedia" href="http://fr.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> (très simple pour le moment) pour permettre de commander et de récupérer le status des modules et capteurs de mon installation : Je peux donc contrôler mon installation à coup de requêtes Web simples : il ne reste plus qu&#8217;à faire un joli frontend (&#8216;<em>ya pu k&#8217;à&#8217;</em> comme dirait l&#8217;autre <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</li>
</ul>
<p><br class="spacer_" /></p>
<h2>Choix de la techno :</h2>
<p>Deux possibilités : une <strong>webapp</strong> ou une <strong>vraie application </strong>mobile. Le titre de l&#8217;article vous a mis sur la voie : j&#8217;ai choisi la Webapp pour plusieurs raisons :</p>
<ul>
<li><strong>Rapidité de développement</strong> : pas envie de passer trop de temps à refaire de l&#8217;Objective-C sous XCode ou à apprendre à coder pour <a href="http://www.android.com/" target="_blank">Android</a></li>
<li><strong>Portabilité </strong>: une webapp n&#8217;est rien d&#8217;autre qu&#8217;un site web qui ressemble à une application. Du coup une webapp est potentiellement utilisable sur n&#8217;importe quel device équipé d&#8217;un navigateur Web récent. C&#8217;est particulièrement important pour moi qui n&#8217;aie pas envie de m&#8217;enfermer sur une marque. (A titre d&#8217;exemple, on commence à trouver des tablettes <a href="http://www.android.com/" target="_blank">Android </a>low cost qui feraient potentiellement de bons écrans de contrôle tactiles, beaucoup moins chez qu&#8217;un iPad).</li>
</ul>
<h2>Choix du Framework :</h2>
<p>Décision est prise de faire une Webapp. Pour faciliter le développement (et aussi parce-que je suis une feignasse),  l&#8217;idée est bien entendu d&#8217;utiliser un Framework dédié aux Webapps. Je vous laisse googler, il y en a plusieurs, iWebKit, JQTouch, iUI, etc&#8230; Mon choix (en espérant qu&#8217;il soit bon) s&#8217;est porté sur le framework <a title="Sencha Touch" href="http://www.sencha.com/products/touch/" target="_blank">Sencha Touch</a>.</p>
<p><a href="http://www.sencha.com/products/touch/" target="_blank">S<img class="size-full wp-image-269 alignleft" title="logo-sencha-sm-reg" src="http://www.poulpy.com/wp-content/uploads/2011/01/logo-sencha-sm-reg.png" alt="" width="120" height="50" />encha Touch</a> est un framework javascript spécifiquement fait pour les applications mobiles tactiles. Il est une excroissance de Ext JS pour ceux qui connaissent, un autre framework javascript bien connu depuis un moment. Il utilise les technos Javascript, HTML5 et CSS3, et est à ce titre compatible avec les appareils sous iOS ET avec ceux sous Android. Il est plus généralement compatible avec les navigateurs WebKit. En ce qui concerne les navigateurs pour ordinateurs classiques, c&#8217;est vers Safari ou vers Chrome qu&#8217;il faudra se tourner pour tester les développements réalisés sur un PC ou un Mac.</p>
<p>Last but not least, Sencha Touch dispose d&#8217;une licence open-source.</p>
<p><br class="spacer_" /></p>
<h2>Mes impressions :</h2>
<p>Étant plus à placer dans la catégorie des développeurs du dimanche, j&#8217;ai eu un peu de mal à me mettre dans la logique du framework Sencha Touch; c&#8217;est un peu particulier, mais rien d&#8217;insurmontable quand on suit les nombreux exemples qu&#8217;on trouve sur le net.</p>
<p>Comme je le mentionnait plus haut, avoir toutes les infos liées à mon installation à disposition dans une API Web REST a été d&#8217;une grande aide =&gt; ça permet de vraiment se concentrer sur la partie <strong>UserInterface </strong>et de ne pas s&#8217;embetter avec les détails d&#8217;implémentation de la partie domotique à proprement parler.</p>
<p><br class="spacer_" /></p>
<h2>Ce que ça donne maintenant :</h2>
<p>Attention hein, interdit de se moquer : c&#8217;est loin d&#8217;être fini :p. Mon premier objectif était de faire un <strong>écran général</strong> pour <strong>visualiser </strong>les infos principales et <strong>contrôler </strong>mes modules domotiques. Voici ce que ça donne :</p>
<p style="text-align: center;"><strong>Sur iPhone :</strong></p>
<p style="text-align: center;"><a href="http://www.poulpy.com/wp-content/uploads/2011/01/photo1.png"><img class="size-full wp-image-264 alignnone" title="hg_iphone_1" src="http://www.poulpy.com/wp-content/uploads/2011/01/photo1.png" alt="" width="224" height="336" /> </a> <a href="http://www.poulpy.com/wp-content/uploads/2011/01/photo3.png"><img class="size-full wp-image-265 alignnone" title="hg_iphone_2" src="http://www.poulpy.com/wp-content/uploads/2011/01/photo3.png" alt="" width="224" height="336" /></a></p>
<p><br class="spacer_" /></p>
<p style="text-align: center;"><strong>Sur iPad :</strong></p>
<p style="text-align: center;"><a href="http://www.poulpy.com/wp-content/uploads/2011/01/photoipad.png"><img class="size-full wp-image-266 aligncenter" title="hg_ipad" src="http://www.poulpy.com/wp-content/uploads/2011/01/photoipad.png" alt="" width="461" height="614" /></a></p>
<p><br class="spacer_" /></p>
<h2>Pour la suite :</h2>
<p>Ca reste très succinct pour le moment. Plein de choses à y ajouter, dans le désordre ce qui me vient à l&#8217;esprit :</p>
<ul>
<li>l&#8217;accès aux graphes pour les données environnementales</li>
<li>l&#8217;accès à des macros, voire à des screnarii</li>
<li>le contrôle multimédia : multiroom (squeezebox soft), media center (XBMC)</li>
<li>une section pour tout ce qui est sécurité (détecteurs d&#8217;ouverture, videosurveillance, etc&#8230;)</li>
</ul>
<p>On verra ce que je peux faire avancer en fonction du temps (ou plutot du manque de temps <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). Autre point intéressant avec une Webapp qui accède à toutes ses données via une API Web en REST, c&#8217;est que peut être si un jour j&#8217;utilise un autre soft (<a href="http://www.domogik.org/" target="_blank">Domogik</a> ? <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) je pourrai, à moindre frais, le plugger dessus&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2011/01/webapp-mobile-pour-la-domotique/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Utiliser le TellStick en Python</title>
		<link>http://www.poulpy.com/2010/04/utiliser-le-tellstick-en-python/</link>
		<comments>http://www.poulpy.com/2010/04/utiliser-le-tellstick-en-python/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 16:03:43 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tellstick]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=193</guid>
		<description><![CDATA[Et non je n&#8217;était pas mort Juste très occupé M&#8217;intéressant de plus en plus à Domogik (si vous ne connaissez pas allez jeter un oeil : c&#8217;est un work in progress mais TRES prometteur), et, celui-ci étant écrit en language python, je me suis penché sur le sujet de la programmation du TellStick en Python. [...]]]></description>
			<content:encoded><![CDATA[<p>Et non je n&#8217;était pas mort <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Juste très occupé <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>M&#8217;intéressant de plus en plus à <a href="http://www.domogik.org/" target="_blank">Domogik</a> (si vous ne connaissez pas allez jeter un oeil : c&#8217;est un work in progress mais TRES prometteur), et, celui-ci étant écrit en language python, je me suis penché sur le sujet de la programmation du <a href="http://www.telldus.se/products_TS001.html" target="_blank">TellStick</a> en Python.</p>
<p>J&#8217;avais déjà fait <a href="http://www.poulpy.com/2010/03/le-tellstick-sous-linux-avec-xpl/" target="_blank">module xpl pour le TellStick</a> mais celui-ci est très basique et ne supporte pas toutes les possibilités de ce petit transmetteur RF bien pratique, donc je me suis lancé, mais cette fois en python.</p>
<p>Voici donc la première partie du travail : une classe Python qui permet de contrôler le TellStick. Celle-ci s&#8217;appuie sur la <a href="http://developer.telldus.se/wiki/TellStick_installation_Linux" target="_blank">librairie telldus-core fournie par Telldus</a>, il faut donc l&#8217;avoir installée au préalable.</p>
<p>Cous trouverez la classe python dans la section téléchargements de ce blog, <strong><a href="http://www.poulpy.com/downloads/?did=5" target="_blank">ou plus précisément ici</a></strong>.</p>
<p>Pour l&#8217;installer, c&#8217;est du python classique :</p>
<pre>$ tar zxfv TellStick-0.1.tar.gz
$ cd TellStick-0.1
$ sudo python setup.py install</pre>
<p>L&#8217;utilisation est expliquée dans le fichier lui-même, et voici un exemple d&#8217;utilisation en Python :</p>
<pre>#!/usr/bin/python

from TellStick import *

# Création de l'objet
ts = TellStick()

# Anciens modules Chacon : allumer le module A4
ts.sendOff("arctech", "codeswitch", "A", "4")

# Nouveaux modules Chacon : eteindre le module 0x12345 / 2
ts.sendOn("arctech", "selflearning-switch", "0x12345", "2")

# Prise commandable 1er prix Castorama : Allumer la A1
ts.sendOff("risingsun", "", "1", "1")</pre>
<p><br class="spacer_" /></p>
<p>Et voala, c&#8217;est pas plus compliqué que ça. Vous trouverez des infos sur les protocoles et devices supportés sur <a href="http://developer.telldus.se/wiki/TellStick_conf" target="_blank">cette page chez Telldus</a>.</p>
<p><em>Prochaine étape : le plugin xPL complet pour TellStick&#8230;</em></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 23px; width: 1px; height: 1px;">$ tar zxfv TellStick-0.1.tar.gz</div>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2010/04/utiliser-le-tellstick-en-python/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Le TellStick sous Linux avec xPL</title>
		<link>http://www.poulpy.com/2010/03/le-tellstick-sous-linux-avec-xpl/</link>
		<comments>http://www.poulpy.com/2010/03/le-tellstick-sous-linux-avec-xpl/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 20:33:18 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tellstick]]></category>
		<category><![CDATA[xpl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=163</guid>
		<description><![CDATA[Vous connaissez peut-être le TellSTick, petit dongle USB, assez récemment arrivé en France, et qui permet de commander un certain nombre d&#8217;appareils de domotique, comme par exemple les modules Chacon dont j&#8217;ai parlé dans un autre billet sur ce blog. Telldus Technologies, le constructeur du TellStick, a le (très) bon goût de mettre à disposition [...]]]></description>
			<content:encoded><![CDATA[<p>Vous connaissez peut-être le TellSTick, petit dongle USB, assez récemment arrivé en France, et qui permet de commander un certain nombre d&#8217;appareils de domotique, comme par exemple les modules Chacon dont j&#8217;ai parlé dans un autre billet sur ce blog.</p>
<p><a href="http://www.poulpy.com/wp-content/uploads/2010/03/TS001_blue.jpg"><img class="alignleft size-medium wp-image-168" title="TS001_blue" src="http://www.poulpy.com/wp-content/uploads/2010/03/TS001_blue-e1269203284113-300x161.jpg" alt="" width="200" height="107" /></a></p>
<p><a title="Site officiel Telldus" href="http://www.telldus.se/" target="_blank">Telldus Technologies</a>, le constructeur du TellStick, a le (très) bon goût de mettre à disposition les logiciels (et leurs <strong>sources</strong>) permettant d&#8217;utiliser leur Tellstick sous linux : il s&#8217;agit de la commande <strong><em>rfcmd</em></strong>.</p>
<p>&laquo;&nbsp;Ben c&#8217;est parfait alors !&nbsp;&raquo; me direz-vous; et bien&#8230; presque, il ne manquait plus que le logiciel gateway xPL pour intégrer tout ça dans un réseau domotique xPL en place. Et bien voilà qui est chose faite après quelques lignes perl en cette journée pluvieuse.</p>
<p>Pour le télécharger, <a href="http://www.poulpy.com/downloads/?did=4">ça se passe ici</a></p>
<p>Ca s&#8217;installe à la mode perl, comme d&#8217;habitude pour mes modules :</p>
<pre>perl Makefile.PL
make
sudo make install
</pre>
<p><br class="spacer_" /></p>
<p>Et ça permet d&#8217;envoyer des commandes aux modules HomeEasy/Chacon :</p>
<pre>xpl-sender -m xpl-cmnd -c homeeasy.nexa house=A unit=1 command=on</pre>
<p><br class="spacer_" /></p>
<p>Ca permet aussi de commander les modules utilisant le protocole &#8216;RisingSun&#8217; comme les modules de type GAO, ou encore les prises telecommandées on/off premier prix de chez casto (<a title="Blog BorisZone" href="http://www.boriszone.com/2010/02/08/bon-plan-domotique/" target="_blank">merci à Boris pour ce bon plan permettant d&#8217;avoir des prises commandables pour 20€ les 3</a>) :</p>
<pre>xpl-sender -m xpl-cmnd -c risingsu.basic code=1 device=1 command=on
xpl-sender -m xpl-cmnd -c risingsu.basic code=1 device=1 command=off
</pre>
<div>Voilou voilou, comme d&#8217;habitude n&#8217;hésitez pas à me contacter en cas de difficulté d&#8217;utilisation de ce module.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2010/03/le-tellstick-sous-linux-avec-xpl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CM15A et CM15Pro sous linux et xPL</title>
		<link>http://www.poulpy.com/2010/02/cm15a-et-cm15pro-sous-linux-et-xpl/</link>
		<comments>http://www.poulpy.com/2010/02/cm15a-et-cm15pro-sous-linux-et-xpl/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 19:42:01 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[cm15a]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[x10]]></category>
		<category><![CDATA[xpl]]></category>
		<category><![CDATA[xpl-perl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=85</guid>
		<description><![CDATA[1. Intro Les personnes possédant une interface X10 USB Marmitek CM15A (aussi appellée CM15Pro) et désirant intégrer celle-ci dans leur réseau xPL tout en restant sous Linux ont eu probablement le même problème que moi : il n&#8217;y a rien qui existe pour le faire. Plus généralement, les logiciels disponibles pour cette interface USB sont [...]]]></description>
			<content:encoded><![CDATA[<h2>1. Intro</h2>
<p>Les personnes possédant une interface X10 USB Marmitek CM15A (aussi appellée CM15Pro) et désirant intégrer celle-ci dans leur réseau xPL tout en restant sous Linux ont eu probablement le même problème que moi : il n&#8217;y a rien qui existe pour le faire.<br />
Plus généralement, les logiciels disponibles pour cette interface USB sont très peu nombreux sous linux. Cela est principalement dû au manque de documentation technique sur cette interface : En effet, bien que plus évoluée que le archi-connu CM11, le CM15 est aussi conçu très différemment : plus de port série (même émulé sur de l&#8217;USB), protocole de communication différent, intégration des commandes X10 sans fil RF&#8230;<br />
Grâce au travail de la communauté, plusieurs &laquo;&nbsp;proof of concept&nbsp;&raquo; ont été réalisés pour faire fonctionner cette interface sous Linux :</p>
<ul>
<li>Petite application en ligne de commande permettant d&#8217;actionner des modules et de recevoir les commandes X10 &#8211; <a href="http://www.eclipsehomeauto.com/cm15a_on_linux/cm15a.shtml" target="_blank">http://www.eclipsehomeauto.com/cm15a_on_linux/cm15a.shtml</a></li>
<li>Module CM15A pour le célèbre MisterHouse. Mais celui-ci ne permet que de faire de l&#8217;émission de commandes (pas de réception) &#8211; <a href="http://misterhouse.wikispaces.com/X10-CM15A" target="_blank">http://misterhouse.wikispaces.com/X10-CM15A</a></li>
<li>Le driver adapté par Neil Cherry permettant de &#8216;voir&#8217; le device CM15A sous linux et de communiquer avec l&#8217;interface &#8211; <a href="http://www.linuxha.com/USB/cm15a.html" target="_blank">http://www.linuxha.com/USB/cm15a.html</a></li>
</ul>
<p>Beaucoup de travail a déjà été fait, et permet la communication &#8216;simple&#8217; avec le CM15A (il reste encore toute une partie des specs de l&#8217;interface qui reste inconnue, mais l&#8217;envoi/réception des commandes les plus utilisées est tout à fait faisable).</p>
<p>En voyant cela, et utilisant uniquement un CM15A pour l&#8217;interfacage X10 (je n&#8217;ai plus de CM11) je me suis dit que ça serait pas mal de développer un module pour faire gateway entre le CM15 et mon réseau xPL. Voila qui est chose faite <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Pour le téléchargement direct, allez voir dans la <a title="Downloads" href="http://www.poulpy.com/downloads/" target="_self">section des downloads</a>. Pour les explications, lisez la suite <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>2. Pré-requis</h2>
<p>Je ne détaillerai pas ici, mais vous devez également avoir le perl qui fonctionne correctement avec les modules qui vont bien, ainsi qu&#8217;une installation fonctionnelle des librairies xPL-Perl (<a href="http://www.xpl-perl.org.uk" target="_blank">http://www.xpl-perl.org.uk</a>).<br />
Comme toute machine faisant partie d&#8217;un réseau xPL, vous devez avoir au moins un <strong><em>HUB </em></strong>qui tourne dessus (perso j&#8217;utilise celui fournit avec les librairies xPL Perl).</p>
<p>Un autre pré-requis important est le driver CM15 dont l&#8217;installation est détaillée ci-dessous.</p>
<h2>3. Installation du driver pour le CM15</h2>
<p>Pour faire fonctionner l&#8217;application, il vous faudra d&#8217;abord installe<strong><em>r le driver iplc de Neil Cherry</em></strong> :</p>
<pre>apt-get install linux-headers-generic
wget http://www.linuxha.com/common/iplcd/iplc-driver.tgz
tar zxf iplc-driver.tgz
cd iplc/driver/linux-2.6/
# Pour les kernels les plus récents faire, executer :
sed -i s/\\Winfo\\W*\(/\ pr_info\(/ *.c
cd cm15a.d
make</pre>
<p>Vous devriez maintenant avoir un joli driver sous la forme du fichier <strong>cm15a.ko</strong> que vous pouvez copier où bon vous semblera et que vous allez maintenant charger dans votre noyau :</p>
<pre>$ insmod /path/to/cm15a.ko
$ dmesg | tail
[274611.018498] cm15a USB #252 now attached to major 180 minor 252
[274611.018536] usbcore: registered new interface driver cm15a
[274611.018544] X10 CM15A USB Driver v0.03</pre>
<p>Vérifiez enfin que le device a bien été créé :</p>
<pre>$ ls -la /dev/cm15a0
crw-rw---- 1 root root 180, 252 2010-02-14 19:59 /dev/cm15a0</pre>
<p>Le driver marche, vous êtes maintenant parés à installer mon module xPL CM15</p>
<h2>4. Installation du module xpl</h2>
<p>Pour le téléchargement, ça se passe ici : <a href="http://www.poulpy.com/wp-content/plugins/download-monitor/download.php?id=3" title="xPL-CM15A">Download</a></p>
<p>Téléchargez et décompressez le tarball et procédez à l’installation classique « à la perl ». Attention, il faut que le module soit installé dans le même <strong><em>PREFIX</em></strong> que les librairies xpl-perl. Par exemple :</p>
<ul>
<li>Si xPL-perl est installé dans /usr/share/perl5/xPL/, alors votre prefix est « /usr »</li>
<li>Si par contre c’est installé dans /usr/local/share/perl5/xPL, alors le prefix est « /usr/local »</li>
</ul>
<pre>$ wget ......../xpl-cm15a-0.2.tar.gz
$ tar zxf xpl-cm15a-0.2.tar.gz
$ cd xpl-cm15a-0.2
$ perl Makefile.PL PREFIX=/usr   # Mettre le bon PREFIX voir ci-dessus
# Vérifier qu'il n'y a pas de warning de dépendances
$ make
$ sudo make install</pre>
<p>Si tout est OK, l&#8217;installation aura entre autres créé le script /usr/bin/xpl-cm15a</p>
<h2>5. Lancement de l&#8217;application</h2>
<p>Tout est indiqué dans la page de man qui aura été installée avec le programme à l&#8217;étape précédente. Voici la syntaxe générale :</p>
<pre>$ xpl-cm15a --help
Usage:
xpl-cm15a [flags] [options]
where valid flags are:
--help                - show this help text
--verbose             - verbose mode (for the xPL layer)
--cm15a-verbose       - verbose mode (for the cm15a layer)
--cm15a-ignore-rf     - ignore x10 RF messages from the cm15a
--cm15a-ignore-plc    - ignore x10 PowerLine messages from the cm15a
and valid options are (default shown in brackets):
--interface if0            - the interface for xPL messages (first
non-loopback or loopback)
--cm15a-device /dev/xxx    - device for the cm15a (/dev/cm15a0)</pre>
<p>Il est obligatoire de spécifier le paramètre &#8216;cm15a-device&#8217; en précisant le device de votre cm15 (/dev/cm15a0 par défaut).</p>
<p>Il vous est également possible de demander à la gateway d&#8217;ignorer les messages X10 RF et/ou les messages X10 courant porteur. Cela concerne uniquement les évennements qui ARRIVENT jusqu&#8217;au CM15, et cela évite que l&#8217;application ne génère des notifications sur votre réseau xPL si jamais vous n&#8217;en voulez pas.<br />
Pour donner un exemple concret : J&#8217;ai un CM15 (qui capte les ordres X10 RF sans fil) et j&#8217;ai un RFXCOM qui capte lui aussi les ordres X10 RF. Donc, par défaut, quand j&#8217;actionne une commande X10 RF (telecommande ou détecteur par exemple), cela va me génèrer DEUX messages sur mon réseau xPL : un envoyé par la gateway RFXCom et l&#8217;autre par la gateway CM15 =&gt; Dans ce cas là j&#8217;ai spécifié l&#8217;option &laquo;&nbsp;&#8211;cm15a-ignore-rf&nbsp;&raquo; pour que la gateway CM15 ne me renvoie pas les messages X10 RF.</p>
<p>Exemple de lancement (attention il faut le lancer en root, ou bien avec des droits suffisants pour lire/écrire dans /dev/cm15a0):</p>
<pre>$ /usr/bin/xpl-cm15a --cm15a-ignore-rf --cm15a-verbose --cm15a-device /dev/cm15a0</pre>
<h2>6. Réception / Emission d&#8217;ordres X10</h2>
<p>Pour émettre un ordre X10, il suffit alors d&#8217;envoyer le message correspondant sur votre réseau xPL. Par exemple pour allumer le module A3 :</p>
<pre>$ /usr/bin/xpl-sender -m xpl-cmnd -c x10.basic device=a3 command=on</pre>
<p>La gateway devrait alors envoyer l&#8217;ordre sur courant porteur et votre module devrait s&#8217;activer.</p>
<p>Pour vérifier le fonctionnement en réception, vous pouvez par exemple lancer le logger xPL et actionner une commande X10 (par exemple sur un télécommande, ou bien passer devant un détecteur de mouvement&#8230;etc..). Vous verrez alors que la gateway xpl-cm15a enverra le message correspondant sur votre réseau xPL :</p>
<pre>$ /usr/bin/xpl-logger
192.168.X.X:YYYY [xpl-trig/x10.basic: tlam-CM15A.zzzzzz -&gt; * - off a2]</pre>
<h2>7. Limitations</h2>
<p>Certaines choses ne fonctionnent PAS, notamment :</p>
<ul>
<li>Les fonctions compliquées de X10 comme les extended functions</li>
<li>L&#8217;émission d&#8217;ordres X10 RF (par manque de documentation du CM15A, seule la réception marche pour le RF)</li>
</ul>
<p>D&#8217;autres n&#8217;ont pas pu être testées :</p>
<ul>
<li>Les modules X10 bi-directionnels</li>
<li>Le X10 security</li>
</ul>
<p>Et voilou, j&#8217;espere que ça dépannera les galériens du CM15 sous linux comme moi <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  N&#8217;hésitez pas à me remonter les problèmes d&#8217;utilisation ou remarques sur ce module xpl-cm15a.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2010/02/cm15a-et-cm15pro-sous-linux-et-xpl/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Interconnecter votre réseau xPL avec Jabber</title>
		<link>http://www.poulpy.com/2010/02/interconnecter-votre-reseau-xpl-avec-jabber/</link>
		<comments>http://www.poulpy.com/2010/02/interconnecter-votre-reseau-xpl-avec-jabber/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 17:19:42 +0000</pubDate>
		<dc:creator>Thibault</dc:creator>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[xpl]]></category>
		<category><![CDATA[xpl-perl]]></category>

		<guid isPermaLink="false">http://www.poulpy.com/?p=41</guid>
		<description><![CDATA[Toujours soucieux d&#8217;allier l&#8217;inutile à l&#8217;agréable, et dans le cadre de mes experimentations du protocole xPL, j&#8217;ai développé un petit module passerelle entre xPL et Jabber. Grâce à cet module complètement indispensable, on peut &#171;&#160;discutter&#160;&#187; avec sa maison, pour peu qu&#8217;elle ait un peu de conversation. Le module en lui même ne fait que : [...]]]></description>
			<content:encoded><![CDATA[<p>Toujours soucieux d&#8217;allier l&#8217;inutile à l&#8217;agréable, et dans le cadre de mes experimentations du protocole xPL, j&#8217;ai développé un petit module passerelle entre xPL et Jabber.</p>
<p>Grâce à cet module complètement indispensable, on peut &laquo;&nbsp;discutter&nbsp;&raquo; avec sa maison, pour peu qu&#8217;elle ait un peu de conversation.<br />
Le module en lui même ne fait que :</p>
<ul>
<li>Se logger sur un service Jabber (Google Talk par exemple)</li>
<li>Diffuser sur le réseau xPL les messages qu&#8217;il reçoit</li>
<li>Permettre d&#8217;envoyer des messages à des contacts Jabber via une commande xPL</li>
</ul>
<p>Pour ceux qui veulent tester sans lire la suite, vous trouverez le module sur la <strong><a title="Downloads" href="http://www.poulpy.com/downloads/" target="_blank">page de téléchargements</a></strong></p>
<p>Voyons comment installer tout ça.</p>
<h2>1. Pré-requis :</h2>
<ul>
<li>Un PC (ouaou super) sous Linux (C&#8217;est du perl donc ça marche probablement sur Mac aussi mais je n&#8217;ai jamais essayé).</li>
<li>Un réseau xPL en place (i.e. les applications essentielles déjà installées, notamment le Hub XPL)</li>
<li>Un compte jabber (gtalk par exemple) créé spécialement pour votre système domotique et vous ayant dans sa liste de contacts</li>
<li>Les librairies xPL-Perl installées (http://www.xpl-perl.org.uk)</li>
<li>Certains modules perl utilisés</li>
</ul>
<p>Pour ceux sous ubuntu/debian il faut notamment installer les packages suivants :</p>
<pre>$ sudo apt-get install libconfig-general-perl libnet-jabber-perl</pre>
<h2>2. Installation</h2>
<p>Télécharger mon petit module en cliquant là : <a href="http://www.poulpy.com/wp-content/plugins/download-monitor/download.php?id=2" title="xPL-jabber">Download</a>.</p>
<p>Décompressez le tarball et procedez à l&#8217;installation classique &laquo;&nbsp;à la perl&nbsp;&raquo;. Attention, il faut que le module soit installé dans le même PREFIX que les librairies xpl-perl. Par exemple :</p>
<ul>
<li> Si xPL-perl est installé dans /usr/share/perl5/xPL/, alors votre prefix est &laquo;&nbsp;/usr&nbsp;&raquo;</li>
<li> Si par contre c&#8217;est installé dans /usr/local/share/perl5/xPL, alors le prefix est &laquo;&nbsp;/usr/local&nbsp;&raquo;</li>
</ul>
<pre>$ tar zxf xpl-jabber-*.tar.gz
$ cd xpl-jabber-*
$ perl Makefile.PL PREFIX=/usr   # Mettre le bon PREFIX voir ci-dessus
# Vérifier qu'il n'y a pas de warning de dépendances
$ make
$ sudo make install</pre>
<p>Si tout se passe bien, le programme s&#8217;installe là : <strong>/usr/bin/xpl-jabber</strong></p>
<h2>3. Configuration</h2>
<p>Avant de lancer le soft, il faut définir le compte jabber à utiliser. Pour cela vous pouvez partir du fichier de configuration fourni en exemple et le mettre au bon endroit.</p>
<pre>$ sudo mkdir -p /etc/xplperl
$ sudo cp conf/jabber.conf.example /etc/xplperl/jabber.conf</pre>
<p>Editez le fichier pour y mettre vos propres infos. Si il s&#8217;agit d&#8217;un compte google talk, vous n&#8217;avez que les paramètres &#8216;username&#8217; et &#8216;password&#8217; à changer. Le fichier devrait ressembler à ça :</p>
<pre>$ cat /etc/xplperl/jabber.conf
#
# xPL Jabber Gateway config file
#
username = my_gtalk_username
domain = gmail.com
password = my_gtalk_password
server = talk.google.com
port = 5222
tls = 1</pre>
<h2>4. Lancement</h2>
<p>Normalement vous êtes pret à lancer xpl-jabber. Préparez quand même :<br />
- Votre client jabber connecté avec votre compte à vous (histoire de voir quand votre maison se connectera <img src='http://www.poulpy.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )<br />
- Un logger de messages xPL (xpl-logger du package xpl-perl sera parfait) pour vérifier le bon fonctionnement du tout</p>
<pre>$ xpl-logger -v</pre>
<p>Attendez quelques secondes, et vous devriez voir le compte que vous avez configuré se connecter sur votre messagerie jabber =&gt; victoire !</p>
<p>Envoyez lui le message &laquo;&nbsp;help&nbsp;&raquo;, il devrait vous répondre un message générique.</p>
<h2>5. Réception de messages</h2>
<p>A chaque fois que vous envoyez un message sur jabber à votre maison, un message xPL sera envoyé sur votre réseau xPL. Par exemple en envoyant le message &laquo;&nbsp;home sweet home&nbsp;&raquo; sur jabber, on verra passer le message sur le réseau xPL grâce au logger :</p>
<pre>$ xpl-logger
[xpl-trig/sendmsg.im: tlam-jabber.home -&gt; * - votre_compte@gmail.com =&gt; votre_maison@gmail.com : home sweet home]</pre>
<p>Libre à vous ensuite d&#8217;utiliser ce message et de déclencher, à sa réception, des actions dans votre habitat.</p>
<h2>6. Envoi de messages</h2>
<p>Pour que votre maison envoie des messages Jabber, il vaut envoyer un message xPL au bon format. Par exemple, si on veut envoyer le message &laquo;&nbsp;rentre vite !&nbsp;&raquo; à l&#8217;utilisateur Gtalk mon.compte@gmail.com :</p>
<pre>$ xpl-sender -m xpl-cmnd -c sendmsg.im to=mon.compte@gmail.com \
   body='rentre vite !'</pre>
<p>Là aussi, libre à vous d&#8217;envoyer des messages Jabber en fonction des évennements sur votre réseau domotique. Par exemple lorsqu&#8217;un détecteur de mouvement capte quelque chose, lorsque la température descend en dessous d&#8217;une certaine limite, etc&#8230;</p>
<h2>7. Pour aller plus loin</h2>
<p>Comme vous l&#8217;avez probablement compris, le module xpl-jabber n&#8217;est qu&#8217;une application &laquo;&nbsp;gateway&nbsp;&raquo; : elle n&#8217;embarque aucune intelligence de contrôle domotique : c&#8217;est en utilisant une application de controle (xPLHAL par exemple) que vous pourrez faire inter-agir tous vos éléments xPL avec xpl-jabber.</p>
<p>Enfin quand même un petit avertissement : faites attention à la façon d&#8217;intégrer l&#8217;Instant Messaging à votre installation : la securité d&#8217;une commande par instant messaging n&#8217;est clairement pas optimale, c&#8217;est le moins qu&#8217;on puisse dire.</p>
<p>N&#8217;hésitez pas à poster vos commentaires/retours ici même, j&#8217;y répondrai avec plaisir !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poulpy.com/2010/02/interconnecter-votre-reseau-xpl-avec-jabber/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

