<?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; jabber</title>
	<atom:link href="http://www.poulpy.com/tag/jabber/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.poulpy.com</link>
	<description>Domotique, OpenSource et Geekeries</description>
	<lastBuildDate>Mon, 09 Aug 2010 20:22:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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>6</slash:comments>
		</item>
	</channel>
</rss>
