Intégration RAK7268 (LORA) -> MQTT

Bonjour,

Bonjour,

Je démarre sur HA et je trouve cela tout simplement génial !

J’ai intégré mes premiers objets Zigbee sans souci, maintenant je passe aux objets LORA que je souhaite déployer dans des bâtiments en sous sol, sans réseau.

J’ai donc ma GW Lora (RAK7268), un capteur lora (DraginoLHT52) les 2 dialogues bien ensemble.
J’ai paramétré le “Gateway Backend” sur la RAK, vers mon broker MQTT local de mon HA
La GW se connecte bien, j’ai le message suivant :
‹ New client connected from 192.168.0.194:55920 as gwbackend-ac1f09fffe215e2f (p1, c1, k10, u’mqtt ›).’
Et après plus rien :frowning:
Quand mon capteur émet une trame Lora, elle est bien reçu dans la GW, je la vois dans les logs mais rien ne semble repartir vers MQTT du HA ou alors c’est MQTT qui n’arrive pas à la décoder ou le format n’est pas bon.

J’ai tenté de sniffer les paquets avec MQTT Explorer mais je ne vois rien (mais peut-être que je l’utilise mal)
Si vous avez des idées de piste sur comment débloquer ma situation, je suis preneur !

Merci

Laurent

Ma configuration


System Information

version core-2025.10.3
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch amd64
user root
virtualenv false
python_version 3.13.7
os_name Linux
os_version 6.12.43-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 2333
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 16.2
update_channel stable
supervisor_version supervisor-2025.10.0
agent_version 1.7.2
docker_version 28.3.3
disk_total 439.4 GB
disk_used 5.7 GB
nameservers 192.168.0.1
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Home Assistant Google Drive Backup (0.112.1), Terminal & SSH (9.20.1), Mosquitto broker (6.5.2), Zigbee2MQTT (2.6.2-1), File editor (5.8.0), Node-RED (20.0.0)
Dashboards
dashboards 3
resources 0
views 1
mode storage
Network Configuration
adapters lo (disabled), wlp1s0 (enabled, default, auto), docker0 (disabled), hassio (disabled), veth1aeb340 (disabled), veth5ca5fe1 (disabled), veth4c00c8a (disabled), vethd1f61c1 (disabled), veth077217e (disabled), veth899b673 (disabled), vetha72ecfd (disabled), vethc04421b (disabled), veth81e92ce (disabled), veth065dd21 (disabled)
Recorder
oldest_recorder_run 20 octobre 2025 à 22:35
current_recorder_run 25 octobre 2025 à 15:30
estimated_db_size 62.46 MiB
database_engine sqlite
database_version 3.49.2

Salut

Comment est configuré ta borne LORA ? elle est pas en mode LNS ou connecté à un serveur Lora type TTN ou Loriot ?
En effet le broker MQTT locale à la borne te donnera des remontées uniquement si ta borne est configuré en mode serveur Lora interne.

Vince

Merci Vince pour ton retour !
Effectivement, je suis en LNS, car je veux être en « cloudless ».
Vu que la GW se connecte à MQTT, j’ai tendance à croire que la connection est établie… :thinking:
Une idée de comment débugguer ma situation ?
J’ai tenté de lancer Wireshark en mettant HA sur une VM sur mon ordi, mais ca plante dès que je lance Wireshark :sweat_smile:

Merci
Laurent

Merci pour tes précisions et jusque là tu as tout bien fait :wink: Par contre tu as oublié une petite étape fondamentale :smiley: Il faut que tu enregistres tes appareils Lora dans ton serveur Lora. Par contre je viens de regarder la doc de cette borne Lora et elle n’intègre pas un serveur Lora donc il faut que tu installes Chirpstack quelque part et y faire connecter la borne (l’install de Chirpstack n’est pas des plus simples…)

Vince,

L’enregistrement des appareils LORA, ça c’est bon.
Je vois bien mes paquets LORA reçus et décodés quand je me mets en mode « écoute » sur ma GW.
Pour le serveur Chirpstack, j’avais compris que l’on pouvait s’en passer en décodant moi même les payload via NodRed sous HA, tu confirmes ?
Ce qui m’a fait partir pour cette option, c’est que dans mon installation, j’ai une machine sous OS HA et ma GW Lora, avoir Chirpstack en plus m’imposerait d’avoir une machine en plus dans mon installation (car je vais parfois dans des zones sans accès réseau, typiquement des installations en sous sol) et j’aurai aimé éviter cela, à moins que l’on puisse configurer Chirpstack sur l’une ou l’autre de mes 2 machines :wink: ou sinon, il faut je passe HA en VM.
Pour autant, vu que j’ai mon capteur Lora qui dialogue bien avec ma GW et que cette dernière se connecte bien à MQTT à l’allumage, qu’est ce qui empêche soit la GW d’émettre le msg MQQT soit HA de le recevoir/décoder… (Je pense qu’il me manque qq chose dans ma config…)
Car n’ayant pu espionner cette partie, je reste dans le doute si un message part ou pas…
mais en tout cas, je ne vois rien dans les logs de la GW qui me dit qu’un message part.
Je peux te faire une capture de tous ces logs si besoin.

Encore merci de tes réponses !
Laurent

Update : J’ai eu un retour de WisGate, le fabricant de la GW, finalement il fallait configurer le « Gateway backend » en local (127.0.0.1) et « Integration interface parameters » vers MQTT du HA, alors que le tuto que j’avais disait l’inverse :sweat_smile:
Maintenant je vois bien les messages MQTT partir (via MQTT Explorer).
Reste plus qu’à les récupérer dans HA… via Node-Red ou Chirpstack …
Et là dessus, je suis preneur de vos expériences…
la solution la plus simple ?
Possibilité de faire tourner Chirpstack sur la GW Lora ou dans HA ?
Merci !

1 « J'aime »

Salut

Peux-tu partager un des messages MQTT que tu vois passer ? car je suis surpris que tu puisses te connecter en MQTT sur la borne si elle a pas de serveur Lora intégré !
Euh NodeRed et Chirpstack ont rien à voir ! Chirpstack est une implémentation open-source d’un serveur Lora complet, NodeRed est un système graphique de programmation avec des boites logiques :wink:
Pour Chirpstack la seule implémentation comme addon que je connaisse est celle-là mais elle est pas maintenue: GitHub - ezand/chirpstack-addon-repository: HomeAssistant Add-On repository for Chirpstack services

Merci Vincen pour ton retour, je n’avais pas bien compris le rôle potentiel de Chirpstack…
Il faut dire qu’entre les différentes couches logicielle/HW, il y a de quoi s’y mélanger au début :sweat_smile:

Pour répondre à ta demande, voici les 3 paquets reçus au niveau de Mosquitto quand la sonde renvoie ses données, elles sont déjà décodées de l’encryption LORA par ma GW RAK (en mode LNS).

Message 72 reçu sur application/draginolht52/device/xxxxxxxxxxxxxxxx/rx à 12:52 :
{"applicationID":"1","applicationName":"draginolht52","devEUI":"xxxxxxxxxxxxxxxx","deviceName":"draginolht52","timestamp":1761997966,"fCnt":1,"fPort":2,"data":"B7sCl3//AWkF9Iw=","data_encode":"base64","object":{},"adr":true,"rxInfo":[{"gatewayID":"ac1f09fffe215e2f","loRaSNR":13.0,"rssi":-31,"location":{"latitude":0.000000,"longitude":0.000000,"altitude":0}}],"txInfo":{"frequency":868300000,"dr":0}}
QoS: 1 - Retain: false

Message 71 reçu sur application/draginolht52/device/xxxxxxxxxxxxxxxx/rx à 12:52 :
{"applicationID":"1","applicationName":"draginolht52","devEUI":"xxxxxxxxxxxxxxxx","deviceName":"draginolht52","timestamp":1761997962,"fCnt":0,"fPort":5,"data":"CQEgAQAMBg==","data_encode":"base64","object":{},"adr":true,"rxInfo":[{"gatewayID":"ac1f09fffe215e2f","loRaSNR":14.2,"rssi":-32,"location":{"latitude":0.000000,"longitude":0.000000,"altitude":0}}],"txInfo":{"frequency":867300000,"dr":0}}
QoS: 1 - Retain: false

Message 70 reçu sur application/draginolht52/device/xxxxxxxxxxxxxxxx/join à 12:52 :
{"applicationID":"1","applicationName":"draginolht52","deviceName":"draginolht52","devEUI":"xxxxxxxxxxxxxxxx","timestamp":1761997955,"devAddr":"02fd1372"}
QoS: 1 - Retain: false

A ta dispo !
Laurent

Merci pour les messages et effectivement tu as le payload à décoder du base 64 et ça sera bon. Les messages ne sont pas encryptés car il n’y a pas eu de join avec un serveur Lora et échange d’une clé de cryptage.
C’est une façon de faire un peu bizarre mais après tout si tu as pas besoin d’envoyer d’uplink (et si ce sont que des capteurs en principe c’est pas nécessaire), ça peut le faire.

:laughing:
à dire vrai je tatonne, ca fonctionne comme ça, ça me va pour l’heure :fu:
Je te comprends bien, mes messages, pour leur partie LORA, ne sont pas encryptés ?
Car j’ai pourtant bien saisi les 3 clés du device dans ma GW.

On pourra en discuter une autre fois, là j’attends surtout le retour de Intégra sur mon autre post, pour finaliser le tout :grin:

ah ben voilà tout s’explique ! si tu as saisi les 3 clés de chaque device Lora dans ta gw c’est qu’elle a un serveur Lora (probablement Chirpstack). Il faut regarder dans l’interface si tu peux ajouter un JSON de décodage et dans ce cas tu y mets ça: dragino-end-node-decoder/LHT52/LHT52 Decoder Chirpstack V4 .txt at main · dragino/dragino-end-node-decoder · GitHub
Normalement une fois fait ça tes messages MQTT devraient avoir les infos en claire comme ça:
Screenshot_20251101_163251
et un simple bout de code comme ça dans HA (à adapter en fonction de ce que tu vois dans tes messages MQTT à toi ici c’est du TTN mais le principe est le même):

mqtt:
  sensor:
    - state_topic: "v3/application@ttn/devices/chambre/up"
      name: “Chambre Température”
      value_template: '{{ value_json.uplink_message.decoded_payload.TempC_SHT }}'
      state_class: measurement
      unit_of_measurement: °C
      availability_mode: latest

Grâce à tes explications, je comprends mieux comme tout cela est organisé et j’ai relu mes échanges avec WisGate, le fabricant de la RAK7268 et ils m’ont écrit :

If you will use external LNS like ChirpStack, there is dedicated integration. 
But if you decide to go with the Built-In NS in the gateway , you need to use the MQTT integration, and decode the data payload in the Home Assistant. 

Et dans un autre échange :

You do not need ChirpStack as the gateway has Built-In NS, which doesn't have a data decoder but covers anything else. 

Donc c’est bien cela, Server Lora embarqué mais pas de décodage intégré et c’est sur quoi je bute dans RedNode (cf mon second post Décodage trame Dragino LHT52 (Sonde Temp & Hum.) via Node Red - #2 par Integra) où @Integra nous a fait un magnifique « teaser ».

On verra si c’est compliqué ou pas avec sa solution mais j’avoue que si le décodage pouvait se faire par un copier/coller de fichier JSON, cela m’irait bien :grin:

J’ai hésité entre WisGate et Dragino pour la GateWay… Sais tu si les Dragino peuvent intégrer le server Chirpstack ? ou une autre marque ?
NB1 : HA est sur machine dédiée avec HA OS, donc si je veux ajouter Chirstack, cela m’oblige à passer par une VM, ce qui n’était pas mon souhait initial.
NB2: il faut que mon installation soit « cloudless », ca doit tourner même si je n’ai aucun réseau.

Car quand cette machine sera au point, j’aurai à en faire une dizaine d’autres… donc si je peux me simplifier la vie, pas de problème pour changer de GW.

Merci de ton retour

J’ai une RAK7268 quelque part normalement dans mon bordel, je regarde demain si j’arrive à mettre la main dessus pour voir s’il n’y a vraiment aucun moyen de faire le premier décodage de la trame dans la gw parce que ça serait beaucoup plus simple je pense !
Pour les Dragino il faudrait vérifier s’il n’y a pas la même limitation :confused:

1 « J'aime »

Bonjour à tous,

Comme abordé dans l’autre topic, je m’étais intéressé à la mise en place d’un serveur Lora privé avant de finalement partir sur une autre piste, et voilà les conclusions auxquelles j’étais arrivé :

  • Comme précisé par @vincen, il faut effectivement un serveur derrière la Gateway, type Chirpstack
  • Mais certaines Gateway inclus un serveur Chirpstack built-in qu’on peut activer au besoin
  • Cela dit pas indispensable si pas de gestion d’uplink et envoi possible par MQTT, avec utilisation de Node Red pour décoder les data

À titre d’info voici les Gateway que j’avais envisagée :

  • Dragino - LPS8v2 : MQTT Forwarder et serveur Chirpstack intégré
  • RAKwireless - RAK7268 WisGate Edge Lite 2 : MQTT Forwarder mais pas de serveur Chirpstack intégré
  • Seeed Studio - SenseCAP M2 : MQTT Forwarder et serveur intégré basé sur Chirpstack

Tout ce que je dis là est à prendre avec des pincettes car issu simplement de recherches et pas testé concrètement !

1 « J'aime »

Salut

Après vérification sur ma borne RAK7268 il y a bien un serveur Lora intégré dedans:


Par contre tu ne peux pas y importes tes propres javascript de décodage donc il va falloir se débrouiller à décoder ça dans HA par un moyen ou un autre !

1 « J'aime »

Yes et la solution est ici :

Merci à vous 2 :folded_hands: (@vincen @Integra) pour le support !

Je finalise l’intégration, j’aurai p’tete encore une dernière question autour de node-red mais je vais chercher un peu avant de vous embêter

2 « J'aime »