Hello
alors vite installé vite mis dans jeedom.
Sans passer par ifft ou ble. the less is more …
simplement avec le plugin Mail Listener !
j ai vu que a chaque mesure réaliser par le blueconnect on a la possibilité de recevoir un mail avec les mesures ( option de réglage des notifs dans l’appli sur le téléphone ) alors pourquoi se prendre la tête ?
le plugin mail listhener a configurer en 3 sec :
le virtuel a créer :
le scenario a créer :
il faut évidement modifier #[Piscine][gmail gsavin][Sujet]# == ‹ Piscine Piscine : nouvelle mesure ›
en fonction du sujet de mail que vous envois Blue Connect et de votre nom d’entrée dans le plugin mail lithener.
Pareil dans la condiction de déclanchement du scénario
#[Piscine]*[gmail gsavin][*Sujet]#
le code :
{
$message = $scenario->getdata('message');
$lines = explode(PHP_EOL,$message);
foreach ($lines as $line)
{
$debutdata = strpos($line,'table');
if ($debutdata !== false)
{
$findata = strpos($line,'/table');
$longeurdata = $findata-$debutdata;
$data=substr($line,$debutdata,$longeurdata);
$args=explode("tr",$data);
foreach ($args as $arg)
{
if (strpos($arg,'Température') !== false)
{
$arg2=explode("td",$arg);
$str = preg_replace('/[^0-9.]+/', '', $arg2[3]);
print "temperature : ".$str;
$scenario->setdata('temperature',$str);
}
if (strpos($arg,'pH') !== false)
{
$arg2 = explode("td",$arg);
$str = preg_replace('/[^0-9.]+/', '', $arg2[3]);
$scenario->setdata('PH',$str);
}
if (strpos($arg,'ORP') !== false)
{
$arg2 = explode("td",$arg);
$str = preg_replace('/[^0-9.]+/', '', $arg2[3]);
$scenario->setdata('ORP',$str);
}
if (strpos($arg,'Salinité') !== false)
{
$arg2 = explode("td",$arg);
$str = preg_replace('/[^0-9.]+/', '', $arg2[3]);
$scenario->setdata('Salinité',$str);
}
}
}
}
}
bon alors le code fait en 5 minutes donc surement moyen de le rendre plus propre si y a des pro du php. Mais comme ca il marche bien et ça me va.
ca donne :
allez bisous
ps :
essayer pas de vous reforwarder un mail déjà envoyer par blue connect car le code traite un message en formatage html ( le mail envoyé par blueconnect) si vous faites un forward le mail sera transmi en pleintext et mon code marchera plus. Donc faut vraiement attendre le mail de Bueconnect.
le code si vous fête un forward pour test :
il faudra aussi copier #[Piscine][gmail gsavin][Texte]# au lieu de [HTML]
{
$subject = $scenario->getdata('message');
$lines = explode(PHP_EOL,$subject);
foreach ($lines as $line)
{
if (strpos($line,'Température') !== false)
{
$arg = explode(":",$line);
$str = preg_replace('/[^0-9.]+/', '', $arg[1]);
$scenario->setdata('temperature',$str);
print $str;
}
if (strpos($line,'pH') !== false)
{
$arg = explode(":",$line);
$str = preg_replace('/[^0-9.]+/', '', $arg[1]);
$scenario->setdata('PH',$str);
print $str;
}
if (strpos($line,'ORP') !== false)
{
$arg = explode(":",$line);
$str = preg_replace('/[^0-9.]+/', '', $arg[1]);
$scenario->setdata('ORP',$str);
print $str;
}
if (strpos($line,'Salinité') !== false)
{
$arg = explode(":",$line);
$str = preg_replace('/[^0-9.]+/', '', $arg[1]);
$scenario->setdata('Salinité',$str);
print $str;
}
}
}