IPX800v4 M2M - Commandes OK - Retour KO

Bonjour,

j’ai reçu mon IPX800v4 et mon X-4VR aujourd’hui.

Le temps de tout décâbler (ma v3) et câbler la v4, il était temps de faire quelques tests.
Sans surprise, le X-4VR fonctionne à merveille en mode BP seul (mode 5)

Là, où je rencontre un problème, c’est pour les commandes M2M depuis ma veralite.
Les commandes fonctionnent très bien mais les demandes d’état ne fonctionnent pas du tout.

J’ai testé Get=R par exple, la commande est acceptée par l’IPX800v4 (pas de « Bad Command ») mais il n’y a pas de données dans le retour.
J’ai essayé avec et sans en-tête, même résultat.

Quelqu’un rencontre-t-il le même souci?
Pour finir, le document API ne donne pas la commande pour piloter les volets du X-4VR. Une idée?

*** EDIT ***
Un problème sur la commande M2M : SetC01=XXX
Quand je mets SetC01=250, il tronque le premier chiffre. Donc il y a 50 dans le compteur 1 au lieu de 250.
Si je mets 0250, il met bien 250 dans le compteur 1.
Par contre, il doit y avoir une limitation dans la valeur que l’on peut avoir au compteur car si je fais SetC01=9999, l’IPX m’afiche 231…
Bref, il y a un truc bizarre dans les commandes M2M vers compteur…
*** /EDIT ***

Bonjour Fatal25,
as tu téléchargé le doc de API V4
sur le site commercial rubrique téléchargement mise à jour et docs V4
il y a tout les API possible avec la V4
tu dois également activé sur la V4 le M2M avec ou sans pass
tout cela est expliqué dans l’API de la docs
cdt

Bonjour Didierm.

Oui j’ai suivi les instructions. Le M2M est bien activé puisque j’arrive à passer des commandes.
Ce sont les lectures qui ne fonctionnent pas chez moi. La commande est bien OK puisque l’IPX ne me retourne pas un BadCommand mais il n’y a rien dans la réponse. Vide.

Une idée?

Je n’ai pas de box vera mais une eedomus. Regarde sur mon post Mon projet V4/EEdomus pour piscine/eclairage et portails - #17 par henri66 si la facon dont je recupere les retours d’etat ne t’aide pas.
Je pense que tu recupere la mauvaise valeur a cause du decalage entre les relais et les retour d’etat.
Passe par http://adresse_IP_de_ta_V4/admin/status.xml pour bien verifier l’etat que tu veux remonter dans le log avant d’aller le chercher avec ta box.
J’y ai passé quelques heures avant d’avoir bien tout compris…

Merci henri66 mais je souhaite utiliser uniquement le M2M dans un souci de fiabilité et de rapidité d’action.

Je ne sais pas ce qu’est le M2M.
Mais ce que je lis à travers ton expérience c’est que tu vas peut être chercher le mauvais etat à cause du décalage entre les commandes et les retours d’état.

Bonjour,

Il n’y a aucun retour d’état lorsque la commande est effectuée sans authentification préalable (key=apikey). En effet, dans ce cas la commande n’est pas traitée du tout. L’authentification est effective pour l’ensemble de la connexion. S’il y a déconnexion puis reconnexion (même quasi instantané) il faut de nouveau renseigner la « key ».

Comment pilotez vous votre API M2M ? Via quel produit/logiciel ?

Pour le pilotage des compteurs, il y a en effet une petite erreur qui sera corrigée dans la prochaine MAJ.

Même lorsqu’on souhaite modifier un compteur directement il est nécessaire d’ajouter un caractère quelconque (en guise d’opérateur). Dans la prochaine MAJ, il n’y aura plus besoin de ce caractère.

Pour ce qui est de la valeur de modification des compteurs, l’API indique bien que cette dernière est limitée à 255.

Merci Maxime pour ton retour.

La documentation ne précise pas que les retours en M2M ne fonctionnent pas sans apikey, je ne pouvais pas trouver. Je vais tester ça ce soir.
Pour ce qui est des compteurs, j’ai du bol que mon chauffe eau fasse 250 litres sinon je ne pourrais pas vérifier l’ECS qu’il reste dans mon chauffe eau. Ce serait pas mal de monter cette valeur à 500 voire 1000 si c’est possible. (pour d’autres utilisations)

Je pilotais ma v3 depuis ma Veralite et je fais la même chose avec la v4. Je chope le volume de mon chauffe eau restant pour le mettre dans mon plugin de gestion EDF Tempo et je l’affiche sur iPad & iPhone.

Pour résumer, je vais appeler l’apikey directement dans ma fonction M2M créée dans la veralite et comme ça, elle sera renseignée à chaque fois.

Merci je vous redis.

Je viens de passer ma soirée (ma nuit?) à essayer de faire marcher les retours d’état de l’IPX tels que « Get=C » en M2M… rien à faire… pas moyen

Bizarrement, si je passe une commande json avec un Get=C et sans apikey, ça marche très bien.
Commande json qui fonctionne : http://192.168.xxx.xxx/api/xdevices.json?Get=R par exple

Je suis vraiment septique sur le fonctionnement du M2M sur l’ipx800v4 comparé à la v3.
Si vous avez un bout de code dont vous vous êtes servis pour faire vos tests pour remonter un compteur par M2M, je le veux bien car là, je sature…

Sinon, peut-on avoir des détails sur les commandes M2M à passer pour ouvrir/fermer le volet 1 de l’extension 1 svp)

Cordialement,
Cyril.

Bonjour,

Je suis en déplacement week-end end. Je regarde ça lundi à la première heure.

Cdt

On va bientôt savoir ce qu’est la 1ère heure pour Patrick :slight_smile:

Bonjour,

Petit rappel de l’introduction du fichier API-IPX800V4 :

« les requêtes de l’API M2M devront être effectuées après une connexion TCP client (port 9870 par défaut). Cette connexion ne sera cependant possible qu’après l’activation du M2M (menu «http://IPX800_V4/admin/m2m.htm »). Un message «key=apikey » devra ensuite être envoyé afin de s’authentifier. Chaque message sera porteur d’une seule commande. Lorsque la clef est désactivée, l’argument « key » est inutile. »

Je vous invite à ouvrir un ticket sur la helpdesk ou à nous appeler si vous n’arrivez pas à utiliser l’API M2M. Je prendrai la main sur votre carte afin de vérifier tout cela et nous ferons ensuite un retour sur ce forum s’il y a des points qui posent problèmes ou qui sont mal exposés dans la documentation.

Il n’existe (pour le moment) pas de commande M2M pour le pilotage des volets mais uniquement des commandes par GET (cf. l’API-PilotageURL).

PS : je pense que Patrick a squeezzé votre demande…:slight_smile:

[quote]Je prendrai la main sur votre carte afin de vérifier tout cel

[/quote]

Avant toute chose, pouvez-vous m’expliquer comment se passe la connexion à distance? ça a tendance à me refroidir…

Bonjour,

Deux solutions, la première avec un accès temporaire à votre carte via votre adresse public et un mdp temporaire. La seconde une session de contrôle à distance par exemple.

Dans votre cas, en cas d’accès distant, il me faudrait également une ouverture du port de communication du M2M. Vous pouvez très bien effectuer cette opération sur un port temporaire.

Si j’ai besoin de plus d’éléments, une session de contrôle à distance est envisageable. Dans ce cas je prendrai le contrôle de votre pc mais vous pourrez surveiller et intervenir le cas échéant.

Merci de votre retour.

Il m’est impossible d’ouvrir de port sur l’accès distant de par ma connexion 4G ip fixe avec routeur CISCO managé par BT entreprise. Ce serait possible mais ça prendrait des jours…

Bonjour,

Je savais bien que j’avais un truc important à faire Lundi …
Heureusement Maxime à géré. Désolé pour le retard j’ai un emploi du temps qui ne veux plus rien dire !
Entre la gestion de la boite, les dev en cours, la R&D et le nouveau bâtiment en chantier j’aurais bien besoin d’un overclocking car je commence à rater des trames :slight_smile:

Patrick

Bonjour,

je suis enfin disponible pour effectuer un contrôle au sujet du M2M.
Je vous appelle de suite si vous êtes dispo. On verra bien :wink:

Un p’tit retour de mon entretien avec Maxime :

Suite aux tests effectués à distance, il s’est avéré qu’une légère modification a été effectué au niveau du M2M entre la v3 et la v4. (l’insertion d’un retour à la ligne sur la v4)

Je viens d’effectuer un test avec un firmware 4.00.27beta incluant une modification du code M2M (suppression du retour à la ligne) et tout fonctionne à merveille maintenant.

Log de la veralite :

08 03/31/16 11:34:38.260 JobHandler_LuaUPnP::HandleActionRequest device: 0 service: urn:micasaverde-com:serviceId:HomeAutomationGateway1 action: RunLua <0x30239680> 08 03/31/16 11:34:38.260 JobHandler_LuaUPnP::HandleActionRequest argument Code=local test123 = mysendipx("Get=C") luup.log(test123) <0x30239680> 50 03/31/16 11:34:38.263 luup_log:0: mysendipx : Connexion OK <0x30239680> 50 03/31/16 11:34:38.264 luup_log:0: La réponse est OK <0x30239680> 50 03/31/16 11:34:38.265 luup_log:0: 250&3&0&0&0&0&0&0&0&0&0&0&0&0&0&0 <0x30239680>

Je reçois bien l’état des compteurs maintenant.

Ps : Pour Maxime, j’ai galéré à tester, rien ne marchait car je n’avais pas fermé la connexion sur ton soft Hercules… 45 min de perdues lol

Bonjour,

Parfait (hormis pour les 45 min de perdu ^_^), ce sera donc modifié dans la version 4.00.27 définitive.

[quote=« Maxime_gce »]
Parfait [/quote]

Non! Ce sera parfait quand tu auras implémenté les commandes M2M pour les volets et le retour de position des volets :slight_smile: