[***] Zibase relevé des sondes (nouvelle version inside )

Comment interfacer la Zibase avec Homeseer ? Comment programmer votre Zibase avec un script ? Comment capturer les informations de la Zibase ...

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede patmtp35 » 02 Juin 2013, 20:02

c'est depuis qu'ils ont remplacer leur serveur le 29/05 : ma page http://zibase.net/m/flexPc.php renvoi KO...............

dans le ficher de config il faudrait je pensse remplacer cette ligne :

$client_config['zibase']['host'] = 'http://zibase.net/m/flexPc.php'; // Url a parser


quelqu'un a t il une idee ?
Zibase Pro + Chacon + XDD + Oregon + CM119 +Z-Wave
Imperihome => asus ME103K + Cdisplay YAste
4 Foscam => Videostation
RPI => Teleinfo
RPI => RASPBMC
RPI => OPENELEC
RPI => SQUEEZEPLAYER
Proliant N54l => Esxi 5.5 + Xpenology DSM4.3 => (WEB + PHPMYADMIN + Videostation) + 2008R2 => (Supervision => WSUS) + Xpenology DSM5.0 (Multimedia) + JEEDOM VM
NAS Thecus N0503 => Sauvegarde
patmtp35
Dieu de domotique
 
Messages: 465
Inscription: 19 Mar 2012, 21:43

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede xoubir » 02 Juin 2013, 21:56

Bonjour,

Pour ceux qui ont des soucis avec l'API, nous avons remarqué que (depuis quelques jours probablement), l'API de la plateforme zibase.net renvoie un xml invalide quand on appelle le get_xml_sensors.php. En effet, il y a 3 octets invalides avant le tag "<?xml". C'est pour cela que certains parseurs xml échouent (y compris celui utilisé par ImperiHome actuellement).

illustration avec la zibase de demo :
Code: Tout sélectionner
$ curl --silent 'http://zibase.net/m/get_xml_sensors.php?device=ZiBASE0000cc&token=1821ffcf5a&time=1370205187' | head -c 50 | hexdump -C
00000000  ef bb bf 3c 3f 78 6d 6c  20 76 65 72 73 69 6f 6e  |...<?xml version|
00000010  3d 22 31 2e 30 22 20 65  6e 63 6f 64 69 6e 67 3d  |="1.0" encoding=|
00000020  22 55 54 46 2d 38 22 3f  3e 3c 64 6f 63 20 74 65  |"UTF-8"?><doc te|
00000030  78 74                                             |xt|


il y a 3 octets "eb bb bf" avant le <?xml, qui ne devraient pas ĂŞtre lĂ  :)
Par contre quand on appelle le sensors.xml en local directement sur la zibase, le problème n’apparaît pas.
Nous venons de remonter le problème à Zodianet, généralement ils sont très réactifs donc espérons un correctif rapide :)

A+

Thibault.
ImperiHome - Smart Home control for Android : http://www.imperihome.com
Avatar de l’utilisateur
xoubir
P'tit Dieu de domotique
 
Messages: 184
Inscription: 22 Jan 2009, 20:04

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede flimo » 02 Juin 2013, 22:04

Effectivement , il y 3 caractères en trop ;)

Une fois viré ça remarche comme en 14

Dans NK1.zibase.class.php suffit de remplace la fin du fichier par ces lignes de code !!!
Je pense qu'on peut faire plus court :( mais pour moi ça marche et c'est le principale :D


//echo curl_exec($ch);
$xml = array();
$xml=curl_exec($ch);
$xml1=explode("\n",$xml);
unset($xml1[0]);
$xml2=implode("\n",$xml1);
$xml3 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"."\r".$xml2;
//execute post
$this->xmlEtat = $xml3;
//close connection
curl_close($ch);


public function getXmlEtat()
{
$fields = array(
'password'=>urlencode($this->password),
'ip_lan'=>urlencode($this->ip),
'login'=>urlencode($this->login),
'timeUnix'=>urlencode(0)
);

//url-ify the data for the POST
$fields_string = '';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$this->host);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
//echo curl_exec($ch);
$xml = array();
$xml=curl_exec($ch);
$xml1=explode("\n",$xml);
unset($xml1[0]);
$xml2=implode("\n",$xml1);
$xml3 = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"."\r".$xml2;
//execute post
$this->xmlEtat = $xml3;
//close connection
curl_close($ch);

}

Sauvegardez l'ancienne version et la remplacer par celle-ci : https://docs.google.com/file/d/0Bxv1NhdgtsEjN1Q1S0pfUEMtbVk/edit?usp=sharing
Dernière édition par flimo le 03 Juin 2013, 16:56, édité 3 fois.
flimo
Membre un peu timide !
 
Messages: 7
Inscription: 10 Oct 2012, 20:45

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede xiboard » 03 Juin 2013, 07:53

Bon voilà la réponse alors !

Moi je vais voir Ă  attendre la correction de zodianet, quoique...

Sinon j'aime bien comprendre, pourquoi on va effectivement parser l'url "http://zibase.net/m/flexPc.php" qui n'est indiquée nulle par dans la zapi ??

Ce ne serai pas plus simple de passer par http://zibase.net/m/get_xml_sensors.php ... oken=XXXXX
et par la mĂŞme occas passer par le device et token plutĂ´t que par login et mdp ?
ou alors flexPc renvoie plus d'infos ? Moi en direct dans un navigateur j'arrive pas à faire fonctionner flexPc, ça renvoie tjr KO effectivement, mais j'ai pas essayer avant.

De plus j'arrive pas bien Ă  comprendre le getXmlEtat :
c'est quoi et oĂą est la fonction urlencode ?

Que de questions !
A bientĂ´t !
xiboard
P'tit Guru de domotique
 
Messages: 78
Inscription: 27 Nov 2012, 00:36

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede xiboard » 03 Juin 2013, 13:40

Bon j'en avais marre t'attendre et de ne pas voir ses belles temperatures enregistrés !!

Merci flimo pour la modif ça marche impec juste le remplacement de la fct getXmlEtat...
merci Zodianet !
xiboard
P'tit Guru de domotique
 
Messages: 78
Inscription: 27 Nov 2012, 00:36

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede flimo » 03 Juin 2013, 14:55

xiboard a écrit:Bon j'en avais marre t'attendre et de ne pas voir ses belles temperatures enregistrés !!

Merci flimo pour la modif ça marche impec juste le remplacement de la fct getXmlEtat...
merci Zodianet !


De rien , Et ça devrait même fonctionner une fois le bug ( Zodianet ) corrigé :D
flimo
Membre un peu timide !
 
Messages: 7
Inscription: 10 Oct 2012, 20:45

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede Bonson » 03 Juin 2013, 15:05

Tu penses que ça refonctionnera sans rien faire soi-même une fois que Zodianet aura corrigé le bug ?
Si je peux éviter d'aller mettre mes doigts dans le php, ça m'arrange :mrgreen:
Bonson
P'tit Dieu de domotique
 
Messages: 163
Inscription: 04 Oct 2012, 21:38

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede patmtp35 » 03 Juin 2013, 15:33

Ça marche nickel merci

Envoyé depuis mon Cink King avec Tapatalk
Zibase Pro + Chacon + XDD + Oregon + CM119 +Z-Wave
Imperihome => asus ME103K + Cdisplay YAste
4 Foscam => Videostation
RPI => Teleinfo
RPI => RASPBMC
RPI => OPENELEC
RPI => SQUEEZEPLAYER
Proliant N54l => Esxi 5.5 + Xpenology DSM4.3 => (WEB + PHPMYADMIN + Videostation) + 2008R2 => (Supervision => WSUS) + Xpenology DSM5.0 (Multimedia) + JEEDOM VM
NAS Thecus N0503 => Sauvegarde
patmtp35
Dieu de domotique
 
Messages: 465
Inscription: 19 Mar 2012, 21:43

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede flimo » 03 Juin 2013, 15:54

Bonson a écrit:Tu penses que ça refonctionnera sans rien faire soi-même une fois que Zodianet aura corrigé le bug ?
Si je peux éviter d'aller mettre mes doigts dans le php, ça m'arrange :mrgreen:


Oui , mais quand ? ce patch fonctionnera aussi une fois le bug corrigé .

Ce patch ne fait que refaire la première ligne renvoyée contenant l'entête <Xml ... en supprimant les 3 caractères parasites

https://docs.google.com/file/d/0Bxv1NhdgtsEjN1Q1S0pfUEMtbVk/edit?usp=sharing
flimo
Membre un peu timide !
 
Messages: 7
Inscription: 10 Oct 2012, 20:45

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede Bonson » 03 Juin 2013, 20:47

Royal, tu nous mâches le boulot ! :D
Ça marche Impec !
Bonson
P'tit Dieu de domotique
 
Messages: 163
Inscription: 04 Oct 2012, 21:38

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede lolvince » 05 Juin 2013, 13:48

Bonjour,

j'ai bien lu entièrement ce topic, mais ... Est-ce normal de n'avoir aucun retour (page entièrement blanche) au lancement de "saveSondesValues.php" ?
voila donc coment j'ai procédé :
1)j'ai récupéré le fichier www.zip et j'ai donc créer une bdd avec le fichier fourni dans le dossier "db".
2)j'ai bien remplie le fichier de config,et je pointe sur mon XML en local (http://192.168.0.253/sensors.xml) car apparemment il ne faut plus pointer sur "http://zibase.net/m/flexPc.php".
3)j'ai plusieurs sondes de température orégon, avec des espaces dans les noms pour certaines.
4) quand je lance la page "/saveSondesValues.php" j’obtiens une page blanche sans aucun messages

en faite je en rentre pas dans la boucle foreach($zibase->sondes as $sonde) car pour lui il n'y en as pas ...

y a t'il quelque chose que j'aurai loupé ?

merci de vos réponses ;)
lolvince
Membre Actif
 
Messages: 21
Inscription: 25 Mar 2013, 14:31

Re: [***] Zibase relevé des sondes (nouvelle version inside

Messagede ZygOm4t1k » 09 Juin 2013, 08:41

j'utilise toujours http://zibase.net/m/flexPc.php pour le parsage. Fais les modifs expliquées 2 posts plus haut.

Il ne faut pas d'espace dans le nom des sondes.
ZygOm4t1k
Dieu de domotique
 
Messages: 233
Inscription: 25 AoĂ» 2012, 18:40

PrécédenteSuivante

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique