Aller au contenu

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

Weewx


BMGB-59

Messages recommandés

Il y a 2 heures, Sayber a dit :

Non ca change rien, j'ai plus l'impression d'avoir un problème avec mqtt, je n'arrive pas à publier des messages de test de type

mosquitto_pub -d -t testTopic -m "Hello world!"

Je vois que tu utilises un nom d'utilisateur et mot de passe dans tes configurations weewx.conf et skin.conf pour te connecter à mosquitto .

 

As-tu désactivé l'accès anonyme à mosquitto ? 

Si c'est le cas, vérifie alors le ficher acl.conf de mosquitto pour être sûr que l'utilisateur concerné à bien les droits "readwrite" pour le topic "weather/loop"

Lien à poster
Partager sur d’autres sites

  • Réponses 1,1k
  • Créé
  • Dernière réponse

Les plus actifs

Les plus actifs

Messages populaires

Bonjour à toutes et tous. Voilà je pense qu’il est temps d’ouvrir un sujet autour de weewx. Comme nous devons rester confiné ; je vous invite à respecter les recommandations voici du travail

Et voici les 15 fichiers pour les traductions. Bon téléchargement traduction fichier about_inc.pdf traduction fichier celestial_html_tmpl.pdf traduction fichier celestial_inc.pdf traduction

Avec le Raspberry, il y a une solution alternative à l'achat d'un datalogger Davis : le "Météo-Pi"  - https://wifilogger.net/meteopi.html   Il est composé de 2 modules : un qui s'enfiche dan

Images postées

Alors j'ai du mieux, mais c'est pas encore ca :)

 

j'ai revu la config de mosquitto et ajouté

allow_anonymous false 
password_file /etc/mosquitto/passwd

Dans Mqtt explorer, si je me connecte à mon adresse, je vois bien le topic weather/loop avec les données qui se mettent à jour régulièrement.

 

Par contre j'ai toujours le point orange sur la skin et non vert clignotant :/

Lien à poster
Partager sur d’autres sites

  • Responsable Technique
Posté(e)
Moliets-et-Mâa(40)
il y a 32 minutes, Sayber a dit :

Alors j'ai du mieux, mais c'est pas encore ca :)

 

j'ai revu la config de mosquitto et ajouté

allow_anonymous false 
password_file /etc/mosquitto/passwd

Dans Mqtt explorer, si je me connecte à mon adresse, je vois bien le topic weather/loop avec les données qui se mettent à jour régulièrement.

 

Par contre j'ai toujours le point orange sur la skin et non vert clignotant :/

Il te faut un service comme No-ip pour que les données qui chez toi avec une adresse Ip privé soient sur une adresse public !!!pour ça que ça ne fonctionne pas ;) 

 

https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/

Modifié par 970hPa
Lien à poster
Partager sur d’autres sites

il y a 25 minutes, Sayber a dit :

 

Par contre j'ai toujours le point orange sur la skin et non vert clignotant :/

 Le skin Belchertown se connecte via Websockets sur ton mosquitto.

Vérifie que ta configuration de mosquitto est:

listener 1883
listener 9001
protocol websockets
allow_anonymous false
password_file /etc/mosquitto/passwd

 en assumant que tu veux le port 9001 pour la connection websockets

Lien à poster
Partager sur d’autres sites

hmmm, j'ai bien un no-ip, mais j'ai deux raspberry à la maison (l'autre est pour la domotique), et j'ai redirigé le port 80 de celui avec le weewx sur le port 2000, car on ne peut pas avoir 2 no-ip sur une même ip publique http://belgentier.ddns.net:2000/weewx/belchertown/

faut-il aussi faire une redirection du port 1883 et 9001 sur l'ip du raspberry weewx ?

 

du coup dans le skin.conf j'ai mis

 # MQTT Websockets defaults
    mqtt_websockets_enabled = 1
    mqtt_websockets_host = belgentier.ddns.net:2000/weewx/belchertown
    mqtt_websockets_port = 9001
    mqtt_websockets_ssl = 0
    mqtt_websockets_topic = weather/loop
    disconnect_live_website_visitor = 300000
    mqtt_websockets_username = xxxxx
    mqtt_websockets_password = xxxxx

 

et dans le weewx.conf :

[[MQTT]]
        server_url = mqtt://sayber:frederic@192.168.0.21:1883
        topic = weather
        unit_system = US
        binding = archive, loop
        aggregation = aggregate

 

et toujours image.png.6c2151ba6234b62818808b79c5c5dc09.png

 

@jackT j'ai changé le topic et toujours pareil, pourtant dans mqqexplorer sous windows, je me connecte au broker et je vois :

image.png.e6372d12197a83aa4bdbaac68eae7cc8.png

Modifié par Sayber
Lien à poster
Partager sur d’autres sites

Côté envoi des données vers mosquito, tout est ok.

 

Par contre 

mqtt_websockets_host = belgentier.ddns.net:2000/weewx/belchertown

ne pourra pas marcher.

 

Peux-tu avec no-ip configurer une redirection du port 2001 (par exemple)  vers le port 9001 du raspberry sur lequel mosquitto est installé (de la même manière que tu as redirigé le port 2000 vers le port 80 du raspberry weewx )?

 

SI oui, et après avoir configuré la redirection, il faudra mettre :

mqtt_websockets_host = belgentier.ddns.net
mqtt_websockets_port = 2001

 

Modifié par jackT
Lien à poster
Partager sur d’autres sites

Bonne idée mais ca ne fonctionne pas non plus ! Je le fais via ma freebox

 

C'est même pire, là j'ai un point rouge et non orange avec "failed", alors qu'avant il semblait se connecter mais ne pas prendre les données.. image.png.db41b243199b4df30e33595d80f536e8.png

 

J'ai fais un test sous Node-Red et ca fonctionne bien pourtant, c'est la websocket qui met le foin !

 

image.png.37cf7109f4860f85df0a0ef90fc94c23.png

 

 

edit pour le gentil modérateur, est-ce possible de me retirer la limitation de post ? promis je ne suis ni un bot, ni un spammeur

edit 2 : en sus de mes bidouilles de weewx et de mqqt, ma station a été acceptée dans le réseau StatIC :) j'ai mis en place le script, je l'ai testé et tout semble être ok. Question : faut-il aussi paramétrer le ftp du weewx.conf, et quand la station sera-t-elle visible sur infoclimat ? merci :)

Modifié par Sayber
Lien à poster
Partager sur d’autres sites

comme le disait @970hPaplus haut dans la discussion, il faut d'abord tester toute ta configuration depuis ton réseau interne.  Quand cela fonctionnera, tu pourras passer à la redirection depuis ta freebox

Donc pour récapituler, il faut que ta configuration mosquito soit :

listener 1883
listener 9001
protocol websockets
allow_anonymous false
password_file /etc/mosquitto/passwd

Une fois la modification faite ou vérifiée et mosquitto redémarré, essaie depuis Node-red de te connecter, depuis le réseau interne, à 192.168.0.21, port 9001 et en sélectionnant dans le champ "Protocol" : websockets.

 

Arrives-tu à voir les données ?

Modifié par jackT
Lien à poster
Partager sur d’autres sites

Posté(e)
Droue-Sur-Drouette (28) - 150m
Il y a 15 heures, Sayber a dit :

hmmm, j'ai bien un no-ip, mais j'ai deux raspberry à la maison (l'autre est pour la domotique), et j'ai redirigé le port 80 de celui avec le weewx sur le port 2000, car on ne peut pas avoir 2 no-ip sur une même ip publique http://belgentier.ddns.net:2000/weewx/belchertown/

faut-il aussi faire une redirection du port 1883 et 9001 sur l'ip du raspberry weewx ?

 

du coup dans le skin.conf j'ai mis

 # MQTT Websockets defaults
    mqtt_websockets_enabled = 1
    mqtt_websockets_host = belgentier.ddns.net:2000/weewx/belchertown
    mqtt_websockets_port = 9001
    mqtt_websockets_ssl = 0
    mqtt_websockets_topic = weather/loop
    disconnect_live_website_visitor = 300000
    mqtt_websockets_username = xxxxx
    mqtt_websockets_password = xxxxx

 

et dans le weewx.conf :

[[MQTT]]
        server_url = mqtt://sayber:frederic@192.168.0.21:1883
        topic = weather
        unit_system = US
        binding = archive, loop
        aggregation = aggregate

 

et toujours image.png.6c2151ba6234b62818808b79c5c5dc09.png

 

@jackT j'ai changé le topic et toujours pareil, pourtant dans mqqexplorer sous windows, je me connecte au broker et je vois :

image.png.e6372d12197a83aa4bdbaac68eae7cc8.png

 

Dans ton skin.conf :

websocket_host : juste l'ip ou l'host public (pas de port ici ni de chemin derrière)

supprime (ou commente) les lignes websocket_username et websocket_password

 

Ouvre le port 2000 vers ton rpi (déjà fait)

Ouvre le port 9001 vers la machine qui heberge ta socket mqtt (ton rpi météo normalement)

 

Pour tester, tu peux essayer ce site (si KO ici ca ne marchera pas sur ton site) :

http://www.hivemq.com/demos/websocket-client/

Host : ton ip public, port 9001

-> quand tu clics sur connect ca doit marcher.

ensuite tu "add new topic subcription" avec le topic weather/loop

-> tu dois voir les message MQTT passer sur l'interface web

Lien à poster
Partager sur d’autres sites

Bonjour,

 

pour un test déjà en réseau local, pas de DNS et no-ip donc, j'ai repris un à un les configs, et toujours rouge :/ 🤬 :

 

Alors pour les ports :image.png.3af1e56ee4380dc955d362e97c4c611a.png

Pour le skin.conf :

mqtt_websockets_enabled = 1
    mqtt_websockets_host = belgentier.ddns.net
    mqtt_websockets_port = 9001
    mqtt_websockets_ssl = 0
    mqtt_websockets_topic = weather/loop
    disconnect_live_website_visitor = 300000

 

pour le weewx.conf

[[MQTT]]
        server_url = mqtt://xxxxx:xxxxx@192.168.0.21:1883
        topic = weather
        unit_system = US
        binding = archive, loop
        aggregation = aggregate

 

pour le mosquitto.conf :

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

allow_anonymous false
password_file /etc/mosquitto/passwd

 

et mon fichier myconfig.conf dans conf.d :

persistence false

# mqtt
listener 1883
protocol mqtt

# websockets
listener 9001
protocol websockets

 

pour node-red, je n'ai pas de protocole websocket dans la liste déroulante, et si je change le port par 9001 il ne se connecte pas

image.png.6df0c4c7b85bd7896726d0874ab9253d.png

 

par contre si j'essaye hivemq.com cela à l'air de fonctionner :/ :/

image.png.76dc4ab6ebf8983b9e4158f7b338c522.png

Modifié par Sayber
Lien à poster
Partager sur d’autres sites

  • Responsable Technique
Posté(e)
Moliets-et-Mâa(40)

Tu mélange les choses !!!!!!!!

 

 

1er chose , il faut essayer en local comme c'est marqué https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/

 

le port 1883 est utilisé  en local !

 

le port 9001 en externe 

 

 

Si on local ça fonctionne c'est que ta config MQTT et weewx est nickel ! 

 

Une fois ok , il faut juste mettre ton ddns sur "

 mqtt_websockets_host = belgentier.ddns.net 

 

 mqtt_websockets_port = 9001

 

 

DONC IL EST IMPOSSIBLE QUIL FONCTIONNE AVEC UNE ADRESSE IP "PRIVE " 

 

 

192.168.0.21

 

 

Si cela ne fonctionne pas , cela vaut dire que sur ta box , tu as une mauvaise config

 

Inutile de changer ton port ;) 

 

 

 

Modifié par 970hPa
Lien à poster
Partager sur d’autres sites

oui je te l'accorde je mélange ! mais en local je suis sur que cela fonctionne, car comme dit précédemment la commande de publication d'un message fonctionne (j'ai bien suivi le lien que tu as mis) ou encore mqtt explorer sous windows ou encore node-red sur le linux (mais pas weewx)

 

pour l'externe, j'ai testé le site qu' @Hiigaraa a proposé, et cela semble fonctionner :image.png.a9fe4f8ec56bfbc17b384194529865ad.png

c'est donc la config de belchertown qui cafouille non ?

Lien à poster
Partager sur d’autres sites

  • Responsable Technique
Posté(e)
Moliets-et-Mâa(40)
il y a 9 minutes, Sayber a dit :

oui je te l'accorde je mélange ! mais en local je suis sur que cela fonctionne, car comme dit précédemment la commande de publication d'un message fonctionne (j'ai bien suivi le lien que tu as mis) ou encore mqtt explorer sous windows ou encore node-red sur le linux (mais pas weewx)

 

pour l'externe, j'ai testé le site qu' @Hiigaraa a proposé, et cela semble fonctionner :image.png.a9fe4f8ec56bfbc17b384194529865ad.png

c'est donc la config de belchertown qui cafouille non ?

Tu as bien les données avec le port 9001 et le host ddns ? 

Lien à poster
Partager sur d’autres sites

Posté(e)
Droue-Sur-Drouette (28) - 150m
il y a 27 minutes, Sayber a dit :

oui je te l'accorde je mélange ! mais en local je suis sur que cela fonctionne, car comme dit précédemment la commande de publication d'un message fonctionne (j'ai bien suivi le lien que tu as mis) ou encore mqtt explorer sous windows ou encore node-red sur le linux (mais pas weewx)

 

pour l'externe, j'ai testé le site qu' @Hiigaraa a proposé, et cela semble fonctionner :image.png.a9fe4f8ec56bfbc17b384194529865ad.png

c'est donc la config de belchertown qui cafouille non ?

Je vois que tu met un login mot de passe. Les utilisateurs de ton site ne connaissent pas ces info. Il faut que tu les supprimes sur la config du skin.

 

Une fois connecté au site de test. Que donne l'inscription à un topic mqtt ?

 

Ci dessous ce que tu devrais avoir

Screenshot_20230123_194322_Firefox.thumb.jpg.c5e7e918156187dc54432ce17d5ff9d9.jpg

Modifié par Hiigaraa
Lien à poster
Partager sur d’autres sites

  • Responsable Technique
Posté(e)
Moliets-et-Mâa(40)
il y a 4 minutes, Hiigaraa a dit :

Je vois que tu met un login mot de passe. Les utilisateurs de ton site ne connaissent pas ces info. Il faut que tu les supprimes sur la config du skin.

Tu est obligé de mettre un login , c'est normal ;) 

 

dans le fichier tu auras en tout cas " allow_anonymous true" 

 

Lien à poster
Partager sur d’autres sites

Posté(e)
Droue-Sur-Drouette (28) - 150m
il y a 41 minutes, 970hPa a dit :

Tu est obligé de mettre un login , c'est normal ;) 

 

dans le fichier tu auras en tout cas " allow_anonymous true" 

 

Non tu n'es pas obligé (je ne l'ai pas)

Et je n'ai pas non plus la ligne allow anonymous

Lien à poster
Partager sur d’autres sites

hmmm alors avec login et mot de passe, et si je m'abonne à weather/loop, j'ai bien les infos qui s'affichent

 

Si je mets juste le login, connexion refusée

 

du coup je vire l'acl et le fichier passwd ?

Lien à poster
Partager sur d’autres sites

il y a une heure, Sayber a dit :

 

Bon par contre no login, no mot de passe, anarchy style ? c'est pas risqué ?

Le seul risque est que quelqu'un d'autre utilise ton broker mqtt pour publier et récupérer ses propres données. 

En ce qui te concerne, et comme weewx envoie ses données à mosquitto via le réseau interne, tu peux déjà supprimer dans la Freebox la redirection du port 1883. Ainsi personne ne pourra publier ses données sur ton mqtt depuis internet via ce port

Modifié par jackT
Lien à poster
Partager sur d’autres sites

Merci de votre aide ! :)

 

Reste plus qu'à tirer au clair le script du site, j'ai pas l'impression qu'il envoi correctement les données sur le ftp..je viens de vérifier le fichier StatIC_.txt et il date de la dernière fois ou j'ai lancé le script à la main, pourtant le log du cron apparait bien

 

EDIT : je pense que j'ai trouvé entre temps, j'ai Chown -R le répertoire /var/www/hmlt/ic, si quelqu'un d'Infoclimat pourrait me dire si le ftp se charge correctement !

 

Modifié par Sayber
Lien à poster
Partager sur d’autres sites

il y a une heure, I2R a dit :

Salut 

petit renseignement, est ce que PHP 8.1 est compatible avec Mosquitto ?

merci

Bonjour,

 

Cela dépend pour quel usage.  

SI tu veux utiliser mqtt avec weewx et un skin tel que Belchertown, tout est écrit en html et javascript, et donc le skin n'utilise pas le php.

 

SI tu veux te connecter à  mosquitto depuis un script php, il faut utiliser un librairie telle que celle-ci : https://github.com/php-mqtt/client  qui est compatible pour les versions de php  7.4 ou ultérieures. Cette librairie permet à un script php de publier ou souscrire des message sur un broker mosquitto.

  • Merci 1
Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...