Forum eedomus http://forum.eedomus.fr/ |
|
EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER v2 http://forum.eedomus.fr/viewtopic.php?f=17&t=985 |
Page 1 sur 1 |
Auteur: | sle49 [ 05 Avr 2013 20:46 ] |
Sujet du message: | EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER v2 |
Bonjour, J'aimerais savoir si quelqu'un a déja utilisé ce serveur 1-wire avec l'eedomus. les températures sont accessible via le réseau local sur un fichier xml. exemple avec un seule sonde de température: -<Devices-Detail-Response><PollCount>84554</PollCount><DevicesConnected>1</DevicesConnected><LoopTime>1.037</LoopTime><DevicesConnectedChannel1>1</DevicesConnectedChannel1><DevicesConnectedChannel2>0</DevicesConnectedChannel2><DevicesConnectedChannel3>0</DevicesConnectedChannel3><DataErrorsChannel1>0</DataErrorsChannel1><DataErrorsChannel2>0</DataErrorsChannel2><DataErrorsChannel3>0</DataErrorsChannel3><VoltageChannel1>4.71</VoltageChannel1><VoltageChannel2>4.72</VoltageChannel2><VoltageChannel3>4.71</VoltageChannel3><VoltagePower>4.95</VoltagePower><DeviceName>OWServer_v2-Enet</DeviceName><HostName>EDSOWSERVER2</HostName><MACAddress>00:04:A3:B1:F3:28</MACAddress><owd_DS18B20 Description="Programmable resolution thermometer"><Name>DS18B20</Name><Family>28</Family><ROMId>A5000004664A9328</ROMId><Health>7</Health><Channel>1</Channel><RawData>06014B467FFF0A10CCFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</RawData><PrimaryValue>16.3750 Deg C</PrimaryValue><Temperature Units="Centigrade">16.3750</Temperature><UserByte1 Writable="True">75</UserByte1><UserByte2 Writable="True">70</UserByte2><Resolution>12</Resolution><PowerSource>255</PowerSource></owd_DS18B20></Devices-Detail-Response> Par contre je n'arrive pas a récuperer les valeurs dans l'eedomus en utilisant un capteur http et le chemin xpath. j'ai essaye plusieurs chemin xpath mais a chaque fois : j'ai une erreur et pas la valeur. Merci d'avance |
Auteur: | domotics [ 14 Avr 2013 22:40 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
Bonsoir, Ca doit fonctionner ... Quel XPatch as tu essayé ? A+ Domotics |
Auteur: | sle49 [ 15 Avr 2013 20:54 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
J'ai essaye avec /Devices-Detail-Response/owd_DS18B20/PrimaryValue pour la temperature mais l'eedomus me renvoit valeur lue vide. j'avais essaye d'afficher d'autres valeurs sans succes. Chemin xpath recupere avec google chrome.test de validation sur site documentation eedomus en echec( valeur vide a chaque fois) |
Auteur: | sle49 [ 12 Mai 2013 21:35 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
Bonsoir, après quelques recherches, voici la solution si cela interesse quelqu'un: le fichier XML généré n'a pas l'air compatible, surtout : toutes les temperatures ont le meme chemin xpath!!. le principe est de re-generer un nouveau fichier XML avec les valeurs de temperatures.Dans l'interface du serveur OW-SERVER v2 ( menu POST Client Configuration): on indique le fichier PHP a lancer toutes les 60 secondes pour generer le nouveau fichier XML. voici mon fichier PHP: <?php $tbl_sonde=array ( 'sonde_1' => '2D000003EA184628', 'sonde_2' => '7A000003EA4DDE28', 'sonde_3' => 'C1000004666EA128' ); $fichier = 'http://192.168.1.200/details.xml'; //script de Rno: extrait les températures d'un fichier xml et crée un tableau //sources : http://www.touteladomotique.com/forum/v ... b&start=12 $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]=round($L1valeur,2); } } } error_reporting(0); //evite l'affichage erreur si id incorrect // echo ' sonde_1: '.$sonde[$tbl_sonde['sonde_1']]."<BR>"; // echo ' sonde_2: '.$sonde[$tbl_sonde['sonde_2']]."<BR>"; // echo ' sonde_3: '.$sonde[$tbl_sonde['sonde_3']]."<BR>"; // source pour la creation du xml : http://www.formatix.eu/domdocument-crea ... r-xml.html // Get an instance of Domdocument $doc = new DOMDocument(); // specify the version and encoding $doc->version = '1.0'; $doc->encoding = 'ISO-8859-1'; // Create a comment $comment_elt = $doc->createComment('Generated by sle49 '); // Put this comment at the Root of the XML doc $doc->appendChild($comment_elt); // Create an Empty element 'temperatures' $note_elt = $doc->createElement('temperatures'); // Put the 'temperatures' element at the Root of the XML doc (just after the comment) $doc->appendChild($note_elt); // Create elements $temperature1 = $doc->createElement('temperature1', $sonde[$tbl_sonde['sonde_1']]); $temperature2 = $doc->createElement('temperature2', $sonde[$tbl_sonde['sonde_2']]); $temperature3 = $doc->createElement('temperature3', $sonde[$tbl_sonde['sonde_3']]); $heure_insert = $doc->createElement('heure',date("H:i:s")); // Specify that thos newly created elements are 'note' children $note_elt->appendChild($temperature1); $note_elt->appendChild($temperature2); $note_elt->appendChild($temperature3); $note_elt->appendChild($heure_insert); // Beautify $doc->formatOutput = true; // Display the XML content we just created echo $doc->saveXML(); // Save this to simple_eng.xml $doc->save('temperatures.xml'); ?> Voici le fichier XML generé: <?xml version="1.0" encoding="ISO-8859-1"?> <!--Generated by sle49 --> -<temperatures> <temperature1>15.25</temperature1> <temperature2>20.31</temperature2> <temperature3>20.06</temperature3> <heure>22:33:44</heure> </temperatures> donc facilement utilisable dans l'eedomus. Bonne soirée |
Auteur: | yaprev [ 23 Mars 2015 22:11 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
Bonjour. il y a plus simple. c'est decrit sur le forum URL de la requête http://adresseipdetonserverow/details.xml Chemin XPath : //*[local-name() = 'Temperature'] pour contourner le namespace par défaut. et (//*[local-name() = 'Temperature'])[2] pour le second élément nommé Temperature profites en pour choisir type de données: nombre décimal et unité : °C je te conseille aussi de creer une autre requête pour identifier les sondes: quand tu as la syntaxe, c'est rapide: Chemin XPath : //*[local-name() = 'ROMId'] Resultat affiché Sonde T° owserver 23.5 ° C depuis 50 sec c cool ! yann |
Auteur: | schizo [ 26 Avr 2015 07:20 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
Bonjour à vous, Je viens du monde Vera et j'avoue que je suis un peu perdu depuis une semaine devant la eedomus+ J'ai un Serveur one wire sur lequel je voudrais bien récupérer mes sondes. Je n'arrive pas en suivant le tuto décris plus haut. Un petit coup de pouce serait apprécié. Merci par avance. |
Auteur: | schizo [ 26 Avr 2015 08:03 ] |
Sujet du message: | Re: EMBEDDED DATA SYSTEM - Serveur Ethernet 1-Wire OW-SERVER |
Je viens de trouver une solution simple: http://IP-Server-One-Wire/gettag.csv?ro ... re&title=0 Le résultat renvoyé est de la forme:
Bonne journée |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |