Theengs passerelle BLE to MQTT

Theengs est un eco systeme d’applications composé de:

Pourquoi Theengs? Principalement pour éviter de répliquer plusieurs fois la même logique de décodage entre différents systèmes et permettre à des écosystèmes fermés de dialoguer entre eux.
C’est aussi une évolution naturelle plus de 4 ans après qu’OpenMQTTGateway ait innové en intégrant la lecture du Mi Flora avec un ESP32.

J’ai déjà parlé de Theengs dans d’autres topics donc pourquoi en reparler? Car il y a une grosse nouveauté,
@mihsu81 a développé un addon qui permet d’utiliser Theengs dans Home Assistant:

Il peut être installé en ajoutant le repository dans le addon store, la documentation est ci dessous:
Theengs-Addon-install5

Il est donc désormais super facile d’installer, de configurer Theengs sur Home Assistant. Prochaine étape l’auto discovery.

3 « J'aime »

Merci je teste ça la semaine prochaine !

1 « J'aime »

Ca marche, j’ai du fixer le bluetooth de mon PI4 avec ce qui est écrit ici : bluetoothd sap-server: Operation not permitted (1) – Debidouille

1 « J'aime »

Super, merci pour le retour.
Je vais publier une version avec auto discovery cette semaine.

1 « J'aime »

Ah c’est top ça ! Je cherchais justement l’option.

Nous venons juste d’ajouter l’auto-discovery des capteurs dans Theengs gateway.
Maintenant l’ensemble des capteurs supportés sont auto découverts et créés automatiquement dans Home Assistant.

Si vous avez des capteurs BLE cette solution permet de récupérer leurs information en moins de 5 min et sans faire de yaml!

L’option est activée par défaut avec l’addon:

1 « J'aime »

Merci !! Il faut que j’essaye.
D’ailleurs j’ai quelques retours à te faire les capteurs TPMS.

Cool!
Si c’est au sujet de capteurs TPMS détectés alors qu’ils n’existent pas c’est normalement corrigé avec cette version également.

Non j’ai pas eu de souci de ce coté.
C’est plus dans le format que ça me posait un problème :
Actuellement 1 capteur créer autant d’entités que d’info remontée (nom, marque, temp, pression) et les infos sont bonnes.

{
  "id": "80:EA:CA:10:03:59",
  "mac_type": 0,
  "name": "TPMS1_100359",
  "rssi": -87,
  "brand": "GENERIC",
  "model": "TPMS",
  "model_id": "TPMS",
  "count": 1,
  "pres": 211.394,
  "tempc": 21.58,
  "tempf": 70.844,
  "batt": 100,
  "alarm": false
}
  • Du coup, pour distinguer mes capteurs qui s’appellent tous TPMS (ou TPMS_2, etc) il faut renommer les 4*X entités 1 à 1.
    J’aurais préféré 1 entité avec des attributs du genre :
- platform: "mqtt"
  name: "tpms arg"
  state_topic: "OpenMQTTGateway/ESP1/BTtoMQTT/82EACA30051B"
  value_template: "{{ value_json.pres }}"
  json_attributes_topic: "OpenMQTTGateway/ESP1/BTtoMQTT/82EACA30051B"
  json_attributes_template: "{{ value_json | tojson }}"
  icon: "mdi:tire"
  unit_of_measurement: "kpa"
  device_class: "pressure"
  • Par ailleurs, je ne sais pas si c’est spécifique à mon cas, mais j’ai un info : count qui détermine la position 1 = Avant Gauche, 2 Avant Droit, 3 Arrière Gauche, 4 Arrière droit
    ça aurait pu servir à nommer les TPMS_X en fonction de cette info, dans les faits, c’est l’ordre de découverte… Aujourd’hui 4 c’est TPMS_2.
    J’ai aussi le name; mais sauf sur 1 … du coup pour le nommage c’est bof

  • Et pour finir j’ai (avais) souvent des warnings sur une entité pression ou température sans unité de mesure, ça faisait raler HA. Là avec les dernières mises à jour j’ai pas vérifié et évidement pour l’instant j’ai pas la log

Pour corriger cela tu peux ajouter is_defined à ton template, exemple d’un message d’autodiscovery

{"stat_t": "+/+/BTtoMQTT/qqqq", "dev_cla": "temperature", "unit_of_meas": "\u00b0C", "name": "IBT-4XS-tempc4", "uniq_id": "qqqq-tempc4", "val_tpl": "{{ value_json.tempc4 | is_defined }}", "state_class": "measurement", "device": {"identifiers": ["qqqq"], "connections": [["mac", "qqqq"]], "manufacturer": "Inkbird", "model": "IBT-4XS", "name": "iBBQ", "via_device": "TheengsGateway"}}

Possible que ce soit mon template à moi qui génère ça, actuellement je n’ai plus que les tiens. Je vais vérifier

Ah et dernier truc j’aurais bien aimé avoir un topic retain pour les TPMS. De temps en temps ça mets un certain temps à revenir après un restart. Evidement c’est pas critique.

C’est proche de ce que l’auto discovery fait, il va créer automatiquement les entités et également un device pour les regrouper.

Concernant le count, en effet c’est propre au capteur et la petite flèche qui permet de savoir où le mettre.

Oui, sauf que renommer le device n’influe pas sur le renommage des entités associées, sauf à le faire à la main

Bonjour

Merci pour ce travail
Étant toujours à la recherche d’une solution simple pour le BT vers le mqtt pour mes nut, tile, badge Somfy avec la possibilité d’avoir des antennes je tente de suivre les différentes évolutions de projets.

Lors de l’installation dans la page de configuration on peut choisir son broker mqtt et la partie user / mot de pass est obligatoire à saisir.
Or sur les environnement de test je n’ai pas de user / mdp c’est vide du coup je ne peux configurer l’add-on

Est il possible que ces paramètres soit libre de saisie ?

@1technophile est ce que tu peux ajouter en device automatiquement reconnu les télécommandes de l’alarme Somfy Home Alarm ?
Voici ce que je reçois. Ca me permet de savoir si la personne est rentrée.

{"servicedatauuid": "0000", "servicedata": "00****", "name": "Myfox R", "id": "xx:xx:xx:xx:xx:xx", "rssi": -67}

Merci

Bonjour Jerome,

Oui je peux enlever le caractere obligatoire pour l’utilisateur et le mot de passe mqtt.
Je te tiens au courant

Tu devrais les avoir si l’option publish_all est activée, tu voudrais qu’une entité et device soit automatiquement créé?
Si c’est ça est ce qu’il y a des données à interpréter à partir de ces télécommandes?

En gros tu voudrais qu’on intègre le count dans le nom du device et des entités, si je comprends bien?

Salut,

Oui un truc pour les différencier dès le début, count ou si c’est spécifique reprendre l’info d’un endroit plus général :

« count »: 1,
« name »: « TPMS1_100359 »,

Dans mon cas les adresses MAC contiennent aussi le count

« id »: « 80:EA:CA:10:03:59 »,

Je n’ai pas d’autre type de capteur pour comparer malheureusement

EDIT :
Autre trame/capteur

{
  "id": "82:EA:CA:30:05:1B",
  "mac_type": 0,
  "name": "TPMS3_30051B",
  "rssi": -86,
  "brand": "GENERIC",
  "model": "TPMS",
  "model_id": "TPMS",
  "count": 3,
  "pres": 227.112,
  "tempc": 18.81,
  "tempf": 65.858,
  "batt": 85,
  "alarm": false
}
{"id":"82:EA:CA:30:05:1B","mac_type":0,"rssi":-86,"brand":"GENERIC","model":"TPMS","model_id":"TPMS","count":3,"pres":227.112,"tempc":18.81,"tempf":65.858,"batt":85,"alarm":false}

Tu aurais un lien vers ces capteurs ?