Aller au contenu

Messages recommandés

Posté(e)

Ah Ludo, il me semblait bien avoir vu que tu as un Xee aussi. C'est bête on a oublié d'en parler hier, c'est passé trop vite :D

Je suis sur que vous n'avez pas oublier de boire des biéres ...... :77:

  • Upvote 2
Posté(e)

Hehe Pascal, bien sûr qu'on en a bu, j'avais toujours cette led maj qui clignoter du coup ..........

  • Upvote 1
Posté(e)

@tibahut, apparemment, il y a un bug dans l'Oauth du coté de chez Xee, cf cette discussion sur Google+ : https://plus.google.com/u/0/102331359334188074086/posts/U6zwmgp5tT8

Ah ok, merci Lazer :)

J'étais en train d'essayer PHP-OAuth2 pris sur Github mais sans succès non plus.

En effet, le refresh_token ne fonctionne pas. J'aurai dû contacter Xee avant mais j'ai pas mal de choses àgérer en dehors de la domotique.

La bonne nouvelle, c'est que quand Xee aura réparé le soucis, ça marchera direct et je pourrai faire des tests sur la fréquence des données récupérées.

Il faudrait aussi que je teste le retour de l'API Xee après l'authentification sur l'IP interne de la box. Mais tant que Xee n'autorisera pas le OAuth en mode password ou client ID, nous serons obligés de passer par un serveur tiers pour se loguer :/

Posté(e)

salut @tibahut et merci pour ce tuto!

Effectivement, j'ai un souci lors du lancement du php sur mon nas.

J'ai en retour une erreur:

cURL Error #:SSL certificate problem: unable to get local issuer certificate

et du coup, le VD ne fonctionne pas...

Posté(e)

mais de rien ;)

C'est parce que tu essaies d'accéder à  une ressource via HTTPS et que cURL ne peut pas vérifier le certificat. CF : https://curl.haxx.se/docs/sslcerts.html

Mon serveur mutualisé a dà» prévoir le coup :/

 

En test rapide pour savoir si c'est bien le soucis, tu peux mettre à  jour dans le code PHP (la dernière option a été ajoutée) et voir si cela fonctionne : 

curl_setopt_array(
$curl,
array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => $requestType,
CURLOPT_POSTFIELDS => $postFields,
CURLOPT_HTTPHEADER => $httpHeaders,
CURLOPT_SSL_VERIFYPEER => false
)
);

Si oui, alors, il faut ajouter un certificat comme mentionné dans ce commentaire : http://stackoverflow.com/a/16495053/4912312

et bien sà»r enlever la ligne du test rapide qui désactive l'utilisation de SSL.

Posté(e)

sympa la réponse si rapide  :13:

Alors oui, avec la maj du php, j'ai un retour dans mon navigateur.

J'ai testé alors le VD avec l'access token : rien, et avec le refresh token : m'affiche mon nom dans "voiture de".

Et dans le debug du vd:

 

[DEBUG] 14:45:33: Start process

[ERROR] 14:45:35: line 18: bad argument #1 to 'gsub' (string expected, got nil)
[DEBUG] 14:45:37: Start process
[ERROR] 14:45:38: line 88: bad argument #1 to 'ipairs' (table expected, got nil)
[DEBUG] 14:45:41: Start process
[ERROR] 14:45:43: line 88: bad argument #1 to 'ipairs' (table expected, got nil)
[DEBUG] 14:45:58: Start process
[ERROR] 14:46:00: line 88: bad argument #1 to 'ipairs' (table expected, got nil)
Posté(e)

Ok, on va débugger en MP et je mettrai les conclusions ici.

Sinon, j'ai fait des améliorations pour tenir compte du fait que le refresh_token ne marche pas en me connectant à ee àchaque fois.

Mais c'est un dirty fix donc je voudrais éviter de le présenter.

Posté(e)

Voici une version du VD et du script PHP pour forcer le login à  chaque connexion au webservice de Xee en attendant que tout fonctionne normalement.

En contrepartie il faut renseigner son login et mot de passe dans le script PHP et le client ID et le client secret dans le VD en plus du tutoriel de base.

 

Cette version est une version temporaire mais qui fonctionne.

 

Lignes à  modifier dans le PHP ainsi que le nom à  renommer en index.php :

 

define('XEE_API_CLIENT_ID', 'client ID');
define('XEE_API_CLIENT_SECRET', 'client secret');
define('XEE_API_REDIRECT_URI', 'http://host.com/path');
define('XEE_LOGIN', 'email de login');
define('XEE_PASSWORD', 'mot de passe');

 

Lignes à  modifier dans le VD :

 

local host         = 'host.com';
local path         = '/path';
local defaultToken = 'clientID:client secret';

XeeConnectForceLogin.vfib

indexForceLogin.php

Posté(e)

merci @tibahut

J'essaye en vain depuis hier soir mais impossible de le faire tourner...

avec le nouveau scirpt, j'ai une erreur d'accès un peu différente :

SSL certificate problem: unable to get local issuer certificate

tout en ayant remis dans le nouveau script:

CURLOPT_SSL_VERIFYPEER => false
Posté(e)

Je suppose que tu l'as remis dans la méthode sendRequest() mais dans le nouveau script j'ai patché vite fait la connexion au web service avec un cURL non factorisé.

Il faut donc aussi le mettre dans la méthode firstConnection() après la ligne "curl_setopt($ch, CURLOPT_POST, true);", ajouter la ligne curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);

 

Par contre, j'insiste bien sur le fait que c'est un problème de configuration de PHP et non du script et que ce fix désactive la connexion sécurisée lors de l'utilisation de cURL.

La résolution se fait comme suit : 

 

 

It's a pretty common problem in Windows. You need just to set cacert.pem to curl.cainfo.

Since PHP 5.3.7 you could do:

  1. download https://curl.haxx.se/ca/cacert.pem and save it somewhere.
  2. update php.ini -- add curl.cainfo = "PATH_TO/cacert.pem"

 

Il faut télécharger le certificat cacert.pem et le sauvegarder sur le NAS. Ensuite, modifier le php.ini pour donner le chemin du certificat à  cURL : curl.cainfo=c:\path\cacert.pem

Posté(e)

Suite aux tests avec Jorderic, j'ai constaté une coquille dans le script PHP avec un mauvais copier-coller de $ch au lieu de $curl.

J'en ai profité pour cleaner un peu le fichier PHP pour enlever le système de rafraichissement avec le token.

Le fichier PHP de mon post précédent a été remplacé.

 

J'ai également testé la mise en place du script PHP sur un NAS Qnap, à  la base pour aider Jorderic mais aussi pour, à  l'avenir, placer mes scripts directement sur mon NAS.

Je ne sais pas dans quelle mesure c'est compatible avec un autre NAS, mais je pense que la manière est la même.

 

Dans l'interface de mon "appli" sur Xee dev, j'ai ajouté dans Redirect uri mon adresse IP interne avec le numéro de port associé. (http://192.168.XXX.XXX:port)

Dans le script PHP, il faut écrire la même chose dans XEE_API_REDIRECT_URI afin que Xee nous autorise à  récupérer des infos.

Dans le VD, il faut compléter :

 

local host         = '192.168.XXX.XXX';
local path         = '';

 

Et remplacer ici 80 par votre numéro de port :

 

local function checkStatus()
  HC2 = Net.FHttp(host, 80);

 

Ceci est valable si vous utilisez un script hébergé chez vous. Sinon la méthode que j'ai décrite dans les posts précédents marche très bien sur un serveur web tiers.

 

Voici ce que cela donne pour la tension de la batterie au fil des jours, à  raison d'un enregistrement toutes les 15 minutes :

post-2186-0-94716900-1466454600_thumb.png

Posté(e)

Un grand merci àtibahut qui àforce de patience et de d'écoute, àréussi àme faire tourner ce petit boitier!

On arrive donc àrécupérer, grâce àla dernière version du script et du VD, les éléments et àles intégrer ànotre box (pour ma Volvo V40).

  • Upvote 1
  • 1 mois après...
Posté(e)

Yes, merci pour l'info :)

 

C'est vrai qu'entre le boulot, pokemon GO et autres je n'ai pas suivi les news de Xee.

Je vais être en vacances, ce sera l'occasion de tester tout ça !

  • 2 semaines après...
Posté(e)

Merci thbahut, dommage que l’authentification saute ;)

 

j'utilise Tasker et AutoNotification pour récupérer les divers informations en attendant que le bug soit résolut ;)

 

si quelqu'un veut jeter un coup d'oeuil c'est ici

http://domotique-home.fr/exploiter-les-donnees-xeeconnect-avec-tasker/

 

J'adapte la vocalisation selon différents scenarios vers SARAH, PAW et Karotz ;)

  • 1 mois après...
Posté(e)

salut

 

Ou en est le vd et script ?

 

faut il avoir un serveur web ouvert de l'extérieur ?  donc fichier ouvert ?

 

ou stocker le script de l'extérieur ?

 

merciiii  ((im envoyer a tibahut))

 

V2  =    

 

j'ai une erreur line 75 ::: doctor---adresse du patch?

 

la redirection url : ip/web/Script/xee   ou   ip/web/xee/index.php ?

Posté(e)

Bon... plusieurs essayé sur Jeedom , hc2 en script php sur server. ERREUR 404

Lors de la demande authentification du script sur les serveurs xeeconnect.

Demande d'aide au support Xee : support@xee.com ---> a l'attention de Mr julien Leconte ( vu le message, très gentil )

Réponse amicale : Support Xee (Support Xee)

26 oct. 17:05 CEST

Bonjour M. Reseau

Je me présente, Julien, Customer Happiness Officer chez Xee, en charge de la qualité produit et également utilisateur Jeedom àtitre personnel :)

Je vais essayer de comprendre votre soucis car, j'ai rencontré la même erreur cette semaine avec le plugin XeeCloud et Jeedom. Ce plugin n'étant pas développé chez nous, je ne peux pas m'assurer qu'il s'agit du même problème que le mien.

J'ai par ailleurs posté ma problématique dans le forum mais n'ai pas reçu de réponse. Toutefois, j'ai réussi àle faire fonctionner entre temps. Le lien vers le forum àtitre d'info : https://www.jeedom.com/forum/viewtopic.php?f=28&t=11248&p=388197

J'ai constaté qu'en passant par la redirection DNS de Jeedom, j'avais d'énorme soucis (et pas qu'avec ce plugin) en recevant des erreurs 500 et, quand j'arrivais finalement àla passer, des erreurs 404 sur la page Xee.

J'ai donc modifié la config Jeedom pour écouter également le port http "82", que j'ai pu rediriger dans ma box Internet. De ce fait, j'utilise désormais un autre DNS (celui de mon NAS Synology) pour accéder àma Jeedom.

Sous Jeedom dans le paramétrage réseau externe, j'ai entré mon nouveau domaine HTTP : MaBox.Synology.me port 82

J'ai ensuite récupéré le lien de redirection du plugin Xeecloud, àfournir dans l'espace Dev type : http://Mabox.synology.me:82/plugins/XeeCloud/3rdparty/oauth.php

J'ai ensuite recréé une app sur l'espace Dev.Xee.com en y entrant ce lien et rentré de nouveau mes clés dans le plugin.

Ensuite cela fonctionne comme avant. Je viens de le refaire àl'instant et, la première fois j'ai récupéré une 404 (peut être une mauvaise manip de ma part). La seconde fois c'est passé, j'ai pu ajouter mon véhicule ainsi que le second dans la foulée sans soucis.

Je ne sais pas si ces recommandations vous permettrons de trouver la solution, mais si vous passez par les DNS Jeedom, c'est peut être làque ce situe le problème.

N'hésitez pas àme remonter les informations

Cordialement,

Julien Leconte

Plus on sera plusieurs mieux serait ce ! Nico

Posté(e)

A savoir une : je suis en Jeedom docker syno donc une mon port est déjàrediriger autre que 80. ET je suis en Basic Jeedom donc pas de DNS jeedom.

De deux : meme problème avec script php ,,, mais la je crois , Pas de port direct puisque c'est le php qui fait la liaison interne.???! 'Tibahut'.

AVIS pour retour . Brrrrr

Posté(e)

Mon envoie.

On est plusieurs àne pas réussir àLE connectée se boîtier.

Pour vous répondre : c'est a la fin , sur l'authentification sur le serveur Xee que 404.

Jeedom--> je suis sur docker syno, mon port est déjàredirectionner autre que '80'.

Deux : je suis en Jeedom Basic donc Pas de DNS Jeedom (exclu en basic) mais j'ai une freebox ET j'ai un DNS interne.

Sur Fibaro : j'ai dépose un script sur server php, et apparemment pas de redirection de port a faire.

Si vous voulez POUR un échange cordiale plus sympa, joignez vous au forum, les retours de chacun sont très utile .

Moi c'est philippe, Pas Mr reseau de l'email lol.

Nos échanges seront plus rapide et vos ventes aussi lololol que d'argument Hihihi.

Posté(e)

J'avoue que je n'ai pas tout compris : VD, Jeedom ?...

 

Pour ce qui concerne Jeedom et Xee : il existe un pluging non officiel "Xeecloud"

Mais un plugin officiel est en approche, voir info ICI

Posté(e)

Merci magin.

Le plugin je l'ai (Pas si naze) . Mais impossible de le relier a Xee est mon problème justement. Avec Jeedom ou script sur server php de Tibahut.... je ne remets pas en cause le plugin mais sûrement la façon de se connectée sur API Xee.

×
×
  • Créer...