Alors aujourd’hui je vous présente Pierrick O’Murphy qui a achevé un petit exploit et qui souhaitait le partager. Ce mini exploit est l’installation de Jeedom sur Android. Et il s’agit bien de l’installation de la solution domotique Jeedom.

Jeedom sur Android

Alors je lui laisse vous décrire tout cela !! Si je dois intervenir je le ferai en bleu.

Installation de Jeedom sur Android

Pré requis : Un périphérique Android avec donc accès root + BusyBox , un client SSH depuis un PC (ici Putty)

Pourquoi faire ?

  • But ultime : Couper la dépendance a Internet de ma Gateway Xiaomi.
  • Mais, je suis équipé aussi d’un Karotz, et n’ai pas/plus d’équipement Zwave ou EnOcean.
  • J’ai testé Jeedom et suis donc convaincu que mon but peut être atteint avec cette plateforme.
  • Ensuite je n’ai pas envie de le laisser sur mon PC de bureau en machine virtuelle
  • Je n’ai pas envie d’un serveur et donc d’une consommation de 300w dans ma cave
  • Et enfin, je n’ai pas envie d’acheter un Rasberry PI, j’ai deux vieux périphériques Android qui trainent

 

  • Mon projet : Que ce smartphone avec une carte SIM, soit le centre de ma domotique.

Voilà donc son avis :

Testé avec des plugins Météo, et Xiaomi, je n’ai pas de plugins et actions utilisant une clé USB (Zwave/Ocean), cette installation me parait concluante pour mon installation cependant, je n’ai pas assez de recul pour assurer que tout est 100% fonctionnel.

J’ai aussi tatillonne pour y arriver. Cela fonctionne pour moi, et demande surement la revue de plus expérimentés. 

 

Préparation du téléphone :

Jeedom sur Android

 

Depuis l’interface de ‘Linux Deploy’, cliquer sur l’icône paramètres en bas a droite

Jeedom sur Android

Sélectionner Debian, puis mode Répertoires, SSH, utilisateur et mot de passe : jeedom (pas de majuscule)  .. Etc…

Jeedom sur Android

Jeedom sur Android

Jeedom sur Android

Jeedom sur Android

Ensuite, il faut Installer et Configurer. Si les droits Root vous sont demandés, je recommande de les accepter. Je n’ai pas encore testé sans cette option donc ne saurait que vous le conseiller.

Jeedom sur Android

Jeedom sur Android

Puis Démarrer.. et confirmer la popup..

Jeedom sur Android

Avec la configuration SSH précédemment effectuée, et à la vue du dernier message « <<< Start » dans la console vous devriez pouvoir vous connecter en SSH (22) sur votre périphérique (IP en haut à droite)

Pour ca.. Putty.. et on passe a l’étape II

 

Configuration de la machine Debian

Jeedom sur Android

Jeedom sur Android

A partir de là, Copier/Coller ces 60 lignes de code (de votre navigateur internet, ou depuis votre PC, vers le client SSH, les lignes suivantes…

#/ Configurer le compte Root

sudo passwd root

  (Taper et confirmer le mot de passe que vous souhaitez pour le compte Root)

#\ Install des paquets essentiels & python + configuration pip

sudo apt-get install -y vim fail2ban net-tools dos2unix wget zsh htop python-requests

wget https://bootstrap.pypa.io/get-pip.py

sudo python get-pip.py

sudo echo -e ‘

    ‘ | sudo tee -a /etc/pip.conf

    #/

    sudo echo -e ‘format=columns’ | sudo tee -a /etc/pip.conf

    #/ Install de MariaDB / MySQL + création du mot de passe

    sudo mkdir /var/run/mysqld

    sudo touch /var/log/mysqld.log /var/run/mysqld/mysqld.sock

    #\

    sudo chown -R mysql:mysql /var/run/mysqld /var/lib/mysql /var/log/mysqld.log

    sudo apt-get install -y mysql-server

    \/

    sudo /usr/sbin/usermod -a -G aid_inet,aid_net_raw mysql

    sudo /etc/init.d/mysql stop

    \/

    sudo mysqld_safe –skip-grant-tables –skip-networking &amp;amp;

    mysql -uroot

    use mysql; update user set password=PASSWORD(« jeedom ») where User=’root’; flush privileges; quit;

    sudo /etc/init.d/mysql stop

    sudo /etc/init.d/mysql start

    Mise à jour de l’ensemble et Install de Jeedom

    sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt -f install

    sudo wget –no-check-certificate https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh

    chmod +x install.sh

    sudo ./install.sh -w /var/www/html -m jeedom

    sudo echo -e « ServerName jeedom » | sudo tee -a /etc/apache2/apache2.conf 

    Create Stop-Start and Startup scripts

    sudo echo -e ‘‘ | sudo tee -a /var/www/html/phpinfo.php

    sudo echo -e ‘#!/bin/sh’ | sudo tee -a /etc/startJeedom.sh

    Et

    sudo echo -e ‘service apache2 start &’ | sudo tee -a /etc/startJeedom.sh

    sudo echo -e ‘service mysql start &’ | sudo tee -a /etc/startJeedom.sh

    Ensuite

    sudo echo -e ‘sleep 10s’ | sudo tee -a /etc/startJeedom.sh

    sudo echo -e ‘php /var/www/html/core/php/jeeCron.php’ | sudo tee -a /etc/startJeedom.sh

    Après

    sudo echo -e ‘#!/bin/sh -e’ | sudo tee -a /etc/rc.local

    sudo echo -e ‘sh /etc/startJeedom.sh’ | sudo tee -a /etc/rc.local

    On continue

    sudo echo -e ‘exit 0’ | sudo tee -a /etc/rc.local

    sudo echo -e ‘#!/bin/sh’ | sudo tee -a /etc/stopJeedom.sh

    \/

    sudo echo -e ‘service apache2 stop &’ | sudo tee -a /etc/stopJeedom.sh

    sudo echo -e ‘service mysql stop &’ | sudo tee -a /etc/stopJeedom.sh

    Ensuite

    sudo chmod +x /etc/rc.local /etc/startJeedom.sh /etc/stopJeedom.sh

    sudo chown root /etc/rc.local

    Puis

    sudo chmod 755 /etc/rc.local

    sudo sh /etc/stopJeedom.sh

    Ouverture de droits et groups pour Apache, Jeedom et les plugins

    sudo adduser www-data jeedom

    sudo adduser www-data aid_inet

    Puis

    sudo adduser jeedom www-data

    sudo chmod -R 775 /var/www

    Et ensuite

    sudo chown -R www-data:www-data /var/www

    sudo chown -R www-data:www-data /tmp/jee*

    Pour finir par

    sudo chmod -R 777 /tmp/jeedom-cache

    Enfin, le test en lançant les services comme au démarrage rc.local

    sudo /etc/rc.local start

    Tout installer prend une grosse demi-heure, mais va dépendre de la puissance de votre téléphone.

    Utilisation, finalisation..

    Ensuite , sur votre PC, connectez-vous sur l’adresse IP de votre téléphone Android depuis votre navigateur, constatez que phpinfo est correct, et que tout est bon dans la sante de Jeedom (admin/admin)

    http://IP/phpinfo.php               &           http://IP/index.php?v=d&p=health

    Maintenant… le plus simple : restaurer votre dernière sauvegarde et consulter les logs J!

    Rappels :

     

    Login / Passwd             Linux : jeedom/jeedom                Jeedom Web: admin/admin

    Verifier configuration Apache /usr/sbin/apache2 -V

    Toutes les erreurs sont             /var/log (mysql/apache)

    Racine web :                                  /var/www/html

    Config Jeedom                             racineWeb/core/config/common.config.php

    Version Linux                                                lsb_release -a (list version)

     

    Plans pour un futur proche :  Valider que tout est opérationnel

    • Programmer ensuite une sauvegarde hebdomadaire vers un disque ou cloud de la configuration et de jeedom

    Plus lointainement (oui… ça se dit), je souhaite reprendre et améliorer une application Android Client/ Serveur que j’avais créée -SMS2Vera. Elle est donc équivalente à Tasker mais comme mon compte Google est aussi interdit de paiements et que l’on n’est jamais mieux servi que par soi même.

    Cette application, à réception d’un SMS -selon un expéditeur en liste blanche- exécute donc une tache (requête http ou autre). Cette application gère en outre les accusés de réception et envoie du résultat et se configure intégralement via un fichier XML.

    Par exemple, on peut donc imaginer un texto « Allume la Chambre des Parents » envoyé depuis un numéro pré défini en liste blanche qui permettrait ainsi d’allumer ma chambre.

    A noter pour finir que la version pour le téléphone client a déjà la reconnaissance vocale aidée de Google API.

    Bref… il faut s’occuper… et je me régale ! 

    Voilà je tiens donc à remercier Pierrick O’Murphy pour ce tuto et cette découverte et surtout le fait de s’être lancé. Nous avons tous hâte de voir ton recul avec encore plus de temps. Merci à toi


     

    Partager sur :

    Infos de l'auteur

    Je m’appelle Ludovic Sarakha j’ai 32 ans et je suis habitant de Clermont-Ferrand. Concernant les études il faut savoir que bien que j’ai travaillé dans l’informatique (SSII internationale) et maintenant dans la domotique, j’ai un doctorat de Chimie des matériaux. Je suis un autodidacte passioné d'informatique, de domotique et de tout ce qui tourne autour des objets connectés

    24 commentaires

    1. Whao ! Ca c’est de la news qui va faire avancer la solution jeedom. Top !

      JeedomAndroid + JPI = Déploiement facile + Fonctionnel impressionnant = Outils qui tue !

    2. Merci Matthieu d’avoir rebondi sur le sujet du Nuc. Ça m’a pousse a finaliser cette installation.
      Pour la suite.. je suis dispo pour de-bug/questions et surtout optimisations 🙂

    3. Pingback: Notre Veille : Jeedom sur Android c'est possible - la solution -

    4. Impressionnant !!!
      On peut donc imaginer une Box TV Android qui deviendrait la centrale Domotique avec Jeedom… Et la y’a des ports USB (pour certaines…) donc Zwave… Oui je sais je vais loin mais bon on peut rêver car vu la puissance (supérieure a des RPI) et la conso, ce serait une solution intéressante même si j’avoue que le cote vieux tel avec carte SIM qui partage sa connexion en Wifi pour les modules permet une solution vraiment tres économique et surtout totalement autonome !!!

    5. Ah!!! interessant moi qui voulais passer une de mes android box en debian…
      je vais peut être faire le test déja sous android.

      Merci a toi pour le tuto

    6. Pingback: Jeedom sur Android c’est possible – la solution | Comparatif des Solutions Domotique

    7. Excellent. Je posssede la jeedom smart et une nvidia shield.Bien que la smart est excellente si je pourrai rationaliser mon installation en passant tous sur la shield ca serait une pure tuerie.Merci de faire avancer la communauté

    8. Pingback: Bilan de la Semaine 50 - La Domotique de Sarakha63

    9. Bonjour,

      En mode automatique, LINUX DEPLOY affecte 4 giga de taille « disque »
      Combien avez vous obtenu comme taille disque
      Si c’est 4 giga, JEEDOM ne risque t’il pas de devenir très vite « limite »

      Enfin, sur quoi, l’avez vous installé, quel appareil, quel marque, quel type ?

      L’avez vous rooté, ou était il rooté à l’achat..

      J’utilise beaucoup LINUX DEPLOY, et vous avez trouvé une bonne utilisation, mais il me semble que l’ensemble des commandes que vous avez utilisées pourraient être dans un script globale « prêt à l’emploi »

      En tous cas BRAVO …!

      Cordialement

    10. Salut Fabien.

      Un vieux smartphone dont l’écran est fissure .. un MLAIS très puissant mais bas de gamme, dont le root a été possible (voir le forum XDA).
      En mettant Linux Deploy en mode répertoires, j’ai cru comprendre que l’espace devenait partagé..
      A part les qqes méga de Jeedom, et les autres des plugins, outre les fichiers Log, je ne vois pas de soucis. Et a un moment, si il faut faire le ménage, un backup de Jeedom, et recommencer sur un Linux Deploy tout neuf.. en suivant d’une restauration.

      Pour le script global, oui.. je ne vois rien qui ne l’en empêche.. le script global pourrait être rajoute a l’installation de Jeedom (si détection d’un environnement Linux Deploy par exemple)

      Cette idée de Jeedom sur Android est juste pour essayer, et éviter d’avoir un PC allume ou des machines virtuelles chez moi .. j’ai boosté la rédaction d’une notice pour l’article mais j’avoue que je suis un peu sous l’eau sur un autre projet..

    11. Bonjour,
      je suis en train de tester votre tuto mais jai un probleme a la config python : lorsque je rentre ces 2 lignes :

      sudo echo -e ‘

      ‘ | sudo tee -a /etc/pip.conf

      rien ne se passe. Une idée ?

    12. Bonjour
      Super cette idée. Alors j’ai commencé la partie Android et là … je tombe sur une erreur au niveau Config: « Missing parameters :TARGET_PATH  » et donc je ne sais pas lancer la suite

      une idée peut être ? peut êre ai je zappé une partie du Tuto ?

    13. Merci pour tout ces efforts.. Un petit retour sur le proc que j’ai exécutée mais avec qq correctifs mineurs :
      ci après ma modeste contribution ::::

      #/ Configurer le compte Root
      #Avec sshdroid se connecter a la cible android. Et une fois connecté en root , passer la commande suivante
      #su -c « /data/user/0/ru.meefik.linuxdeploy/bin/linuxdeploy shell -u root »
      #pour demarrer et etre debian en mode emulé sous root et dans ce cas les sudo ne sont plus nécessaire
      # sudo passwd root
      #(Taper et confirmer le mot de passe que vous souhaitez pour le compte Root)
      #
      # Install des paquets essentiels & python + configuration pip
      sudo apt-get install -y vim fail2ban net-tools dos2unix wget zsh htop python-requests
      wget https://bootstrap.pypa.io/get-pip.py
      sudo python get-pip.py
      sudo echo -e  »

       » | sudo tee -a /etc/pip.conf

      sudo echo -e « format=columns » | sudo tee -a /etc/pip.conf
      #/ Install de MariaDB / MySQL + création du mot de passe
      sudo mkdir /var/run/mysqld
      sudo touch /var/log/mysqld.log /var/run/mysqld/mysqld.sock
      sudo apt-get install -y mysql-server ##### à faire avant la suivante ….
      sudo chown -R mysql:mysql /var/run/mysqld /var/lib/mysql /var/log/mysqld.log

      sudo /usr/sbin/usermod -a -G aid_inet,aid_net_raw mysql
      sudo /etc/init.d/mysql stop
      sudo mysqld_safe –skip-grant-tables –skip-networking \; ;
      # mysql -uroot use mysql; update user set password=PASSWORD(“jeedom”) where User=’root’; flush privileges; quit;
      mysql -uroot use mysql \; update user set password= »jeedom » where User= »root »\; flush privileges\; quit \;
      sudo /etc/init.d/mysql stop
      sudo /etc/init.d/mysql start
      #Mise à jour de l’ensemble et Install de Jeedom
      sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt -f install
      sudo wget –no-check-certificate https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh
      chmod +x install.sh
      sudo ./install.sh -w /var/www/html -m jeedom
      sudo echo -e “ServerName jeedom” | sudo tee -a /etc/apache2/apache2.conf
      #Create Stop-Start and Startup scripts
      sudo echo -e ‘‘ | sudo tee -a /var/www/html/phpinfo.php

      sudo echo -e ‘#!/bin/sh’ | sudo tee -a /etc/startJeedom.sh
      sudo echo -e ‘service apache2 start &’ | sudo tee -a /etc/startJeedom.sh
      sudo echo -e ‘service mysql start &’ | sudo tee -a /etc/startJeedom.sh
      sudo echo -e ‘sleep 10s’ | sudo tee -a /etc/startJeedom.sh
      sudo echo -e ‘php /var/www/html/core/php/jeeCron.php’ | sudo tee -a /etc/startJeedom.sh
      sudo echo -e ‘#!/bin/sh -e’ | sudo tee -a /etc/rc.local
      sudo echo -e ‘sh /etc/startJeedom.sh’ | sudo tee -a /etc/rc.local
      sudo echo -e ‘exit 0’ | sudo tee -a /etc/rc.local
      sudo echo -e ‘#!/bin/sh’ | sudo tee -a /etc/stopJeedom.sh
      sudo echo -e ‘service apache2 stop &’ | sudo tee -a /etc/stopJeedom.sh
      sudo echo -e ‘service mysql stop &’ | sudo tee -a /etc/stopJeedom.sh

      sudo chmod +x /etc/rc.local /etc/startJeedom.sh /etc/stopJeedom.sh
      sudo chown root /etc/rc.local
      sudo chmod 755 /etc/rc.local
      sudo sh /etc/stopJeedom.sh
      #Ouverture de droits et groups pour Apache, Jeedom et les plugins
      sudo adduser www-data jeedom
      sudo adduser www-data aid_inet
      sudo adduser jeedom www-data
      sudo chmod -R 775 /var/www
      sudo chown -R www-data:www-data /var/www
      sudo chown -R www-data:www-data /tmp/jee*
      sudo mkdir /tmp/jeedom-cache
      sudo chmod -R 777 /tmp/jeedom-cache
      #Enfin, le test en lançant les services comme au démarrage rc.local
      sudo /etc/rc.local start

      * Une suggestion : pourquoi ne pas utiliser les services standard /etc/init.d/* plutôt que rc.local ?
      ** Restorer à partir d’une sauvegarde :
      après avoir fais une remote copié de cette sauvegarde dans : /data/data/ru.meefik.linuxdeploy/env/rootfs/linux/var/www/html/backup
      et se reconnecter pour visualiser le fichier ainsi placé

      revoir la partie Market et appairage pour certain plugin ( freebox ou broadlink par exemple )
      voir même re-téléchargement des dépendances

    14. Bonjour,
      Je suis débutant et me lance dans de la domotique avec peu de budget et j’aprecie votre travail.
      Après suivi de vos commande pour une install sur un archos 50 D, l’install de jeedom semble s’etre bien déroule mais au final j’ai un message d’erreur :

      jeedom@localhost:~$ sudo /etc/rc.local start
      /etc/rc.local: 1: /etc/rc.local: ‘sh: not found
      /etc/rc.local: 2: /etc/rc.local: ‘exit: not found

      pouvez m’orientez sur la démarche pour remettre Android dans le droit chemin… ou je dois reprends la main ?
      Merci

    15. Bonjour, installation Ok sur une box yoka kb2 pro mais RFPLAYER non reconnu (pas de device/dev/ttyUSB visible pour la configuration du plugin Rfplayer.

      Une idée ???

      Merci d’avance.

    16. Bonjour,

      Installation OK sur un asus ZENFONE MAX Z010DA rooté.
      J’ai juste un problème d’installation des dépendances avec l’excellent plugin XIAOMI Home, j’ai tout un tas d’erreurs, est-ce que quelqu’un a déjà essayé ?

    17. Eric Deliessche le

      Bonjour,

      Je me réponds , si cela peut servir à quelqu’un.
      Dans le fichier /etc/pip.conf , il suffit de remplacer tout son contenu par les deux lignes ci-dessous. Cela règle le problème d’installation des plugins, et notamment celui qui m’intéresse , le Xiaomi Home. La gateway est reconnue et fonctionnelle.

      [global]
      extra-index-url=https://www.piwheels.org/simple

    Laisser un commentaire

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.