Liaison Eedomus+ / serveur Nas4Free

Discussion et échanges de scripts pour la box eedomus

Liaison Eedomus+ / serveur Nas4Free

Messagepar bm72 » 21 Sep 2015 22:58

Bonjour à tous,

Récent acquéreur d’une box domotique Eedomus+, en me baladant sur le Net, je suis tombé sur un topic de Madoma73 (http://www.domo-blog.fr/eteindre-propre ... -leedomus/). Le script décrit l’arrêt propre d’un NAS Synology. Tiens, c’est quoi un NAS ?

En poursuivant la balade sur les NAS, j’ai découvert Xpenology (hack de Synology) puis FreeNas et enfin Nas4Free (les deux derniers installés sur FreeBSD allégé). L’excellent topic de J. Lebrument (http://lebrument.free.fr/wordpress/word ... g=nas4free) m’a poussé à ressortir un vieux PC de son placard (Dell Dimension 1100-Celeron D-1 Mo de RAM-HD IDE 40 Go !!!) plus pour bidouiller dans un premier temps. Le plus drôle, c’est que l’installation (Nas4free 9.3.0.2 embedded) s’est déroulée sans encombre.

L’étape suivante, vous la devinez : gonflage de la partie stockage ; ajout d’une carte Promise Sata300 TX4 (qq euros sur ebay et annoncée « works out of the box » sur les sites traitant de Nas4free) de deux HD WD red NAS 1 To et un SSD de 60 Go pour le système (réutilisables sur une autre machine en cas de non fonctionnement). Triturage du BIOS et boot de Nas4Free 10.1.0.2 full sur SSD ! Je suis scié de ne pas avoir rencontré le moindre problème. Bien sûr, je suis limité par le débit du bus PCI !

MAIS Y’A QUAND MEME UN PROBLEME !

En effet, je souhaite que ma box Eedomus+ envoie la commande « shutdown –p now » par script quand il y a une coupure de courant (un Ups APC 900 est relié à la box), que la température du local du NAS soit trop élevée ou autre évènement… Le 1° topic cité utilise le protocole SSH2 de PHP (avec les fonctions ssh2_connect, ssh2_auth_password…). Le service ssh de Nas4Free (ssh protocole 2) ne semble pas posséder ces fonctions et demande une authentification interactive par clavier. Comme la box Eedomus+ n’intègre pas ssh, la connexion box/serveur me pose problème (pas question de mettre en place un jeu de clés publique et privée).

Je suis preneur de toutes solutions me permettant de commander l’arrêt du serveur à partir de ma box domotique et je remercie, par avance, tous ceux qui me permettront de résoudre ce problème.
bm72
 
Messages : 7
Inscription : 21 Sep 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar xianghua » 22 Sep 2015 09:08

Edit: manip foireuse x)
Dernière édition par xianghua le 23 Sep 2015 19:27, édité 1 fois.
xianghua
 
Messages : 305
Inscription : 11 Juil 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar bm72 » 23 Sep 2015 16:34

Bonjour xianghua,

Merci pour les pistes indiquées dans ta réponse.
J'avais déjà mis en place un ping pour connaître l'état, allumé ou éteint, du NAS.
Nas4free intègre bien un serveur web (peut-être Apache) mais, comme je le pressentais, ton script (même déclaré exécutable) ne fait que retourner le contenu du fichier suite à la requête de la box.
Pour exécuter des commandes, il faut réussir à se loguer comme utilisateur ayant des droits d'administration avec login, mot de passe (ou échange de clés). D'où ma demande de pouvoir le faire par script.
L'implémentation de telnet sur Eedomus+ va, peut-être, apporter une réponse mais il faut attendre des explications pour son usage.

J'ai posté un message semblable sur le forum Nas4free. Des idées vont, peut-être, émerger des échanges.

A+
bm72
 
Messages : 7
Inscription : 21 Sep 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar xianghua » 23 Sep 2015 19:26

bm72 a écrit:Bonjour xianghua,

Merci pour les pistes indiquées dans ta réponse.
J'avais déjà mis en place un ping pour connaître l'état, allumé ou éteint, du NAS.
Nas4free intègre bien un serveur web (peut-être Apache) mais, comme je le pressentais, ton script (même déclaré exécutable) ne fait que retourner le contenu du fichier suite à la requête de la box.
Pour exécuter des commandes, il faut réussir à se loguer comme utilisateur ayant des droits d'administration avec login, mot de passe (ou échange de clés). D'où ma demande de pouvoir le faire par script.
L'implémentation de telnet sur Eedomus+ va, peut-être, apporter une réponse mais il faut attendre des explications pour son usage.

J'ai posté un message semblable sur le forum Nas4free. Des idées vont, peut-être, émerger des échanges.

A+


Et merde je dis des conneries, je croyais avoir fait ça pour mon jeedom (ma eedomus qui éteignait et redémarrer mon jeedom via des requêtes http directement sur le script), sauf que ce n'est tout à fait ça.

En fait j'ai bien le script sur mon jeedom, mais c'est jeedom qui l’exécute grâce au plugin script. Après je peux avec ma eedomus lancait une requete http au plugin script qui lui exécute le script.
Bref la différence vient du plugin script... (du coup j'efface le précédent message)

Mais si tu as un raspberry tu pourrais normalement éteindre ton NAS.
Suffirait d'installer Jeedom avec le plugin script.
Passer par un échange de clé entre Jeedom et Nas4Free (vu que ce n'est pas possible sur Eedomus il me semble)
Un script de ce style là sur jeedom "ssh admin@ip-du-nas "shutdown -h now" dans le répertoire suivant /usr/share/nginx/www/jeedom/plugins/script/core/ressources
Ajouter ce script au plugin script
Recupérer l'URL sur Jeedom pour éxecuter la commande via http.
La mettre sur l'actionneur http eedomus

Désolé pour mon erreur du précédent message mais je ne me rappellais plus de la façon dont j'avais procédé sur Jeedom pour gérer l'extinction.
xianghua
 
Messages : 305
Inscription : 11 Juil 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar xianghua » 24 Sep 2015 06:08

Pour info viewtopic.php?f=14&t=30 je m'en doutais un peu
Du coup t'es obligé de passer par une autre machine. (raspberry pi par exemple)
xianghua
 
Messages : 305
Inscription : 11 Juil 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar popix » 30 Sep 2015 23:26

Salut,

Comme je suis à fond en ce moment dans mes conf de satellites Android , je ferai un post a l occasion, ben je te conseille un vieux tel/tablette sous Android avec tasker et l extension autossh, ça roule tout seul .

TNES pour tasker est une autre app fantastique qui permet de taper sur tasker avec des requêtes http simple depuis l eedomus sans passer par le service externe autoremote

Et avec ce même Phone dedié tu rajoutes smsgateway, xlite,squeezeplayer,impérihome et tu as gagné ton we :)
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar bm72 » 30 Oct 2015 19:01

Bonjour à tous,

Merci à toi, Popix, pour cette piste indirecte via smartphone ou tablette.
J'ai donc chargé Tasker sur mon S3 et découvert un outil fabuleux par ses capacités mais aussi fastidieux pour bien en maîtriser les paramétrages. Ensuite ajout du plug-in TNES.
Etant une bille (même pas ronde :D ) en matière de requête HTTP et après moults réglages côtés Tasker et Eedomus, je n'arrive qu'à : "couldn't connect to host" !
Si tes lumières pouvaient m'illuminer un peu, je te serais très reconnaissant.
D'avance, merci.

A+
bm72
 
Messages : 7
Inscription : 21 Sep 2015

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar popix » 30 Oct 2015 20:03

Faudrait faire un tuto car ce plugin est génial, je l'appelle directement en php avec CURL depuis mon syno, sur la eedomus c'est assez simple, voici les grande lignes, avec un exemple simple de TTS (pour le SSH faudra utiliser le plugin SSH mais c'est le même principe) :

Coté eedomus
nouveau periph --> actionneur http
Ajouter une valeur possible en renseignant :
L'url : http://ip_du_telephone:8765 (le port est le 8765 si vous ne l'avez pas changé)
type (super important) : POST
Paramètres : tts=fermeture des volets (pas de ? comme pour un GET)

Coté tasker
Créer une tache --> dire --> dans le champ message mettre %tpe_tts
Créer un profil sur événement --> a partir d'un plugin --> TNES --> editer --> on touche à aucun champs sauf :
Event Name : le nom que vous voulez , genre TTS depuis eedomus
Filters : tts (simplement le nom de la variable envoyé plus haut avec eedomus)

--> et choisir votre tache dire message créer précédemment.

Et voilà, donc recap :

L'eedomus envoi une requette http, de type POST, avec une variable qui s'appelle tts

Tasker ecoute les requette http, SI il detecte une variable qui s'appelle tts dans la requête (peut importe sa valeur), alors il exécute la tache dire , en lisant le texte de la variable %tpe_tts qui a été récupéré dans l'url.

En gros ce plugin permet une passerelle locale http avec tasker, à ma connaissance c'est le seul, un autre existe mais c'est du REST api et c'est beaucoup plus compliqué.

Autre exemple concret, une passerelle SMS en deux lignes :
Eedomus post sur le téléphone les paramètres "sms=tout est ok à la maison&num=06xxxxxxxx", attention pas de "?" comme pour un GET

Tasker
créer un tache, envoyer un sms , valeur numéro : %tpe_num, valeur texte : %tpe_sms
il suffit de créer un autre profil avec un autre event name et dans filters vous mettez "sms" ou "num"

En plus d'un condition sur la présence de la variable, on peut mettre un condition sur sa valeur ou sa nom valeur, si par exemple je ne veux déclencher que si c'est un numéro précis

dans filters
num==0612345678

J'espère que c'est suffisamment clair, il te reste à exécuter du coup une série de tache avec le plugin SSH
popix
 
Messages : 409
Inscription : 15 Fév 2014

Re: Liaison Eedomus+ / serveur Nas4Free

Messagepar bm72 » 02 Nov 2015 16:26

Bonjour à tous,

Merci de nouveau à toi Popix pour toutes ces précisions.
Malgré leur suivi scrupuleux, j'arrive toujours sur le même message (côté Eedomus) de non connexion.
L'adresse IP locale du S3 est bien fixe, un ping de la box est positif.
Dans l'écran Tasker event, j'ai remarqué un espace entre l'IP du S3 et le n° de port (x.x.x.x:_8765), est-ce suffisant pour poser problème ?
Comme sur tout bon système dérivé de Unix/Linux, n'y a-t-il pas un pb de droit (root) pour cette liaison de type client-serveur ?

A+
bm72
 
Messages : 7
Inscription : 21 Sep 2015


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 14 invité(s)