Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Non supporté] Xiaomi : Installation du plugin sur docker (Synology)

guirem
Timide
Messages : 276
Inscription : 31 août 2017, 00:41

[Non supporté] Xiaomi : Installation du plugin sur docker (Synology)

Message par guirem » 02 sept. 2017, 22:19

Bonsoir,

Pour ceux qui utilisent docker vous pouvez faire fonctionner le gateway en forcçant la réception des trames multicast sur le container (j'utilise Docker sous Synology). Apparemment Docker n'est officiellement pas supporté mais après le procédure ci dessous tout à l'air de fonctionner.

Il suffit d'installer pipework (https://github.com/jpetazzo/pipework) sur la machine hôte et de lancer une commande qui va ajouter une interface réseau sur le container docker afin qu'il fasse parti du même réseau que le gateway et donc puisse recevoir les trames multicast nécessaire à la découverte automatique.
Cela a très bien fonctionné sur mon installation.

Les étapes:
- Installation de pipework dans un répertoire
sudo bash -c "curl https://raw.githubusercontent.com/jpeta ... r/pipework > pipework

- S'assurer que le container docker tourne

- Lancer la commande suivante :
sudo ./pipework <interfaceHoteSrc> "<nomducontainer>" <IPcontainer>/<masque>@<gatewayRéseau>
ex: sudo ./pipework ovs_eth0 "jeedom" 192.168.1.8/24@192.168.1.1
Note: ovs_eth0 est le nom de mon interface qui accède au même réseau que le gateway sur mon Synology (192.168.1.X).
Si la commande ne renvoie rien, cela a fonctionné. On peut vérifier que l'interface existe bien sur la page web jeedom dans Configuration > Configuration réseau.

- Il manque encore l'étape ou cette commande se lance au démarrage du docker jeedom mais à ce stade je ne suis pas certain d'en avoir besoin une fois la découverte effectuer. Je pense mettre cela dans une tâche planifiée dans Synology et le lancer au besoin. Il semble que oui donc en théorie la commande ne pourrait être lancée que lorsque l'on souhaite ajouter de nouveaux capteurs.

Cordialement

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Installation du plugin sur docker (Synology)

Message par lunarok » 02 sept. 2017, 22:29

guirem a écrit :
02 sept. 2017, 22:19
Apparemment Docker n'est officiellement pas supporté mais après le procédure ci dessous tout à l'air de fonctionner.
Alors, on va encore corriger :

Utilisation
Attention, sur Docker Synology le plugin n'est pas supporté.
En cas de virtualisation/docker il faut être en mesure de pouvoir recevoir les trames broadcast du réseau.

Voilà ce qu'il y a sur le market.
Donc c'est Docker globalement ? Non Docker sur Syno d'abord à cause des limitations propre à cette plateforme.
Pour un usage autres, voir la deuxième ligne. Il faut recevoir les trames broadcast
guirem a écrit :
02 sept. 2017, 22:19
- Il manque encore l'étape ou cette commande se lance au démarrage du docker jeedom mais à ce stade je ne suis pas certain d'en avoir besoin une fois la découverte effectuer. Je pense mettre cela dans une tâche planifiée dans Synology et le lancer au besoin. Il semble que oui donc en théorie la commande ne pourrait être lancée que lorsque l'on souhaite ajouter de nouveaux capteurs.
Ah bon ? Dommage, parceque la gateway ne parle qu'en broadcast, la découverte n'est qu'un passage. Mais toute la réception d'infos (capteurs) passe par là. Ah et le token gateway aussi (pour pouvoir passer des actions sur la gateway ou des prises par exemple)
Donc sans le broadcast, ben la gateway tu la ranges.
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: Installation du plugin sur docker (Synology)

Message par fensoft » 02 sept. 2017, 22:59

peace and love !
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

guirem
Timide
Messages : 276
Inscription : 31 août 2017, 00:41

Re: Installation du plugin sur docker (Synology)

Message par guirem » 03 sept. 2017, 02:04

Mouai merci pour le retour. La prochaine fois je garde ça pour moi.

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: Installation du plugin sur docker (Synology)

Message par fensoft » 03 sept. 2017, 09:18

Non c'est cool d'avoir partagé ça.
Lunarok veut pas se faire chier à faire du support pour toutes les configurations DIY ou qui sortent un peu des clous mais ça veux pas dire que ton post est inutile, bien au contraire !
Merci à toi en tout cas !
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Installation du plugin sur docker (Synology)

Message par lunarok » 03 sept. 2017, 09:21

Voilà, c'est pour corriger mais surtout dire qu'il suffit pas de copier coller et ca marchera sans soucis donc aucun soucis avec Docker sur Syno. Vous faites ce que vous voulez, mais pour moi c'est pas du out of the box, donc pas supporté.
Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: Installation du plugin sur docker (Synology)

Message par fensoft » 03 sept. 2017, 09:30

Un simple "la gateway ne fonctionne qu'en multicast" aurait suffit.
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

Avatar de l’utilisateur
lunarok
Actif
Messages : 6704
Inscription : 08 août 2014, 12:48
Localisation : Anjou

Re: Installation du plugin sur docker (Synology)

Message par lunarok » 03 sept. 2017, 09:37

Ca c'est indiqué aussi (c'est pas spécifique a docker syno, CZ touche aussi de la virtualisation dans certaines conf, surement par exemple les VM syno a venir)

Mais avec ESX ou container proxmox (donc lxc, donc docker legacy) pas de soucis de base.

Envoyé de mon ONEPLUS A3010 en utilisant Tapatalk

Mon Blog | Xiaomi Home
Pour contribuer au développement des plugins (don ou achat de matériel) : Paypal
Aides nous à t'aider : les logs, détails du soucis, la doc, recherche sur le forum ...
PS : pas de support par MP, je ne répondrais pas

guirem
Timide
Messages : 276
Inscription : 31 août 2017, 00:41

Re: Installation du plugin sur docker (Synology)

Message par guirem » 03 sept. 2017, 10:24

Je comprends que toutes les configurations exotiques ne peuvent être officiellement supportées.

Dans mon cas je suis passé un peu vite sur ce qui était écrit sur le market et j'ai acheté tout un kit Xiaomi. Donc au lieu de tout renvoyer en Chine je tente de le faire fonctionner sur mon installation actuelle. J'ai cru voir dans d'autres discussions que des personnes étaient aussi dans ce cas.

@lunarok, tu peux peut être changer le titre de la discussion en mettant quelque chose du genre "[Non supporté] devant"?

Anonyme
Actif
Messages : 10082
Inscription : 09 août 2014, 12:15

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par Anonyme » 03 sept. 2017, 10:25

Contenu supprimé à la demande de son auteur

Macho
Timide
Messages : 6
Inscription : 05 sept. 2017, 01:54

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par Macho » 05 sept. 2017, 09:38

Salut,

C'est globalement la meme installation que moi :

Syno / Docker et Jeedom qui tourne dessus.

Je bloque actuellement sur la découverte de la Gateway par Jeedom (tout fonctionne impeccablement via Xiaomi Home).

Dans ma conf réseau de jeedom, j'ai bien repris l'ip donnée par ifconfig mais évidement ca ne suffit pas (172.17....)

Je tente ton tuto ce soir et je te dis ce qu'il en est ;)

Merci pour les infos

ikariya
Timide
Messages : 50
Inscription : 27 août 2017, 09:33

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par ikariya » 05 sept. 2017, 10:32

n'empeche que une version docker propre ce serait pas mal pour faire du paramétrage et eviter de tout foutre en l'air un serveur avec tous les paquets qui s'installent avec PIP, sans parler de PIP lui même qui assez souvent mets un vaste foutoir.

Apres on peut imaginer aussi plusieurs instances de jeedom qui tournent en parallèle avec des droits/acces différents pour cloisonner le pilotage de toute la domotique.

Bon ça peut se resoudre en machines virtuelles mais docker c'est quand même bien pratique pour faire tourner des serveurs minimalistes !

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par fensoft » 05 sept. 2017, 11:32

je pensais sérieusement à refaire tout le docker jeedom officiel. peut-être un jour si j'ai le temps...
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

Macho
Timide
Messages : 6
Inscription : 05 sept. 2017, 01:54

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par Macho » 05 sept. 2017, 11:58

Si cette manip résoud le pb assez facilement, pk pas, autrement ca reste quand meme pas mal de bidoullle pour une solution orientée un peu sécu quand meme :(

Anonyme
Actif
Messages : 10082
Inscription : 09 août 2014, 12:15

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par Anonyme » 05 sept. 2017, 20:04

Contenu supprimé à la demande de son auteur

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par fensoft » 05 sept. 2017, 20:09

en quoi c'est différent ?
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

guirem
Timide
Messages : 276
Inscription : 31 août 2017, 00:41

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par guirem » 05 sept. 2017, 23:58

Bonsoir,

Pour compléter mon premier message et surtout la dernière étape qui consiste à s'assurer qu'au redémarrage du synology et/ou docker, la nouvelle interface/IP se configure correctement j'utilise ce script.

-------------
#!/bin/sh

# setting section
DOCKERNAME=jeedom # jeedom docker name
IP=192.168.1.8 # docker new ip
GATEWAY=192.168.1.1 # internet gateway
ETHERNETNAME=ovs_eth0 # synology main interface name

PIPEWORKPATH=/volume1/<pathToPipeworkScript>
# -------------------

DOCKERRET=`docker inspect -f {{.State.Running}} $DOCKERNAME`

# will run script only if ip is not available AND docker is running
if [[ "$DOCKERRET" == "true" ]] # docker is running
then
PINGRET=`ping -c 1 $IP &> /dev/null ; echo $?;`
if [[ $PINGRET -ne 0 ]] # ip not available
then
echo "Assigning IP $IP to docker $DOCKERNAME"
/bin/sh $PIPEWORKPATH $ETHERNETNAME "$DOCKERNAME" $IP/24@$GATEWAY &> /dev/null
fi
fi

-----------

Je ai placé ce script dans un répertoire sur le volume 1 du nas (dans le même que le script pipework) et configuré une tâche planifiée via le dsm synology pour tourner toutes les 10 minutes en root. En gros ça va créer la nouvelle interface uniquement si le docker tourne ET l'IP ne ping pas (donc n'est pas créée). Donc au pire 10 minutes sans accès aux composants Xiaomi ce qui n'est pas catastrophique.

D'une manière plus générale, avec le docker jeedom synology j'ai toujours eu des résultats aléatoires en cas de redémarrage car y'a des services qui démarrent mal :
- apache qui ne démarre pas 2 fois sur 3 (pb docker)
- clé usb zwave qui ne se lance pas bien (interface non reconnue)
- clé usb teleinfo dans de plus rare cas (interface non reconnue)
- d'autres trucs qui ne tourne pas/plus (plugin conso par exemple)
En gros en cas de redémarrage il faut être pas trop loin pour bricoler un peu. La plupart du temps le redémarrer plusieurs fois règle le problème mais comme je l'ai dit c'est aléatoire.
En revanche très peu de soucis avec le plugin Xiaomi!

Bonne soirée

Avatar de l’utilisateur
fensoft
Actif
Messages : 1314
Inscription : 07 mai 2015, 11:26

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par fensoft » 06 sept. 2017, 08:33

tu peux faire une crontab @reboot aussi, voir https://fr.wikipedia.org/wiki/Cron#Raccourcis
Coin!
Thermostat lowcost MaxCube DataTransfert (upload vers cloud)
Développeur embarqué (rtos/drivers linux/c/xilinx/atmel/pic/arm/mips), système (linux,docker,qnx), scientifique (c++/python/mongodb), web (php/mysql), webservices (java/nodejs)

guirem
Timide
Messages : 276
Inscription : 31 août 2017, 00:41

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par guirem » 06 sept. 2017, 19:32

Oui mais ça ne prend pas le cas du docker qui redémarre mais pas le host (synology).
Puis on ne fait pas ce que l'on veut avec les tâches planifiées synology via l'interface web..

Macho
Timide
Messages : 6
Inscription : 05 sept. 2017, 01:54

Re: [Non supporté] Installation du plugin sur docker (Synology)

Message par Macho » 10 sept. 2017, 23:50

Salut à tous ,

Alors pour ma part voici les étapes :
Je veux donner l'ip 192.168.1.80 à jeedom

- Connexion en ssh sur mon syno, docker jeedom et mysql qui tournent
- Lancement de la commande : sudo bash -c "curl https://raw.githubusercontent.com/jpeta ... r/pipework > pipework => pas d'erreur
- Lancement de la commande sudo ./pipework eth0 "jeedom" 192.168.1.80/255@192.168.1.254 => pas d'erreur
- Sur l'interface jeedom , dans les parametres réseaux interne : 192.168.1.80 sur le port 80 => Statut OK
- Via le plugin Network , j'ai ajouté la GW avec son ip => rien

L'url pour l'install de pipework semble ok( elle n'est pas complète dans ton post), j'ai choisi le masque 255 je pense être ok, et le port 80 ou 9080 sur la conf réseaux interne ne donne rien non plus ...(ils sont ok simplement via l'interface) J'ai bien entendu les capteurs / gateay qui fonctionnent avec l'appli Xiaomi

J'ai raté quelque chose selon toi ? :(

Répondre

Revenir vers « Docker »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités