Lecture fichier sensors.xml

Tout sur la Zibase, son utilisation, les modules qui sont compatibles, les problèmes rencontrés et les solutions testées.

Lecture fichier sensors.xml

Messagede pp30 » 04 Oct 2010, 22:57

Bonsoir,
Je peux afficher la page
http://IP_ZIBASE_SUR_RESEAU_LOCAL/sensors.xml
dans un navigateur web.

Mais impossible de le lire en PHP (idem en Perl) pour pouvoir le travailler.

<?php
$ZUrl = "http://192.168.1.201/sensors.xml";
echo "<br />$ZUrl";
$Zfile = fopen("$ZUrl", "r");
if (!$Zfile) {
echo "<br />Impossible d'ouvrir le fichier distant.\n";
exit;
} else {
echo "<br />Ouverture du fichier distant.\n";
}
?>

Rencontrez-vous le même problème ?
Merci pour vos réponses.
pp30
P'tit Guru de domotique
 
Messages: 71
Inscription: 04 Sep 2010, 23:40

Publicité

La publicité est nécessaire car elle permet de pérenniser ce site, son hébergement, ses contributions ... Vous pouvez aussi faire un don pour le soutenir (cliquez sur ce texte). Pensez aux revues que vous économisez en lisant régulièrement Touteladomotique.com ...

Publicité
 

Re: Lecture fichier sensors.xml

Messagede DaRkYoda » 09 Oct 2010, 20:29

pp30 a écrit:Bonsoir,
Je peux afficher la page
http://IP_ZIBASE_SUR_RESEAU_LOCAL/sensors.xml
dans un navigateur web.

Mais impossible de le lire en PHP (idem en Perl) pour pouvoir le travailler.


Effectivement, il manque des entĂŞtes au fichier xml, du coup le file_get_contents ne sait pas comment le charger...

Zodianet est en train de corriger le problème, ça devrait être OK dans une prochaine version...
-
Ma boutique de produits domotique : http://www.planete-domotique.com

Chez moi : RFXCom - Météo WMR928 Oregon - GR101 - X10
Zwave - Téléinfo EDF - Freebox HD
ROOMBA 560 - Box eeDomus
Avatar de l’utilisateur
DaRkYoda
Dieu de domotique
 
Messages: 1244
Inscription: 22 Déc 2006, 18:15
Localisation: Clermont-Fd

Messagede Lurem » 10 Oct 2010, 17:23

Si cela peut vous rendre service, j'arrive en PHP a lire le fichier au niveau socket avec le script suivant :
(ne pas oublier de remplacer l'adresse IP=192.168.0.22 par l'IP adresse de votre zibase :wink:

<?php
$fp = fsockopen('192.168.0.22', 80);
stream_set_blocking($fp, TRUE) ;
fputs($fp, "GET /sensors.xml HTTP/1.1\r\n") ;
fputs($fp, "Referer: http://192.168.0.22/\r\n") ;
fputs($fp, "Connection: keep-alive\r\n") ;
fputs($fp, "\r\n") ;
while (false !== ($char = fgetc($fp))) {
echo "$char\n";
}
?>
Serveur : Zibase de Zodianet
Détecteurs : EMB WD18(Eau), DS18E(Alarme)- Chacon 5481(porte),4x54503(Mouvements)
Actionneurs : Chacon 4x CH54785(Prise)- Xdom TM13(Prise),LM15(Lampe),LW10G(Int,Var)
Télécommandes : Chacon et Xdom KR22E
Sondes : Oregon 3xTHR228(Température, THWR800(Piscine), WGR800(Vent), OWL CM119(Electricité)
Lapin Nabaztag + Zstamps
Avatar de l’utilisateur
Lurem
Membre Actif
 
Messages: 36
Inscription: 14 AoĂ» 2010, 07:33
Localisation: Paris

Messagede pp30 » 15 Oct 2010, 10:15

Bonjour,
Désolé, cela ne marche pas pour moi.
En effet, vous utilisez le port 80 (port HTTP classique sur un serveur web) de la Zibase pour y accéder. C'est le port que j'utilise pour mon serveur domotique (j'utilise aussi d'autres ports 8080 pour le serveur de secours, 8081...8088 pour les ports des caméras vidéo).
Je n'utilise la Zibase que pour récupérer les données des sondes, je préfère utiliser le programme (php avant tout) pour contrôler toute ma domotique par web et wap (car il génère automatiquement les pages dès que je modifie un module).
Donc, il faudrait que je puisse configurer le port de la Zibase, ce qui est impossible.
pp30
P'tit Guru de domotique
 
Messages: 71
Inscription: 04 Sep 2010, 23:40

Messagede DaRkYoda » 15 Oct 2010, 10:25

pp30 a écrit:Bonjour,
Désolé, cela ne marche pas pour moi.
En effet, vous utilisez le port 80 (port HTTP classique sur un serveur web) de la Zibase pour y accéder. C'est le port que j'utilise pour mon serveur domotique (j'utilise aussi d'autres ports 8080 pour le serveur de secours, 8081...8088 pour les ports des caméras vidéo).
Je n'utilise la Zibase que pour récupérer les données des sondes, je préfère utiliser le programme (php avant tout) pour contrôler toute ma domotique par web et wap (car il génère automatiquement les pages dès que je modifie un module).
Donc, il faudrait que je puisse configurer le port de la Zibase, ce qui est impossible.


Bonjour,

Je ne comprends pas ton problème ? La Zibase et ton serveur domotique ne sont pas identique, donc même si c'est le port 80 sur les deux, ça ne sera pas la même adresse IP ?

Dans ton routeur ensuite (freebox par exemple), tu peux très bien rediriger le port 80 vers le port 80 de ton serveur domotique et le port 90 vers le port 80 de la Zibase ?

Dans tous les cas, il ne sera bientôt plus nécessaire de faire une lecture "brute" du fichier sensor.xml, Zodianet a ajouté l'entête qui va bien au fichier et le prochain firmware permet donc d'ouvrir le fichier xml comme n'importe quel fichier en php : file_get_contents ...

A+
-
Ma boutique de produits domotique : http://www.planete-domotique.com

Chez moi : RFXCom - Météo WMR928 Oregon - GR101 - X10
Zwave - Téléinfo EDF - Freebox HD
ROOMBA 560 - Box eeDomus
Avatar de l’utilisateur
DaRkYoda
Dieu de domotique
 
Messages: 1244
Inscription: 22 Déc 2006, 18:15
Localisation: Clermont-Fd

Messagede cedriclocqueneux » 15 Oct 2010, 18:22

Pour info, il y a une mise Ă  jour de la Zibase dispo depuis aujourd'hui pour corriger justement le fichier sensors.xml. A tester !
Avatar de l’utilisateur
cedriclocqueneux
Dieu de domotique
 
Messages: 1494
Inscription: 02 Jan 2007, 22:18
Localisation: Chaon (Loire et Cher)

Messagede pp30 » 15 Oct 2010, 22:28

Bonsoir,
Avec la mise à jour, je peux accéder au fichier.
MAIS, celui-ci ne respecte pas le standard XML:

<?xml version="1.0" encoding="iso-8859-1" ?>
- <doc zb="ZiBASE00076f">
<x10tab>0000000000000000000000000000000000000000000000000000000000000000</x10tab>
<idx>4</idx>
- <evs>
<ev type="7" pro="OS" id="439160066" gmt="1287171698" v1="201" v2="56" />
</evs>
</doc>

Le caractère - avant <doc zb...> et <evs> ne doit pas exister dans un fichier xml.

Cordialement.
pp30
P'tit Guru de domotique
 
Messages: 71
Inscription: 04 Sep 2010, 23:40

Messagede pp30 » 15 Oct 2010, 22:36

Réponse à DaRkYoda:
Le problème n'est pas d'accéder en HTTP (à distance) à la Zibase, mais de traiter le fichier sensors.xml de la Zibase, par un programme en php (à partir du serveur domotique) qui est sur le même réseau local. Donc, il n'y a aucune modification à réaliser concernant la redirection des ports. De plus, ouvrir des ports au niveau du routeur n'est pas très sécurisé.
Avec le nouveau firmware, je peux accéder au fichier sensors.xml de la Zibase (y compris à distance) sans aucune modification dans le routeur, MAIS ce fichier XML ne répond pas au standard.
Bonne soirée.
pp30
P'tit Guru de domotique
 
Messages: 71
Inscription: 04 Sep 2010, 23:40

Messagede DaRkYoda » 15 Oct 2010, 23:24

pp30 a écrit:Réponse à DaRkYoda:
Le problème n'est pas d'accéder en HTTP (à distance) à la Zibase, mais de traiter le fichier sensors.xml de la Zibase, par un programme en php (à partir du serveur domotique) qui est sur le même réseau local. Donc, il n'y a aucune modification à réaliser concernant la redirection des ports. De plus, ouvrir des ports au niveau du routeur n'est pas très sécurisé.
Avec le nouveau firmware, je peux accéder au fichier sensors.xml de la Zibase (y compris à distance) sans aucune modification dans le routeur, MAIS ce fichier XML ne répond pas au standard.
Bonne soirée.


Bon, ben je n'ai toujours pas compris ce que tu voulais dire dans ton précédent post alors...

Concernant le - devant <doc>, c'est Firefox qui l'ajoute pour pouvoir plier ou déplier les différents nœud. Si tu fais "afficher la source", tu verras bien un xml conforme a la spec, je l'utilise d'ailleurs en PHP avec simplexml_load_string...


Code: Tout sélectionner
$xml_file = file_get_contents("sensors.xml");
$xml = simplexml_load_string($xml_file);


A+
-
Ma boutique de produits domotique : http://www.planete-domotique.com

Chez moi : RFXCom - Météo WMR928 Oregon - GR101 - X10
Zwave - Téléinfo EDF - Freebox HD
ROOMBA 560 - Box eeDomus
Avatar de l’utilisateur
DaRkYoda
Dieu de domotique
 
Messages: 1244
Inscription: 22 Déc 2006, 18:15
Localisation: Clermont-Fd


Retourner vers Solution - La box Zibase de Zodianet

Qui est en ligne

Utilisateurs parcourant ce forum: benjynet, Google Adsense [Bot], Steph44 et 12 invités

Copyright © 2011 - Touteladomotique.com - Tous droits réservés.