Connexion station meteo

L’arborescence est bonne.

J’ai ça chez moi :

root@gladys:/var/lib/gladysassistant/mosquitto# ls -l
total 8
-rw-r--r-- 1 1883 1883 111 Sep 20 04:52 mosquitto.conf
-rw-r--r-- 1 1883 1883 120 Sep 20 04:52 mosquitto.passwd

j ai exactement la meme chose à ce niveau
mais par contre quand je fais un cat mosquitto.conf en ligne 3 j ai une reference à un repertoire config qui du coup me semble étonnante (je peux pas te faire un copier coller, je dialoque depuis un pc portable w et je manip en // sur mon serveur sous ubuntu)

La conf référence l’intérieur du container qui est mappé à l’extérieur. C’est pas les mêmes dossiers, et c’est normal :slight_smile:

ou sont installé gladys et mqtt à l exterieur ? a part ce que je vois sous /var/lib/ je ne vois rien…

Il n’y a rien d’autre.

Ce sont des containers docker, tout est isolé via Docker.

et donc mon pb avec mqtt qui boucle en permanence au redemarrage reste un mystère insoluble ?

Problème de droits, quand tu as “résolu” ces problèmes d’accès sur ton hôte tu as exécuter quelles commandes.

Pour qu’on t’aide ils nous faut des billes.

Que donne le ls -l? ( ça sous entend que j’aimerai voir la sortie) :wink:

@VonOx ,
des billes , que je pense avoir dejà donnés au fils des echanges,

j ai fait du chmod et du add group pour tout cela (petit rappel, bien qu en retraite depuis 2 ans, avant d etre directeur de projet informatique, j etais analyste-programmeur puis admin systeme… et non un bidouilleur du dimanche)

repertoire docker : proprietaire root droit 710
gladysassistant propriétaire root droit 755

le user Sylvain (moi) est admin, membre du group docker.
mais j ai l impression que les droits sur docker a chaque redemarrage de docker revienne à 710 alors que je les up a chaque perte de lien gladys mqtt.

je peux pas envoyer de copie d ecran, j echange depuis un pc different du srveur ubuntu

Tu te méprends, je ne juge pas de ton niveau ni de ce que tu décrit plus haut.

Mais on est tous là sur notre temps libre et les journées n’ont que 24h

Je préfère ça

Qu’un long discours qu’il faut projeter pour essayer de comprendre l’état de ta machine et ton environnement.

1 « J'aime »

Hello @VonOx ,
Je comprends, mais mon server ubuntu où est installé gladys n est pas ouvert sur le net et n à pas de partage de ressource avec mes pc standard ( notamment w) d où j échange vers le net donc récupérer des copie d écran pour les transférer vers un autre poste est lourd d où une démarche explicative plutôt que des images…

Dans mon passé informatique l architecture dockers n existait pas mais je vais m y faire…
Malgré la retraite je ne cesse la veille technologique et la programmation, notamment C et Delphi.

Pour le cas qui me préoccupe, j envisageais un truc : arrête gladys et mqttt, et relancer une procédure d installé des containers sans desinstaller les existants . Est ce que cela peut marcher sans perdre ce que j ai déjà implémenter…


Ton client ID ne doit contenir que des caractères alphanumériques (minuscule/majuscule et de 0 à 9)
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Toc442180945

3.1.3.1 Client Identifier
The Client Identifier (ClientId) identifies the Client to the Server. Each Client connecting to the Server has a unique ClientId. The ClientId MUST be used by Clients and by Servers to identify state that they hold relating to this MQTT Session between the Client and the Server [MQTT-3.1.3-2].
The Client Identifier (ClientId) MUST be present and MUST be the first field in the CONNECT packet payload [MQTT-3.1.3-3].
The ClientId MUST be a UTF-8 encoded string as defined in Section 1.5.3 [MQTT-3.1.3-4]. 
The Server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length, and that contain only the characters
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" [MQTT-3.1.3-5].


ton nom de server est bizarre, mqtt:localhost devrait suffire…

Ssh?
Comment tu récupères les images docker et met à jour ?

Hello @VonOx ,
pour tout te dire ce serveur est connecté par cable rj45, et l acces externe internet ne se fait qu une fois par jour de façon aléatoire via cron et un scriptshell pour gerer la maintenance et mise à jour, en attendant que j ai finalisé mon reseau openvpn (20 ordi avec des conf differentes cela me prends du temps d autant que je fais du dev et d autres choses, et que ma vision de structure reseau change reguliérement, notamment je veux eviter au max le wifi et passer au max cable cat7 car ayant un defibrillateur j ai une certaine sensibilité aux ondes).
mais bon pour avancer j arrete ce cron et met un tunnel ssh entre serveur et mon pc.
j ai trop envie d avancer et de faire avancer ce projet gladys qui me plait et auxquel j espere bien contribuer.

drwx--x--- 13 root          root          4096 mars   1 10:37 docker
drwxr-xr-x  7 root          root          4096 mars   1 11:40 dpkg
drwxr-xr-x  3 root          root          4096 août  19  2021 emacsen-common
drwxr-xr-x  2 root          root          4096 févr. 22  2021 fprint
drwxr-xr-x  6 root          root          4096 févr. 18 16:29 fwupd
drwxr-xr-x  5 gdm           gdm           4096 févr. 18 12:14 gdm3
drwxr-xr-x  2 geoclue       geoclue       4096 févr. 28  2020 geoclue
drwxr-xr-x  4 root          root          4096 août  19  2021 ghostscript
drwxr-xr-x  3 root          root          4096 févr. 27 12:22 gladysassistant

@cce66 ,
bonjour, je prends note de tes remarques mais,

onglet mqtt-brocker node
sur le fait de n utiliser que l alpha sur le client id et donc pas de ‘:’ pose un pb avec la preconisation faite par Gladys ?

sur le mqtt:station@mqtt://locahost cela vient de la concat auto sur l onglet mqtt-brocker lorsque l on parametre le serveur avec client Id (ici mqtt:station)
mais entre le name de l onglet mqtt out node et le client id de l onglet mqtt-brocker(qui semble etre obligatoire si la coche clean session n est pas validée) cela joue sur l affichage du nom server et du nom du node
donc j essaie quoi d apres toi? j enleve les 2 points, je ne renseigne pas name, je coche clean session ?
ayant tjs mon container mqtt en rade je peux faire modif mais pas tester…

@VonOx
pour info

sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS                           PORTS     NAMES
aa8c8b74f383   nodered/node-red            "npm --no-update-not…"   7 days ago   Up 2 hours (healthy)                       node_red
68d827fb2fc4   eclipse-mosquitto:2         "/docker-entrypoint.…"   9 days ago   Restarting (13) 44 seconds ago             eclipse-mosquitto
cd81adf45432   gladysassistant/gladys:v4   "docker-entrypoint.s…"   9 days ago   Up 2 hours                                 gladys
sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS                 PORTS     NAMES
aa8c8b74f383   nodered/node-red            "npm --no-update-not…"   7 days ago   Up 3 hours (healthy)             node_red
68d827fb2fc4   eclipse-mosquitto:2         "/docker-entrypoint.…"   9 days ago   Up 2 seconds                     eclipse-mosquitto
cd81adf45432   gladysassistant/gladys:v4   "docker-entrypoint.s…"   9 days ago   Up 3 hours                       gladys
sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS                          PORTS     NAMES
aa8c8b74f383   nodered/node-red            "npm --no-update-not…"   7 days ago   Up 3 hours (healthy)                      node_red
68d827fb2fc4   eclipse-mosquitto:2         "/docker-entrypoint.…"   9 days ago   Restarting (13) 5 seconds ago             eclipse-mosquitto
cd81adf45432   gladysassistant/gladys:v4   "docker-entrypoint.s…"   9 days ago   Up 3 hours                                gladys
sylvain@synapsat10:/var/lib$

C’est surtout un problème pour une application tierce, pour gladys c’est codé pour l’accepter même si c’est pas ‹ standard › mais je pense que cela sera modifié par les dev quand il y aura le temps pour cela !
pour mqtt:station@mqtt://locahost là je suis pas sur que cela fasse pas planter au niveau de l’interprétation coté node-red.
Essaie avec mqtt:localhost et alpha comme indiqué plus haut et donnes un retour ! :wink:

Blockquote

On est en train de traiter 2 problèmes. La station météo sur node red ( ça c’est du flow ça va aller)

Ensuite le conteneur mqtt ( il est ko) et on sait à priori pourquoi, le fichier passwd n’est pas accessible pour le conteneur.

Edit: a vous relire j’ai l’impression que vous confondez topic et client id ?

Je suis en train de penser que si la mise à jour est coupée en cours de route ca va pas améliorer la stabilité, il y a peut-être eu pour le coup un pet du docker mosquito, il faudrait installer le container watchtower et le paramétrer pour qu’il se déclenche en même temps que ta connexion !

non non, dans la 1ère capture il y a bien le « Client ID » paramétré avec un nom « mqtt:station » et dans la 2d le nom de serveur qui est pas conventionnel (après j’ai pas regardé au niveau code comment node-red le traite :exploding_head:) et le topic qui comporte ce « mqtt: » qui alourdit mais reste dans la limite d’un topic (256 caractères max normalement alphanumérique plus espace et -)
https://homieiot.github.io/specification/spec-core-v1_5_0/
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd02/mqtt-v3.1.1-csprd02.html#_Toc385349842

### 4.7.3 Topic semantic and usage
The following rules apply to Topic Names and Topic Filters:
* All Topic Names and Topic Filters MUST be at least one character long [MQTT-4.7.3-1]
* Topic Names and Topic Filters are case sensitive
* Topic Names and Topic Filters can include the space character
* A leading or trailing ‘/’ creates a distinct Topic Name or Topic Filter
* A Topic Name or Topic Filter consisting only of the ‘/’ character is valid
* Topic Names and Topic Filters MUST NOT include the null character (Unicode U+0000) [[Unicode](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd02/mqtt-v3.1.1-csprd02.html#Unicode)] [MQTT-4.7.3-2]
* Topic Names and Topic Filters are UTF-8 encoded strings, they MUST NOT encode to more than 65535 bytes [MQTT-4.7.3-3]. See Section 1.5.3
There is no limit to the number of levels in a Topic Name or Topic Filter, other than that imposed by the overall length of a UTF-8 encoded string. When it performs subscription matching the Server MUST NOT perform any normalization of Topic Names or Topic Filters, or any modification or substitution of unrecognized characters [MQTT-4.7.3-4]. Each non-wildcarded level in the Topic Filter has to match the corresponding level in the Topic Name character for character for the match to succeed.

J’ai bien vu que le « Client ID » est le nom de l’objet que donne un objet au broker pour lui dire je m’appelle « Client ID » et je m’abonne à un topic qui est une chaine parsée par des / publiée par un autre objet ou je m’appelle « Client ID » et je publie un topic qui est encore une chaine parsée par des /, le broker ne fait que maintenir cette liste à jour et diffuser les messages publiés par des objets quand il les reçoit aux objets qui s’y sont abonnés. J’ai eu le souci de nom pour connecter gladys avec mon ipx800v5 (qui embarque du mqtt plus restrictif au niveau des noms) et j’ai contourné avec node-red qui est plus souple (pour le moment) :wink: C’est presque similaire à la POO au niveau des propriétés et méthodes ! :slightly_smiling_face:
Sinon pour revenir à la config gladys et c’est le lien que je voulais voir au niveau de node-red c’est le nom donné à « url du broker » car dans la partie node-red @Einstein8854 met comme nom de server « mqtt:station@mqtt://localhost » s’il a créé le mosquito avec les mêmes paramètres cela va pas référencer le même serveur donc pas avec le bon password d’ou ma remarque !

Vin diou cela me rappelles des souvenirs :thinking:, j’étais passé de vb3 à Delphi avant de passer sur vb5 et vb6 (ah les joies de la poo, l’héritage, le polymorphisme, les api et ses kilomètres de doc :sob: qui ont usé les neurones ! :exploding_head:) maintenant c’est plus du windev express qui m’amuses :crazy_face: que de progrès pour les dinosaures du clavier :rofl:!

@cce66
bonjour ,
sur l onglet mqtt out de nodered, j ai mqtt://localhost si dans le parametage de la connection (cf copie ecran) je ne met rien dans le name, et dans ce cas je dois coché “use clean connexion” sinon erreur au deploy