Page 4 sur 6

Re: Tablette murale et chargement de sa batterie auto

Publié : 20 août 2018, 21:55
par ChToutatis
Hello,

J'ai soldé le problème. En fait j'avais bien copié sur la tablette le id_rsa.pub dans le répertoire que j'avais défini dans l'appli, mais je n'avais pas renommé ce fichier en Authorized_keys. Une fois fait, tout a marché comme sur des roulettes !

Cordialement

Re: Tablette murale et chargement de sa batterie auto

Publié : 03 sept. 2018, 17:26
par Martial
Bonjour,
Merci pour ce tuto clair et précis.
Cependant, j'ai une question métaphysique: Pourquoi faire cela ? J'ai moi-même une tablette murale sous monitor, qui est alimentée 24/24 7/7 (sauf quand panne de courant) et cela ne m'a jamais posé le moindre problème.
Avec les batteries Li/Ion, ce n'est plus comme avec les NiCd où il fallait les décharger/recharger régulièrement pour éviter l'effet mémoire: elle peuvent rester en charge en permanence, pour autant que le circuit de charge soit bien fait, et au contraire, elles s'en porteront mieux.
Cordialement

Re: Tablette murale et chargement de sa batterie auto

Publié : 03 mars 2019, 21:52
par titis14
Bonjour,
J'essai de mettre cela en place, mais je ne comprends pas cette phrase:
une fois cela fait, connectez-vous en ssh pour la 1ère fois depuis votre serveur domoticz sur votre tablette :
La commande est à faire sur le serveur domoticz ou sur sshd du smartphone ?

Code : Tout sélectionner

ssh -p 2222 root@IP_de_domoticz
Merci
manuloup a écrit : 04 janv. 2018, 23:16 Alors voilà la solution que j'ai trouvée et qui fonctionne : se passer d'ADB et utiliser un serveur SSH sur la tablette !

Pour cela il faut donc :

- installer le sshd sur la tablette (pas besoin de root). Cette appli SimpleSSHD est parfaite et suffisante (et gratuite !) :
https://play.google.com/store/apps/deta ... ander.sshd

- gémérer une clé sans passphrase sur votre serveur domoticz :
ssh-keygen -t rsa
appuyez simplement sur entrée quand il demande la passphrase

. une fois cela fait, connectez-vous en ssh pour la 1ère fois depuis votre serveur domoticz sur votre tablette :

Code : Tout sélectionner

ssh -p 2222 root@IP_de_domoticz
Le mot de passe apparaît en clair sur la tablette

Une fois connecté, copiez le contenu du fichier /root/.ssh/id_rsa.pub (si vous êtes en root par exemple) dans un fichier sur la tablette sous /sdcard/ssh/authorized_keys
Retentez de vous connectez sans mot de passe, cela devrait fonctionner :

Code : Tout sélectionner

root@raspberrypi2:/home/pi# ssh -p 2222 192.168.1.18
user@TU_1491:/storage/emulated/legacy/ssh $
Pour vérifier que vous arrivez à récupérer le niveau de la batterie sans entrer de mot de passe :

Code : Tout sélectionner

root@raspberrypi2:/home/pi/domoticz/scripts/shell# export TABLETTE_IP="192.168.1.18"
root@raspberrypi2:/home/pi/domoticz/scripts/shell# ssh -p 2222 ${TABLETTE_IP} 'cat /sys/class/power_supply/battery/capacity'
53
Voilà, il ne reste plus qu'à prendre mon script modifié et changer les paramètres qui vont bien !

Code : Tout sélectionner

#!/bin/bash
###
# Envoie niveau de batterie a  Domoticz
# Script par manuloup https://easydomoticz.com/forum/viewtopic.php?f=7&t=4402#p38502
# 2017-12-31 : Chrominator / Remontée des messages liés à l'exécution dans le log Domoticz
# 2018-01-04 : manuloup / Utilisation d un serveur SSH sur la tablette 
###
#
###
# YOU NEED TO CHANGE VALUE FOR YOUR CONFIGURATION
# Domoticz server
DOMOTICZ_SERVER="192.168.1.5:8080"
TABLETTE_IP="192.168.1.18"
#
# Device de la tablette
BATTERY_TABLETTE_IDX="378"
#
# Devices de la wallplug
WALLPLUG_TABLETTE_IDX="380"
#
# END CONFIGURATION VALUE
###
cURL="/usr/bin/curl"
#
voir_les_logs () {
   msg="tablette: $1"
   echo $msg
   # Encode le caractère % en html: %25
   msghtml=`echo $msg | sed 's/%/%25/g'`
   # Encode le caractère espace en html: %20
   msghtml=`echo $msghtml | sed 's/ /%20/g'`
   # Les autres caractères même accentués devraient passer
   $cURL -i -H  "Accept: application/json" "http://${DOMOTICZ_SERVER}/json.htm?type=command&param=addlogmessage&message=$msghtml"
}
#
# Get the battery value for the tablet
BATTERY_LEVEL=$(ssh -p 2222 ${TABLETTE_IP} 'cat /sys/class/power_supply/battery/capacity')
#BATTERY_LEVEL=$(echo "${BATTERY_LEVEL}" | tr -d '[:space:]')
voir_les_logs "Niveau de la batterie :${BATTERY_LEVEL} %"
# Set Battery level in domoticz
# Send data to Domoticz
curl -i -H  "Accept: application/json" "http://${DOMOTICZ_SERVER}/json.htm?type=command&param=udevice&idx=${BATTERY_TABLETTE_IDX}&nvalue=0&svalue=${BATTERY_LEVEL}"
#
if [ -z $BATTERY_LEVEL   ] ;
then
   voir_les_logs "Pas de valeur pour la charge de la tablette ! "
   voir_les_logs "On rallume la prise de la tablette "
   curl -s -i -H  "Accept: application/json" "http://${DOMOTICZ_SERVER}/json.htm?type=command&param=switchlight&idx=${WALLPLUG_TABLETTE_IDX}&switchcmd=On"
else
# Test de la valeur de la batterie. On eteind si c'est suerieur a 10 sinon on allume
   if [ $(expr $BATTERY_LEVEL '<' 15 ) = 1 ] ;
   then
      voir_les_logs "Charge batterie inferieure a 15 %, on allume ! "
      curl -s -i -H  "Accept: application/json" "http://${DOMOTICZ_SERVER}/json.htm?type=command&param=switchlight&idx=${WALLPLUG_TABLETTE_IDX}&switchcmd=On"
   else
      voir_les_logs "charge de la batterie superieure a 15%"
   fi
   if [ $(expr $BATTERY_LEVEL '=' 100 ) = 1 ] ;
   then
      voir_les_logs "batterie=100%"
      curl -s -i -H  "Accept: application/json" "http://${DOMOTICZ_SERVER}/json.htm?type=command&param=switchlight&idx=${WALLPLUG_TABLETTE_IDX}&switchcmd=Off"
   else
      voir_les_logs "batterie=${BATTERY_LEVEL}%"
   fi
fi
A vous de jouer ! Dites-moi si j'ai omis des choses.

Re: Tablette murale et chargement de sa batterie auto

Publié : 04 mars 2019, 19:44
par manuloup
Bonjour,

A relire je pense que tu as raison, c'est @IP_de_la_tablette.

Merci, teste et je corrige ensuite.

Re: Tablette murale et chargement de sa batterie auto

Publié : 04 mars 2019, 22:05
par Dim33
Il y a également la possibilité d'utiliser Tasker par exemple. Exemple ici : https://domotiquetechnoseb27.com/2015/0 ... ec-tasker/

Appli payante par contre mais ça fait le job et elle peut être utilisée à autre fin.

Re: Tablette murale et chargement de sa batterie auto

Publié : 06 mars 2019, 16:16
par titis14
manuloup a écrit : 04 mars 2019, 19:44 Bonjour,

A relire je pense que tu as raison, c'est @IP_de_la_tablette.

Merci, teste et je corrige ensuite.
Donc oui c'est bien l'IP de la tablette qu'il faut mettre ou d'un smartphone android ce que j'utilise.

Après je ne comprends pas cette phrase:
Une fois connecté, copiez le contenu du fichier /root/.ssh/id_rsa.pub (si vous êtes en root par exemple) dans un fichier sur la tablette sous /sdcard/ssh/authorized_keys
Retentez de vous connectez sans mot de passe, cela devrait fonctionner :
Le fichier /root/.ssh/id_rsa.pub c'est ou sur la tablette ou sur le serveur Domoticz ? Merci de ton aide.

Re: Tablette murale et chargement de sa batterie auto

Publié : 06 mars 2019, 16:19
par manuloup
Sur le serveur domoticz. Tu le renommes sur la tablette avec le nom que j'ai dit : /sdcard/ssh/authorized_keys

Re: Tablette murale et chargement de sa batterie auto

Publié : 06 mars 2019, 16:27
par titis14
Bon j'ai fait les commandes suivante:
sebr@Serveur-debian:~$ ssh -p 2222 root@192.168.1.12
The authenticity of host '[192.168.1.12]:2222 ([192.168.1.12]:2222)' can't be established.
ECDSA key fingerprint is 87:b2:ed:78:a7:ea:1b:60:59:ed:5f:78:c4:f4:15:4b.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '[192.168.1.12]:2222' (ECDSA) to the list of known hosts.
root@192.168.1.12's password:
user@coreprimevelte:/data/data/org.galexander.sshd/files $
j'ai bien vu sur le tel le mot de passe.

En suite on doit copier le fichier .pub mais dans le dossier /root de mon debian j'ai rien à part dead.letter. Je ne trouve pas ce fichier.
Sur le tel dans la carte SD je n'est pas de dossier /ssh il faut le créer ?
Merci

Re: Tablette murale et chargement de sa batterie auto

Publié : 06 mars 2019, 16:40
par manuloup

Re: Tablette murale et chargement de sa batterie auto

Publié : 11 nov. 2019, 13:59
par L3GION
Bonjour,
alors je vais surement poser une question de gros débutant
mais j'ai bien réussi la partie ssh par contre je bloque à cette étape :
manuloup a écrit : 04 janv. 2018, 23:16 Pour vérifier que vous arrivez à récupérer le niveau de la batterie sans entrer de mot de passe :

Code : Tout sélectionner

root@raspberrypi2:/home/pi/domoticz/scripts/shell# export TABLETTE_IP="192.168.1.18"
root@raspberrypi2:/home/pi/domoticz/scripts/shell# ssh -p 2222 ${TABLETTE_IP} 'cat /sys/class/power_supply/battery/capacity'
53
Il me manque quelque chose :

Code : Tout sélectionner

pi@raspberrypi:~ $ /home/pi/domoticz/scripts/shell# export TABLETTE_IP="192.168.1.33"
-bash: /home/pi/domoticz/scripts/shell#: Aucun fichier ou dossier de ce type