Configuration multizigate

Bonjour @kiwihc16

Je suis entrain d’installer une deuxième zigate et suis dans la configuration.
J’ai deux questions.

  1. Dans cette partie:

Editez le fichier de conf de monit en ouvrant le serveur monit et en ajoutant la connection Zigate:

vi /etc/monit/monitrc

set httpd port 2812
allow myuser:mypassword

check program monit_devZigate with path /root/monit_zigate_status.sh
start program = « /root/monit_zigate_start.sh »
stop program = « /root/monit_zigate_stop.sh »
if status != 0 then alert

A quoi correspond myuser:mypassword ? Celui du pi, de jeedom ?

  1. Dans la configuration du plugin, je mets nombre de zigate à 2, je sauvegarde, mais je ne peux que configurer une zigate. Qu’est-ce que j’ai loupé? Comment configurer le port serial pour deux zigate si on a seulement une entrée.
    Capture

Merci

Antoine

Bonjour @Tonio16

Ça ne répondra pas à ta question mais éclairera certainement mes lumières:

Ta première Zigate est en USB?
Ta seconde zigate est en USB?

C’est sur la même machine ou deux machines différentes?

Deux machines différentes.
Une apparait sous le port USB comme de normal car elle est sur la meme machine que mon jeedom.
La deuxième sous monit1.

Antoine

D’accord merci pour ta réponse ça éclaire à moitié mes lanternes :wink:

On va attendre la réponse de @kiwihc16

Mais vue la config je penche pour login/pass du PI

Question H.S. pourquoi tu n’utilise une WiFi zigate ?

Je ne veux pas de wifi dans ma domotique.

Antoine

1 « J'aime »

oui je vais aussi attendre car a l’heure actuelle j’ai deux jeedom sur deux pi différents avec chacun une clé zigate usb et abeille sur chacun deux et que je n’ai pas compris comment gérer autrement

1 « J'aime »

Premier soucis: si tu choisi 2 zigates et fait un sauvegarder tu dois avoir deux zigates proposées.

Ca c est avec la version beta actuellement disponible. Il y a eu des changements sur cette partie ces derniers mois alors tu as peut être une version trop vieille.

Pour la partie monit, c’est un peu la limite du plugin. Je veux dire qu’il y a tellement de façon de se connecter qu’il peut être difficile pour moi d’aider. C est un truc que j avais pour mes besoin perso.

Je ne suis pas sure de vouloir laisser cette option. Mais pour les personnes qui ont de l experience info, je la laisse. Je ne l’utilise plus sur mon propre système.

L’idée est d’avoir une zigate sur un système distant, de faire une connection serie sur IP. La partie monit permet de monitorer le fichier local donnant accès à la connection serie sur IP. En gros si le fichier est perdu alors on re-etablie la connection.

Je n’ai plus la configuration sur mes machine mais voici mes notes sur la solution que j’avais mise en place. Il y avait un sérieux SMS, un RFXCom, un Zwave, Une Zigate.

Monitoring services

Monit

apt-get install monit

https://linoxide.com/monitoring-2/monit-linux/
vi /etc/monit/monitrc
set httpd port 2812
allow myuser:mypassword

/etc/init.d/monit restart

vi /etc/monit/monitrc
## Check monitZigate1.
#
check program monit_monitZigate1 with path /root/monit_monitZigate1_status.sh
    start program = "/root/monit_monitZigate1_start.sh"
    stop  program = "/root/monit_monitZigate1_stop.sh"
    if status != 0 then restart

## Check RFXCom.
#
check program monit_ttyRFXCom with path /root/monit_ttyRFXCom_status.sh
    start program = "/root/monit_ttyRFXCom_start.sh"
    stop  program = "/root/monit_ttyRFXCom_stop.sh"
    if status != 0 then restart

## Check Zwave.
#
check program monit_ttyZwave with path /root/monit_ttyZwave_status.sh
    start program = "/root/monit_ttyZwave_start.sh"
    stop  program = "/root/monit_ttyZwave_stop.sh"
    if status != 0 then restart

## Check SMS.
#
check program monit_ttySMS with path /root/monit_ttySMS_status.sh
    start program = "/root/monit_ttySMS_start.sh"
    stop  program = "/root/monit_ttySMS_stop.sh"
    if status != 0 then restart

root@jeedompro:~# ls -l
-rwxr--r-- 1 root root    144 déc.  14 01:16 monit_monitZigate1_process.sh
-rwxr--r-- 1 root root     72 déc.  13 23:58 monit_monitZigate1_start.sh
-rwxr--r-- 1 root root    113 déc.  13 23:58 monit_monitZigate1_status.sh
-rwxr--r-- 1 root root     99 déc.  14 00:17 monit_monitZigate1_stop.sh
-rwxr--r-- 1 root root    141 déc.  14 01:16 monit_ttyRFXCom_process.sh
-rwxr--r-- 1 root root     69 déc.  14 00:23 monit_ttyRFXCom_start.sh
-rwxr--r-- 1 root root    110 déc.  14 00:23 monit_ttyRFXCom_status.sh
-rwxr--r-- 1 root root    102 déc.  14 00:23 monit_ttyRFXCom_stop.sh
-rwxr--r-- 1 root root    138 déc.  14 01:16 monit_ttySMS_process.sh
-rwxr--r-- 1 root root     66 déc.  14 00:44 monit_ttySMS_start.sh
-rwxr--r-- 1 root root    107 déc.  14 00:45 monit_ttySMS_status.sh
-rwxr--r-- 1 root root     99 déc.  14 00:45 monit_ttySMS_stop.sh
-rwxr--r-- 1 root root    140 déc.  14 01:16 monit_ttyZwave_process.sh
-rwxr--r-- 1 root root     68 déc.  14 00:30 monit_ttyZwave_start.sh
-rwxr--r-- 1 root root    109 déc.  14 00:30 monit_ttyZwave_status.sh
-rwxr--r-- 1 root root    101 déc.  14 00:30 monit_ttyZwave_stop.sh


root@jeedompro:~# cat monit_monitZigate1_process.sh
#!/bin/sh
while true
    do
	/usr/bin/nohup /usr/bin/socat pty,raw,echo=0,waitslave,link=/dev/monitZigate1  tcp:abeille:3336 
    done
exit $?

root@jeedompro:~# cat monit_monitZigate1_start.sh
#!/bin/sh
/usr/bin/nohup /root/monit_monitZigate1_process.sh &
exit $?

root@jeedompro:~# cat monit_monitZigate1_status.sh
#!/bin/sh
ps -ef | grep "/usr/bin/socat pty,raw,echo=0,waitslave,link=/dev/monitZigate1" | grep -v grep
exit $?

root@jeedompro:~# cat monit_monitZigate1_stop.sh
#!/bin/sh
kill `ps -ef | grep "monit_monitZigate1" | grep -v grep | awk '{ print $2 }'`
exit $?


Machine déportée:
Install fresh raspbian

apt-get install ser2net


root@Abeille:/root# cat /etc/ser2net.conf 
#
# Zwave
3333:raw:0:/dev/ttyACM0:115200 8DATABITS NONE 1STOPBIT
# RFXCom
3334:raw:0:/dev/ttyUSB1:38400 8DATABITS NONE 1STOPBIT
# SMS
3335:raw:0:/dev/ttyUSB2:115200 8DATABITS NONE 1STOPBIT
# Zigate
3336:raw:0:/dev/ttyUSB0:115200 8DATABITS NONE 1STOPBIT

+ adaptation udev


Ancienne méthode:


www-data@jeedompro:~$ cat /etc/init.d/socat 
#! /bin/bash
### BEGIN INIT INFO
# Provides:          provides socat connections for jeedompro for remote access to serial devices
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: socat service
# Description:       Run Socat service
### END INIT INFO
# Carry out specific functions when asked to by the system
case "$1" in
  start)
	echo "Starting Socat..."
    	sudo -u root bash -c 'nohup socat pty,raw,echo=0,waitslave,link=/dev/ttyUSB0  tcp:jeedomzwavehw:3333 &'
	sudo -u root bash -c 'nohup socat pty,raw,echo=0,waitslave,link=/dev/ttyUSB1  tcp:jeedomzwavehw:3334 &'
	sudo -u root bash -c 'nohup socat pty,raw,echo=0,waitslave,link=/dev/ttySMS   tcp:jeedomzwavehw:3335 &'
	sudo -u root bash -c 'nohup socat pty,raw,echo=0,waitslave,link=/dev/ttyUSB3  tcp:jeedomzwavehw:3336 &'
	sudo -u root bash -c 'chmod 777 /dev/ttyUSB0'
	sudo -u root bash -c 'chmod 777 /dev/ttyUSB1'
	sudo -u root bash -c 'chmod 777 /dev/ttySMS'
	sudo -u root bash -c 'chmod 777 /dev/ttyUSB3'

    	;;
  stop)
	echo "Stopping Socat..."
    	bash -c 'killall socat'
    	sleep 2
    	;;
  *)
	echo "Usage: /etc/init.d/socat {start|stop}"
	exit 1
    	;;
esac
exit 0

Salut

Le sauvegarder correspond au quel? Celui global du plugin ou seulement celui de la fenêtre de configuration de la zigate?
Car j’avais bien fait un sauvegarder dans la configuration zigate sans voir apparaître le deuxième emplacement pour le port.

Je vais mettre à jour le plugin à la dernière beta et on verra si cela résout le problème.

Antoine

C’est celle que tu donnes sur ton site, d’ou ma question.
Perso, j’avais utilisé ser2net avec un rflink et on pouvait entrer directement l’Ip et le port dans la configuration sans utiliser un outils comme monit. Est-ce envisageable ici?

Antoine

Ce tuto, en anglais, semble apporter la solution pour la configuration avec Socat et ser2net.

il me semble que @mich0111 avait fait un tuto sur ce principe ?

A moins que je ne me trompe, pas sûr que cela corresponde.
Mon tuto correspondait au déport de ports USB.

Ben c’est a peut prés de ça dont on parle …
remet le lien chacun se fera une idée…

Ok, j’ai lu le post en diagonale.
Voilà le lien :

1 « J'aime »

Dans la solution que je partage plus haut c est sur la base de socat et ser2net.
La partie monit n est la que pour re établir la connection quand elle est perdue. C est en plus et pas nécessaire.
J avais fait ça pour avoir une solution plus robuste.

Dans la configuration du plugin, je mets nombre de zigate à 2, je sauvegarde, mais je ne peux que configurer une zigate. Qu’est-ce que j’ai loupé? Comment configurer le port serial pour deux zigate si on a seulement une entrée.

En fait, après avoir sauvegarder pour passer à deux zigate, il faut fermer la fenêtre de configuration et la rouvrir.

Pour socat, tu n’expliques pas sa configuration dans ta page. Il apparaît sur une ligne puis plus rien, ce qui m’a laissé penser qu’il était inutile. En tout cas, j’ai réussi à avoir ma deuxième zigate dans le plugin. J’ai ajouté un dispositif pour faire mes tests.

Mais que conseilles tu comme outils maintenant pour configurer le multizigate? Tu sembles dire que tu n’utilises plus cette solution.

Antoine

Multi zigate j usilise a fond.
C est la solution ser2net (a mettre en place sur l equipement distant par l utilisateur) et socat (intégré dans Abeille) que je n’utilise pas.
Dans mon experience, la connection ser2net-socat est « fragile » pour un systeme qui tourne 24h/24. Donc j’avais essayé de solidifier la solution avec monit mais meme avec tout ca, je perdai trop souvent soit le modem pour SMS, soit la zigate, soit le RFXCom, soit Zwave. Donc je suis revenu au connections directes en USB.
Sur mon systeme, j’ai:

  • sms, zwave, 2x zigate en USB
  • 2x Zigate en Wifi

Et maintenant tout est stable.