Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Comment bichonner son robot? On vous aide quel que soit son état de santé
JLRDomotique
Tondeur amateur
Messages : 36
Inscription : mer. juil. 06, 2016 6:19 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par JLRDomotique »

l'identifiant serait celui qui sert a se connecter sur l'appli AMC???? Le mien contient des lettres et des chiffres???
Comment respecter la forme indiquée dans le post précédent qui donnait " /services/robot/xxxxxxx-xxxxx/settingsUUID (les x sont des chiffres...) "
Lors de la création de mon compte, la validation s'est faite par un lien dans un mail pour valider la création...
Mon kit gsm contenait directement sa carte SIM.
Je vois vraiment pas à quel moment il y a eu un identifiant et un mot de passe...?? à moins que cela ne ce soit passé lors de la mise en route chez le revendeur???
Dans ./services/robot/xxxxxxx-xxxxx/settingsUUID (les x sont des chiffres...) Le masque est-il toujours 7 chiffres-5 chiffres??
1800 m2 à tondre
Terrain complexe
2 fils guide
Je tente de domotiser sur Lifedomus mon Husqvarna 330X migré en 430X depuis l'installation du Kit GSM en Avril 2016
chrisc08
Tondeur débutant
Messages : 18
Inscription : mar. mai 03, 2016 9:36 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par chrisc08 »

L'identifiant est une adresse email et le mot de passe, vous avez dû le saisir un jour. Pour utiliser l'API, il faut tout d'abord envoyer une commande pour s'identifier et recevoir un token de session puis il faut lister les robots associés pour récupérer l'identifiant du robot qui est ensuite utilisé dans la commande settingUUID. Le fichier python dont je vous ai mis le lien contient toutes les infos pour utiliser l'API et est facile à comprendre (il fait 150 lignes environs).
450x
3000 m² à tondre
JLRDomotique
Tondeur amateur
Messages : 36
Inscription : mer. juil. 06, 2016 6:19 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par JLRDomotique »

Pour envoyer une commande pour s'identifier et recevoir un token de session, je passes par mon navigateur????quelle est la structure de cette commande??? J'ai commencé à apprendre JS mais il me manque parfois l'essentiel...???
Mon but final est d'utiliser les commandes Javascript dans Lifedomus, pour pouvoir parker le robot quand les arroseurs se déclenchent en fonction de la météo.... et le relancer ensuite...
1800 m2 à tondre
Terrain complexe
2 fils guide
Je tente de domotiser sur Lifedomus mon Husqvarna 330X migré en 430X depuis l'installation du Kit GSM en Avril 2016
chrisc08
Tondeur débutant
Messages : 18
Inscription : mar. mai 03, 2016 9:36 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par chrisc08 »

A moins d'utiliser un plugin, vous ne pourrez pas utiliser l'API automower avec votre navigateur car c'est des requetes POST et non GET.

La structure de la requête pour vous identifier se trouve dans la méthode "login" de la classe "API" du fichier https://github.com/chrisz/pyhusmow/blob/master/husmow.py. On y voit les données au format xml à récupérer ainsi que le header "Session-Token" à récupérer pour ensuite l'envoyer dans les requêtes suivantes.

Eedomus utilise du php, Lifedomus du js... Peut-être que la prochaine box domotique utilisera du python ;-).
450x
3000 m² à tondre
JLRDomotique
Tondeur amateur
Messages : 36
Inscription : mer. juil. 06, 2016 6:19 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par JLRDomotique »

Merci pour les explications, je vois mieux comment procéder.... Je retourne à mon cours de JS....
Merci encore de prendre du temps, avec ceux qui s'accrochent à comprendre JS et PHP..
1800 m2 à tondre
Terrain complexe
2 fils guide
Je tente de domotiser sur Lifedomus mon Husqvarna 330X migré en 430X depuis l'installation du Kit GSM en Avril 2016
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut à tous,

@JLRDomotique, tu t'en es sorti ?
Tu commandes maintenant ton robot avec la Lifedomus ?
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

[quote le 21/07/2016 à 13:40:28, chrisc08 a dit :]A moins d'utiliser un plugin, vous ne pourrez pas utiliser l'API automower avec votre navigateur car c'est des requetes POST et non GET.

La structure de la requête pour vous identifier se trouve dans la méthode "login" de la classe "API" du fichier https://github.com/chrisz/pyhusmow/blob/master/husmow.py. On y voit les données au format xml à récupérer ainsi que le header "Session-Token" à récupérer pour ensuite l'envoyer dans les requêtes suivantes.

Eedomus utilise du php, Lifedomus du js... Peut-être que la prochaine box domotique utilisera du python [img http://i.les-forums.com/ic/ic18.gif]. [/quote]

Bonjour Chrisc08,

J'utilise ton script python et il fonctionne très bien. Encore merci :-)
J'ai installé Python 3 sur mon Synology et j'y ai installé pip et ensuite les packages requests et xmltodict.

En ce qui concerne le PHP, j'ai créé 1 script par commande START, STOP et PARK (je suis archi nul en développement...)

Pour exemple, le fichier start.php est écrit comme ça :
// Test de commande DOS pour lancer le script Python
// Envoi de la commande Start
echo exec('python husmow.py --login xxxx --password xxxx control START');
?>

Ca fonctionne :-)
Je peux donc envoyer les 3 commandes avec la box eedomus.

Ca fonctionne aussi avec la commande status
// Test de commande DOS pour lancer le script Python
// Envoi de la commande Status avec retour d'info
echo exec('python husmow.py --login xxx --password xxx status', $output, $return);
var_dump($output);
?>

Mais j'ai le retour d'info en Python, alors que je voudrais l'avoir en xml.
Il faudrait sans doute modifier quelque chose dans ton script Python pour avoir ce retour en xml, mais là, ça me dépasse.
Tu as une idée ?

De plus, j'ai vu que tu avais mis à jour ton script depuis 1 semaine.
Qu'as-tu apporté comme modification ?

Merci d'avance.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
chrisc08
Tondeur débutant
Messages : 18
Inscription : mar. mai 03, 2016 9:36 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par chrisc08 »

Salut,

Je crois que tu peux changer ton mot de passe maintenant ;-).

Le retour d'info n'est pas en python. C'est du json. En php, tu dois pouvoir utiliser la fonction json_decode pour transformer les données en variable php facilement utilisables.

Avec les dernières modifs du script (hier), on peut maintenant filtrer les messages affichés par le script pour n'avoir que les données utiles (le json). Pour ça, il faut ajouter l'option --log-level ERROR à la commande (avant le "status").

J'ai aussi ajouté la possibilité d'avoir la sortie de la commande status en xml en ajoutant l'option --output-format XML et si le module "dicttoxml" est installé. Si tu peux utiliser la fonction json_decode, c'est mieux car ça m'embete de maintenir sur le long terme le format XML sachant que le json est bien supporté par la plupart des langages et est bien plus lisible et j'aime pas trop l'ajout d'une dépendance supplémentaire à "dictoxml"...

Voila voila.

Chris
450x
3000 m² à tondre
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chrisc08,

Tu m'étonnes ;-)
Merci beaucoup, je vais tester.

Bonne journée :-)

Fred.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chrisc08,

Ca fonctionne à merveille en ligne de commande, en lançant la commande :
python husmow.py --login xxx--password xxx --output-format XML status

J'ai bien le retour des infos en XML :-)
Par contre, impossible d'avoir un retour d'infos XML quand j'intègre ce script dans le PHP.
Y a t'il un moyen pour écrire directement le contenu des infos dans un fichier en lançant ton script et en rajoutant une commande qui va bien genre --write infos.txt ?
python husmow.py --login xxx--password xxx --output-format XML [b]--write infos.txt [/b]status
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
chrisc08
Tondeur débutant
Messages : 18
Inscription : mar. mai 03, 2016 9:36 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par chrisc08 »

Salut,

Ca ne me tente pas vraiment d'ajouter une option pour écrire la réponse dans un fichier car le script risque de devenir une usine à gaz à force et je pense que ce n'est pas le role de ce script d'écrire dans un fichier. Dans la console, tu peux rediriger la sortie de la commande dans un fichier de cette façon : "python husmow.py --login xxx--password xxx status > /tmp/status.txt".

En regardant la doc de eedomus (http://doc.eedomus.com/view/Scripts), j'ai vu qu'il y avait une fonction toute prête pour convertir du json en xml ( jsonToXML($json) ) donc j'ai enlevé l'option pour renvoyer du xml pour simplifier le script et enlever une potentielle dépendance. Tu peux facilement récupérer du XML à partir de la sortie classique en json du script.

J'ai ajouté un nouveau mode d'utilisation du script qui pourrait peut-être t'intéresser :
python husmow.py --login yourmaillogin --password yourpassword server

Ca démarre un petit serveur web qui permet de controler l'automower en utilisant de simples requêtes HTTP et donc je pense que tu pourrais l'utiliser sans utiliser le php (ou alors en utilisant la fonction httpQuery présente dans la doc de eedomus) :
GET http://127.0.0.1:1234/start
GET http://127.0.0.1:1234/park
GET http://127.0.0.1:1234/status

J'espère qu'avec ça, tu pourras controler ton mouton à ta guise :-).

Chris
450x
3000 m² à tondre
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chris,

Ca ouvre des perspectives très intéressantes et évite effectivement une machine à gaz :-)
Je teste ça demain, car pris en déplacement toute la journée.

Merci.

Fred.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chrisc08,

J'ai été obligé d'installer ton script Python (https://github.com/chrisz/pyhusmow) sur un serveur Windows, car je n'ai pas réussi à trouver comment l'exécuter automatiquement sur le Synology (visiblement, il manque des modules sur le Python du Syno).

En tout cas, c'est parfait :-)

Ca fonctionne bien aussi pour la récupération des infos (GET http://127.0.0.1:1234/status) avec le serveur web intégré dans ta toute dernière version.
J'obtiens bien un retour en Json, lequel est converti en XML par la box eedomus. Après, un tour de Xpath et j'ai les infos qui vont bien.

Pour les commandes Start, Stop et Park, il suffit de créer un actionneur sur l'eedomus avec 3 états.
Par exemple, pour l'état START, il sera comme ceci (si ton script est hébergé sur le serveur 192.168.1.252 sur le port 2345) :
Valeur brute : Start
Description : Start
URL : http://192.168.1.252:2345/
Type : GET
Paramètres : start

Je vais faire un tuto pour les utlisateurs de la box d'eedomus d'ici une petite semaine. Ca ouvre des perspectives d'automatisation et de suivi des courbes d'utilisation très intéressantes :-)
Je mettrai le lien sur ce forum dans un topic spécial pilotage domotique.
Merci beaucoup pour le travail accompli.

Fred.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chrisc08,

Ca fonctionne à merveille :-)
Côté sauvegarde du résultat dans un fichier, ça permettrait d'éviter d'aller interroger sans cesse le cloud d'Husqvarna quand je souhaite connaître plusieurs infos contenues dans Status (aujourd'hui, c'est 10 infos = 10 interrogations cloud), alors que je peux aller chercher ces infos dans le fichier généré (10 infos = 10 interrogations sur le fichier local = 1 interrogation cloud).
Comme ça, on évite la conso de DATA et les multiples requêtes sur le cloud d'Husqvarna.
Si tu peux faire quelquechose...

Fred.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Bonsoir,

Bon, j'ai fait un petit script en PHP, lequel permet de collecter les données du status dans un fichier local.
Ensuite, une macro lance ce script toutes les 5 minutes et je vais chercher les infos dedans.
Si çà intéresse quelqu'un, je peux faire parvenir ce script.
Bonne soirée.

Fred.
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Basco
Tondeur robotisé
Messages : 353
Inscription : ven. avr. 18, 2014 8:28 am

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Basco »

Bonjour

Je regarde depuis quelques temps vos échanges qui montrent que vous vous intéressez de manières approfondis sur la commande à distance et robotique de l'automower.....mais il s'agit d'échanges de spécialistes avec en tout cas pour moi un langage ésotérique.
PHP statut Xml eedomus etc....
C'est comme si Microsoft donnait son code source pour faire fonctionner Word à distance.

Aussi à ce jour qu'elle est la finalité de votre étude par rapport à l'application connect sur iOS ou android ?
Avantages ? Amélioration ? Facilité d'utilisation ? Matériel nécessaire ?pour un novice comme moi.

Merci d'avance et félicitations pour vos recherches.
Auto mover 450x
Achat mai 2016
Firmware 10.19
Carte mère février 2016
1200 m2 plat
Deux fils guide
Protection sur les arbres
Un seul contourne
Automower connect 2.1
Mheller
Tondeur acharné
Messages : 5619
Inscription : ven. sept. 05, 2014 1:17 am

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Mheller »

comme Basco, il nous faudrait juste un kit tout prêt pour vrai débutant, avec une camera wifi on aurait de la domotique à réalité augmentée!
Eure Normandie
1500 m2 (2014) : AM 230ACX (2012) - 500m2 (2014) - AM310 (2017 ) - 5000m2 (2015) : AM 265ACX (2015) - 1000m2 (2016) : AM 230ACX (2010)
11000 m2 (2016) : Bigmow (2010) - 1500m2 (2016) : AM 330X (2016)
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Bonjour,

Effectivement, je comprends que pour le moment nos échanges d'informaticiens/domoticiens passionnés puissent laisser perplexes ;-)
Nous avons fait un peu plus compliqué parcequ'Husqvarna n'a pas fait simple dans ce que nous cherchions à faire et certainement dans quelques temps tout devrait être plus simple avec l'expansion de la domotique à la maison :-)
Pour résumer, piloter le robot avec le téléphone est dépassé ! C'est une aide, mais ce n'est pas un but.
Le mieux, est que la maison connectée puisse communiquer et controler le robot en fonction des paramètres qu'elle gère et intègre.
Par exemple :
- pouvoir faire rentrer le robot sur sa base si elle détecte qu'il va pleuvoir ou qu'il pleut.
- pouvoir arrêter le robot quand quelqu'un sonne à la porte pour éviter qu'il n'attire l'attention d'une personne mal intentionnée sur le seuil de votre porte.
- vous prévenir par d'autres moyens qu'un SMS ou un mail s'il est est hors zone ou a un problème, c'est à dire par source vocale ou sur la TV ou autre encore
- avoir sa tonte programmée sur votre agenda de réception qui peut changer souvent
- etc.

Et tout celà de façon automatique, sans que vous soyez à côté de votre robot et de votre téléphone ou tablette...

Bref, tout est ouvert et la seule limite est votre projection dans ce que vous souhaiter automatiser ;-)
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
chrisc08
Tondeur débutant
Messages : 18
Inscription : mar. mai 03, 2016 9:36 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par chrisc08 »

Hello,

(réponse un peu tardive)

Bien que tu te sois débrouillé en php, j'ai modifié le script pour qu'il garde le dernier statut en cache pendant 30 secondes (configurable). Comme ça, si il y a X requêtes de statut en 30 secondes, il n'y a qu'une seule requête envoyée au serveur Husqvarna.

C'est cool que ça fonctionne avec la box eedomus :-).

Chris
450x
3000 m² à tondre
Domotifred
Tondeur confirmé
Messages : 103
Inscription : mar. nov. 24, 2015 2:12 pm

Commandes SMS ne fonctionnent pas sur l'Automower Connect 330X

Message par Domotifred »

Salut Chris,

Ok, merci.
Donc tu rajoutes --expire 60 si tu veux que le cache soit de 1 minute et --expire 180 si tu veux que ce soit 3 minutes comme par exemple :
python husmow.py --login yourmaillogin --password yourpassword --expire 180 status
Automower 330X depuis 2016
2000 m2 à tondre sur terrain complexe
Localisation Yvelines (78) France
Robot piloté par box eedomus (Connected Object)
Répondre