Le skin Belchertown pour WeeWX proposé par Pat O’Brien est extrêmement complet (et complexe, du moins pour moi) et est particulièrement intéressant pour ses graphiques dynamiques en JavaScript.
Installation et configuration de base
Son installation n’est pas particulièrement difficile puisqu’il suffit de suivre les instructions fournies ; ainsi, à ce jour :
wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.2/weewx-belchertown-release-1.2.tar.gzsudo wee_extension --install weewx-belchertown-release-1.2.tar.gz
Ensuite, il convient de passer à sa configuration en ayant pris soin, afin de bénéficier de certaines options dont le module de prévisions à sept jours, de remplir certaines conditions.
La configuration de base est la suivante :
sudo nano /etc/weewx/weewx.conf
[StdReport] ...
[[Belchertown]]
skin = Belchertown
HTML_ROOT = /var/www/html/weewx/
MQTT
Nous allons surtout nous intéresser à la mise en place du rafraîchissement automatique des graphiques et de l’affichage des données permises par ce skin grâce au protocole MQTT (Message Queuing Telemetry Transport). Il convient d’abord d’installer et de configurer un « serveur », un broker, en l’occurrence mosquitto
tel que nous l’avons vu dans un précédent article à partir du post de Pat O’Brien sur son blog.
Bien sûr, dans mon cas, WeeWX ne récupérant des données de la station météo que toutes les cinq voire dix minutes, l’utilisation du plugin weewx-mqtt ne se justifie pas forcément...
Une fois le broker Mosquitto installé et configuré, il faut installer le plugin weewx-mqtt :
sudo pip3 install paho-mqttwget -O weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip
wee_extension --install weewx-mqtt.zip
On modifie ensuite sa configuration qui dépend de la section [Restful] dans le fichier /etc/weewx/weewx.conf
:
[Restful] ...
[[MQTT]]
server_url = mqtt://USER:PASSWORD@SERVER:PORT/
topic = weewx
unit_system = METRIC
binding = archive, loop
aggregation = aggregate
[[[tls]]]
tls_version = tlsv12
ca_certs = /etc/ssl/certs/ca-certificates.crt
On en profite pour éditer la configuration du skin Belchertown de la sorte :
[StdReport] ...
[[Belchertown]]
skin = Belchertown
HTML_ROOT = /var/www/html/weewx/
mqtt_websockets_enabled = 1
mqtt_websockets_host = "SERVER"
mqtt_websockets_port = 9001
mqtt_websockets_ssl = 1
mqtt_websockets_topic = "weather/loop"
disconnect_live_website_visitor = 1800000
Il ne nous reste plus qu’à relancer weewx :
sudo service restart weewx
On peut vérifier le bon fonctionnement du plugin weewx-mqtt en lançant la commande mosquitto_sub
pour suivre le topic weewx/loop
ou en épluchant /var/log/syslog
à la recherche d’une ligne de ce type :
tail -f /var/log/syslog | grep weewx[snip]
Mar 1 06:48:23 raspberrypi weewx[3998] INFO weewx.restx: MQTT: Published record 2021-03-01 06:45:00 CET (1614588300)
[snip]
Un message, un commentaire ?