jslg78 a écrit:Bonjour,
Tu peux envoyer un mail si une sonde atteint un seuil... peu d'infos dans la doc...tu peux envoyer les données?
[size=85]<Devices-Detail-Response>
<PollCount>48</PollCount>
<DevicesConnected>2</DevicesConnected>
<LoopTime>1.081</LoopTime>
<DevicesConnectedChannel1>0</DevicesConnectedChannel1>
<DevicesConnectedChannel2>2</DevicesConnectedChannel2>
<DevicesConnectedChannel3>0</DevicesConnectedChannel3>
<DataErrorsChannel1>0</DataErrorsChannel1>
<DataErrorsChannel2>0</DataErrorsChannel2>
<DataErrorsChannel3>0</DataErrorsChannel3>
<VoltageChannel1>4.63</VoltageChannel1>
<VoltageChannel2>4.63</VoltageChannel2>
<VoltageChannel3>4.64</VoltageChannel3>
<VoltagePower>4.87</VoltagePower>
<DeviceName>OWServer_v2-Enet</DeviceName>
<HostName>EDSOWSERVER2</HostName>
<MACAddress>00:04:A3:55:XX:XX</MACAddress>
<owd_DS18B20 Description="Programmable resolution thermometer">
<Name>DS18B20</Name>
<Family>28</Family>
<ROMId>36000003976AB028</ROMId>
<Health>7</Health>
<Channel>2</Channel><RawData>6A014B467FFF06105FFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData><PrimaryValue>22.6250 Deg C</PrimaryValue>
<Temperature Units="Centigrade">22.6250</Temperature>
<UserByte1 Writable="True">75</UserByte1>
<UserByte2 Writable="True">70</UserByte2>
<Resolution>12</Resolution>
<PowerSource>255</PowerSource>
</owd_DS18B20><owd_DS2406 Description="Dual addressable switch plus memory">
<Name>DS2406</Name>
<Family>12</Family><ROMId>AE0000007D5CF412</ROMId>
<Health>7</Health>
<Channel>2</Channel><RawData>33000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData><PrimaryValue>A=0, B=0</PrimaryValue>
<InputLevel_A>0</InputLevel_A>
<InputLevel_B>0</InputLevel_B>
<FlipFlop_A Writable="True">1</FlipFlop_A>
<FlipFlop_B Writable="True">1</FlipFlop_B>
<ActivityLatch_A>1</ActivityLatch_A>
<ActivityLatch_B>1</ActivityLatch_B>
<NumberOfChannels>1</NumberOfChannels>
<PowerSource>0</PowerSource>
<ActivityLatchReset Writable="True">-</ActivityLatchReset>
</owd_DS2406>
</Devices-Detail-Response>[/size]#!/opt/bin/php
#file parser.php
#verifier si il n'y a pas de ^M à la fin de /opt/bin/php sinon le bash ne trouve pas l’interpréteur
#ou alors le lancer avec /opt/bin/php parser.php
<?php
$tbl_sonde=array (
'boiler_1/4' => 'CA000003977E7028',
'boiler_2/4' => 'AB0000039746C428',
'boiler_3/4' => '18000003977F1428',
'boiler_4/4' => '0C00000397686C28',
'reserve' => '36000003976AB028',
'salon' => '17000003977FE828',
'test' => '36000003976AB028'
);
//$fichier = 'http://192.168.1.251/details.xml';
//pour essayer le script changer .trash en tld pour la france
$fichier='http://apalis.trash/details.xml';
//script de Rno: extrait les températures d'un fichier xml et crée un tableau
$xml = simplexml_load_file($fichier);
$i = 0;
foreach($xml->children() as $L0child){
$L0ligne = $L0child->getName();
$L0valeur = trim($L0child);
$result[$L0ligne] = trim($L0child);
foreach($L0child->children() as $L1child){
$L1ligne = $L1child->getName();
$L1valeur = trim($L1child);
// HARD CODED VALUES HERE
if($L1ligne == 'ROMId' ) { $ROMid = $L1valeur; $i++;}
if($L1ligne == 'Temperature' ) {
//$result[$L0ligne][$ROMid][$L1ligne] = trim($L1child);
$sonde[$ROMid]=intval($L1valeur);
}
}
}
error_reporting(0); //evite l'affichage erreur si id incorrect
echo ' boiler bas: '.$sonde[$tbl_sonde['boiler_1/4']]."\n";
echo ' boiler 2/4: '.$sonde[$tbl_sonde['boiler_2/4']]."\n";
echo ' boiler 3/4: '.$sonde[$tbl_sonde['boiler_3/4']]."\n";
echo ' boiler haut: '.$sonde[$tbl_sonde['boiler_4/4']]."\n";
echo ' salon:'.$sonde[$tbl_sonde['salon']]."\n";
echo ' test:'.$sonde[$tbl_sonde['test']]."\n";
?>
jslg78 a écrit:Bonjour,
Tu peux envoyer un mail si une sonde atteint un seuil... peu d'infos dans la doc...tu peux envoyer les données?
<?php
$to = 'admin@trash.com';
$subject = 'sondes ow server';
$message = ' salon:'.$sonde[$tbl_sonde['salon']]."\n exterieur :".$sonde[$tbl_sonde["exterieur"]]."\n";
//$message = ' salon:'.$sonde[$tbl_sonde['salon']]."\n";
$headers = 'From: webmaster@trash.com' . "\r\n" .'Reply-To: webmaster@trash.com' . "\r\n" .'X-Mailer: PHP/' . phpversion();
if ( mail($to, $subject, $message, $headers))
{
echo "message_envoye \n";
}
else
{
echo "message_non_envoye \n";
};
;
?>
Je viens de prendre le fil. J'ai une question a la con, si t'as un ds106, y avait il une raison pour ne pas installer owsf dessus ?
Retourner vers Matériel - Capteurs à base de 1-Wire
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité