Theengs passerelle BLE to MQTT

Ok j’ai re-supprimé tous les payloads MQTT pour ne pas être pollué avec les tests antérieurs.
je relance l’exec python avec juste : python -m TheengsGateway -H 192.168.0.60 -P 1883 -u theengsgateway -p password
La sonde Inkbird est allumée, j’obtiens dans la console windows :

(gateway_env) c:\Users\vguil\TheengsGateway> python -m TheengsGateway -H 192.168.0.60 -P 1883 -u theengsgateway -p password
INFO:BLEGateway:Connected to MQTT Broker!
INFO:BLEGateway:Subscribed to theengsgateway/sub
INFO:BLEGateway:Starting BLE scan
INFO:BLEGateway:publishing device `{'id': 'F8:36:9B:XX:XX:XX', 'rssi': -27, 'brand': 'Inkbird/Tenergy', 'model': 'iBBQ/SOLIS6', 'model_id': 'IBT-6XS/SOLIS-6', 'type': 'BBQ', 'tempc': 21, 'tempf': 69.8, 'mac': 'F8:36:9B:F8:36:9B:XX:XX:XX, 'distance': 0.0004028260290140457}`
INFO:BLEGateway:Sent 26 messages to MQTT
INFO:BLEGateway:Sent 18 messages to MQTT

etc

Au niveau de MQTT Explorer j’ai ca :


*status = offline c’est juste que j’avais fait un CTRL+C avant de faire le screenshot !

Mais toujours pas de nouveaux devices !

Il a sans doute enregistré les paramètres dans un fichier de config theengsgw.conf, pourrais tu le supprimer et relancer la dernière commande.

Dans le répertoire courant il n’y a pas de fichier de conf (à part pour l’environnement virtuel python)… Ailleurs ??

Il est sans doute dans le repertoire utilisateur, fait peut être une recherche a un niveau au dessus.

Bien vu, il était juste au dessus !
Je l’ai supprimé et ai lancé python -m TheengsGateway -H 192.168.0.60 -P 1883 -u theengsgateway -p password

Le fichier theengsgw.conf a été recréé :

{
    "adapter": "",
    "ble_scan_time": 5,
    "ble_time_between_scans": 5,
    "discovery": 1,
    "discovery_device_name": "TheengsGateway",
    "discovery_filter": [
        "IBEACON"
    ],
    "discovery_topic": "homeassistant/sensor",
    "hass_discovery": 1,
    "host": "192.168.0.60",
    "log_level": "INFO",
    "lwt_topic": "home/TheengsGateway/LWT",
    "pass": "password",
    "port": 1883,
    "presence": 0,
    "presence_topic": "home/TheengsGateway/presence",
    "publish_advdata": 0,
    "publish_all": 1,
    "publish_topic": "home/TheengsGateway/BTtoMQTT",
    "scanning_mode": "active",
    "subscribe_topic": "home/+/BTtoMQTT/undecoded",
    "time_format": 0,
    "time_sync": [],
    "user": "theengsgateway"
}

Au niveau MQTT ca donne ca :

Toujours rien sous HA (l’intégration MQTT était configurée avec comme discovery topic homeassistant/discovery. Je l’ai changé pour homeassistant/sensor, ca ne donne rien de mieux)

Je suis loin d’être connaisseur en MQTT mais je suis surpris par la valeur de « val_tpl » dans le discovery payload de F8369BXXXXXX-mac… Est ce normal d’avoir un template Jinja2 qui vérifie si l’adresse mac est définie dans ce champs ? Ce ne devrait pas être l’adresse mac elle même dans ce champs ?

Message 0 received on homeassistant/sensor/F8369BXXXXXX-mac/config at 11:43 AM:
{
    "stat_t": "+/+/BTtoMQTT/F8369BXXXXXX",
    "name": "IBT-6XS/SOLIS-6-mac",
    "uniq_id": "F8369BXXXXXX-mac",
    "val_tpl": "{{ value_json.mac | is_defined }}",
    "state_class": "measurement",
    "device": {
        "identifiers": [
            "F8369BXXXXXX"
        ],
        "connections": [
            [
                "mac",
                "F8369BXXXXXX"
            ]
        ],
        "manufacturer": "Inkbird/Tenergy",
        "model": "IBT-6XS/SOLIS-6",
        "name": "iBBQ/SOLIS6",
        "via_device": "TheengsGateway"
    }
}
QoS: 0 - Retain: true

Laisse juste homeassistant, ça devrait suffire.

YES !!! Ca a fonctionné en mettant juste ‹ homeassistant › en discovery topic !!! :boom: :tada:

Un grand merci @1technophile ! :pray:

1 « J'aime »

Avec plaisir! Pour résumer il vaut mieux laisser les topics par défaut pour l’intégration Home Assistant. Que ce soit dans Theengs Gateway ou HA.

1 « J'aime »

Nouvelle version disponible avec:

  • le support des adresses privées d’Apple Watch, iPhone et iPad
  • la détection de présence pour les appareils identifiés comme Presence Tracker ici
  • de nouveau capteurs
Devices Model Measurements
ClearGrass/Qingping CGP23W temperature, humidity, atmospheric pressure, battery
Aranet4 CO₂ Monitor temperature, humidity, pressure, carbon dioxide, battery
Switchbot Curtain model 3 moving, position, light level, battery, calibration state
  • La capacité de désactiver le BLE pour utiliser la gateway en décodeur seulement (avec des trames provenant de d’ESP32)

Et bien plus encore

2 « J'aime »

Salut vous prenez en charge les esp 32 mini c3

Bj
@titof2375 , regarde la

Mon dernier post est au sujet de Gateway (pour les serveurs).
OpenMQTTGateway supporte les C3 et S3.

1 « J'aime »

Oui, sauf que le esp 32 c3 mini n’est pas dans la liste.

Voir discussion ici:

Bonjour,

Top pour la gestion de la présence elle fonctionne c’est cool on va pouvoir commencer a mettre room assistant aux oubliettes !

Malheureusement, j’ai quand meme quelques faux positifs sur la gestion de présence / absence

J’ai 4 antennes chez moi, et malgré ca et le fait d’avoir mis un tracker_timeout a plus de 130
J’ai bien 60 et 60 sur les 2 autres valeurs comme demandé dans le doc :

« needs to be at least longer than TIME_BETWEEN + SCAN_DURATION »

Enfin dans l’amélioration serait de remonter l’antenne ou est relié la présence pour faire de le « pseudo » détection de pièce. On voit bien une info dans mqtt sur ce sujet mais pas de visibilité sur HA.

Par avance merci et bravo @1technophile ! (ca faisait longtemps que j’attendais cette feature !)

Bonjour,

En activant la détection de présence Theengs Gateway va publier dans un nouveau topic « presence » qui peux être utilisé par room assistant.
Ce même topic peut être utilisé par OpenMQTTGateway en mettant un ESP32 dans différentes pièces.

Je ne pense pas que HA puisse utiliser l’information relative à la pièce sans room assistant mais je me trompe peut être.

Pour les faux positifs on a piste sur le réglage des temps de scan, ça devrait être corrigé dans la prochaine version.
Avec plaisir, je transmet à l’équipe. A noter que la détection de présence marche bien avec les appareils d’Apple s vous en possédez un.

Pour la localisation il faudrait alimenter un sensor sur l’antenne qui se connecte.

Cool pour les faux positifs malgré mes 4 antennes j’en ai souvent.

Bonjour
Je viens d’installer homeassistant et j’utilise déjà theengsgateway sous jeedom avec mqttdiscovery de mips. j’utilise deux antennes déportées sur des PI, mon jeedom et homeassistant sont des VM sur un NUC.
Je voulais une confirmation de configuration. Si j’utilise des antennes distantes, je ne dois que configurer le mqtt et activer mqttdiscovery dans l’add-on ? Les autres options peuvent être inactivées ? Car pour l’instant je ne vois rien.
Dans le log, on voit IDENTITIES et BINDKEYS. Je n’ai rien renseigné dans la configuration et je ne comprends pas à quoi cela correspondrait. Que devrais-je mettre?

[18:28:51] INFO: Creating TheengsGateway configuration...
[18:28:52] INFO: IDENTITIES: 
[18:28:52] INFO: BINDKEYS: 
[18:28:52] INFO: Starting TheengsGateway...

Merci

Antoine

Bonjour,

En effet MQTT + discovery et ça devrait marcher.

IDENTITIES c’est si vous souhaitez utiliser la détection de présence avec les appareils Apple.
BINDKEY c’est utilisé pour les appareils qui nécessitent un décrytage.

1 « J'aime »