1) Installation d'un serveur SSH léger sur l'appareil Androïd (Tablette/Smartphone):
- Installer SimpleSSHD via le Playstore: https://play.google.com/store/apps/deta ... sshd&hl=fr ou l'APK ( url directe): http://www.galexander.org/software/simp ... SHD-19.apk
- Ouvrir SimpleSSHD et aller sur "Settings" (3 petits points en haut à droite). Pour ma part j'ai coché "Start on boot" et "Start on Open" en plus de "Foreground Service" qui était déjà coché. Je n'ai modifié aucun autre paramètre, pour info simpleSSHD utilise par défaut le port 2222 pour communiquer.
- Bien noter le "SSH Path" en bas de page. chez moi: "/data/user/0/org.galexander.sshd/files/". Il est possible de le modifier tout comme le port de communication, il faudra donc adapter le tuto en conséquence.
2) Création de la clé pour l'utilisateur "www-data":
- Se connecter en SSH sur la machine hébergeant Jeedom.
- Créer un dossier home pour l'utilisateur "www-data":
Code : Tout sélectionner
sudo mkdir /home/www-data
Code : Tout sélectionner
sudo chown -R www-data:www-data /home/www-data/
Code : Tout sélectionner
sudo nano /etc/passwd
Code : Tout sélectionner
www-data:x:33:33:www-data:/home/www-data:/bin/bash
Code : Tout sélectionner
sudo su - www-data
Code : Tout sélectionner
ssh-keygen -t rsa
3) Copie de la clé sur la Tablette:
- Se connecter à la tablette (ou le smartphone) Androïd pour la 1ère fois:
Code : Tout sélectionner
ssh -p 2222 root@IP_TABLETTE
Le mot de passe apparaît en clair dans SimpleSSH sur la tablette, recopiez le là où il est demandé sur votre connexion SSH. La connexion doit fonctionner et vous devez passer sur l'utilisateur de la tablette.
- Revenir sur l'utilisateur "www-data":
Code : Tout sélectionner
exit
Code : Tout sélectionner
scp -P 2222 /home/www-data/.ssh/id_rsa.pub root@IP_TABLETTE:/data/user/0/org.galexander.sshd/files/
- si vous êtes déconnecté de la tablette, reconnectez-vous (avec nouveau mot de passe):
Code : Tout sélectionner
ssh -p 2222 root@IP_TABLETTE
Code : Tout sélectionner
mv /data/user/0/org.galexander.sshd/files/id_rsa.pub /data/user/0/org.galexander.sshd/files/authorized_keys
Code : Tout sélectionner
exit
Code : Tout sélectionner
ssh -p 2222 IP_TABLETTE
- Vérifier la récupération du niveau de batterie sans saisir de mot de passe:
Code : Tout sélectionner
ssh -p 2222 IP_TABLETTE cat /sys/class/power_supply/battery/capacity
4) Finalisation:
- Quitter l'utilisateur "www-data" pour revenir sur l'utilisateur "normal":
Code : Tout sélectionner
exit
Code : Tout sélectionner
sudo nano /etc/passwd
Code : Tout sélectionner
www-data:x:33:33:www-data:/home/www-data:/usr/sbin/nologin
5) Création du script dans Jeedom:
- Créer un nouveau script dans le plugin "script" et donnez lui le nom de votre choix (par exemple BatteryTab).
- Choisir un intervalle d'actualisation dans le champ "Auto-actualisation(cron)". J'ai mis toutes les 5 minutes: */5 * * * *
- Dans l'onglet "Commandes", cliquer sur "Ajouter une commande script".
- Donnez un nom au script et configurez le ainsi:
Niveau de batterie:
Code : Tout sélectionner
Type script: script
Type: Info/Numérique
Requête: ssh -p 2222 IP_TABLETTE cat /sys/class/power_supply/battery/capacity
Divers: Unité=%, Min=0, Max=100
Code : Tout sélectionner
Type script: script
Type: Info/Binaire
Requête: ssh -p 2222 IP_TABLETTE cat /sys/class/power_supply/battery/charge_now
Et voilà ! Le script peut être affichée tel quel, récupéré dans un virtuel ou utilisé dans un scénario pour gérer un wallplug.
Résultat: J'espère que ce long tuto sera utile... en tout cas il l'est pour moi !
Petite précision: ne nécessite pas de root et fonctionne sur toutes les versions d'Androïd à partir de la 2.1