[Tuto] Niveau et statut batterie android par Script SSH

Bonjour @Salvialf,

Ne pourrais tu pas recopier sur community ton excellent tuto concernant la récup d’infos sur tablette android via sshd ?

PS : Je t’ai posé aussi une question concernant le full screen complet et chrome.
Rappel du lien : https://www.jeedom.com/forum/viewtopic.php?f=31&t=41301&hilit=sshd

Bonjour,

Je me réponds :
J’ai résolu mes pbs de full screen avec le « Habit Browser » → peu consommateur du coup le couple ssh+habit browser top pour moi.

Ci-dessous un copié/collé du tuto de @Salvialf sur ancien forum pour ne pas le perdre. Si tu es contre tu peux le supprimer :

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
  • Donner l’appartenance à l’utilisateur « www-data » sur ce dossier:

Code : Tout sélectionner

sudo chown -R www-data:www-data /home/www-data/
  • Modifier le chemin du home de l’utilisateur « www-data » et lui assigner un shell:

Code : Tout sélectionner

sudo nano /etc/passwd
  • Modifier la ligne qui commence par www-data pour qu’elle ressemble à ça:

Code : Tout sélectionner

www-data:x:33:33:www-data:/home/www-data:/bin/bash
  • S’identifier en tant que « www-data »:

Code : Tout sélectionner

sudo su - www-data
  • Générer une clé sans passphrase (valider 3 fois sur « Entrée » sans rien taper):

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

(Remplacez IP_TABLETTE par l’adresse IP de votre tablette Androïd.)
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
  • Copier le fichier /home/www-data/.ssh/id_rsa.pub sur la tablette sous le Path SSH de SimpleSSHD (Settings->SSH Path ):

Code : Tout sélectionner

scp -P 2222 /home/www-data/.ssh/id_rsa.pub root@IP_TABLETTE:/data/user/0/org.galexander.sshd/files/

(Un nouveau mot de passe est généré, tapez le et le fichier doit se transférer.)

  • 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
  • Renommer le fichier en « authorized_keys »:

Code : Tout sélectionner

mv /data/user/0/org.galexander.sshd/files/id_rsa.pub /data/user/0/org.galexander.sshd/files/authorized_keys
  • Revenir sur l’utilisateur « www-data »:

Code : Tout sélectionner

exit
  • Connectez-vous sans mot de passe:

Code : Tout sélectionner

ssh -p 2222 IP_TABLETTE

(ça doit fonctionner sinon recommencez depuis le début)

  • 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

(Le niveau de batterie doit apparait en dessous: 75 chez moi au moment de la manip’)

4) Finalisation:

  • Quitter l’utilisateur « www-data » pour revenir sur l’utilisateur « normal »:

Code : Tout sélectionner

exit
  • Modifier à nouveau le fichier /etc/passwd:

Code : Tout sélectionner

sudo nano /etc/passwd
  • Modifier la ligne qui commence par www-data pour qu’elle ressemble à ça:

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

Statut de batterie (charge=1/décharge=0):

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:

Batt_charge.jpg

Batt_charge.jpg (12.56 Kio) Consulté 3998 fois

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 :o

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.