Je cherche comment faire pour que mes infos ne sois plus envoyé en temps mais seulement si la distance de mon sensor varie de plus ou moins 1 cm,car cela permettrait d’envoyer seulemnt si besoin et non toutes les Xsec, surtout pour MQTT.
Merci d’avance de votre aide.
Ma configuration
System Information
version
core-2023.12.3
installation_type
Home Assistant OS
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.11.6
os_name
Linux
os_version
6.1.63-haos
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
5000
Installed Version
1.31.0
Stage
running
Available Repositories
1354
Downloaded Repositories
13
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 11.2
update_channel
stable
supervisor_version
supervisor-2023.12.0
agent_version
1.6.0
docker_version
24.0.7
disk_total
30.8 GB
disk_used
7.6 GB
healthy
true
supported
true
board
ova
supervisor_api
ok
version_api
ok
installed_addons
Samba share (12.2.0), Terminal & SSH (9.8.1), Studio Code Server (5.14.2), Duck DNS (1.15.0), ESPHome (2023.12.3)
Par défaut tu n’as pas besoin du MQTT pour faire fonctionner esphome+ha …
Et donc ça t’évite d’avoir un message … Et tu peux traiter les automatisations seulement si changement du coup.
Mais bon, ça reste assez générique, parce que ton coté : c’est léger comme infos, le code esphome aurait quand même permis de voir comment ton bidule est codé.
D’autant plus que tu as changé de méthode Retour d'état Tasmota
Idem sur le traitement que tu fais sur la mesure, ça donnerai des idées.
Salut,
Comme tu as pu le voir sur l’autre tropic je n’ai eu aucune réponse donc j’ai voulu tester ESPHome.
Ce detecteur de mouvement me sert pour voir quand la voiture est dans le garage et quand elle part, donc je n’ai pas besoin que l’état soit envoyé tout les Xsec mais seulement quand la distance change et vu que je suis entre deux systeme domotique j’ai besoin que ce soit envoyé en MQTT.
Pour l’instant le code est des plus basic :
Logique, tahoma c’est pas vraiment la méthode principale pour HA
Mais tu peux
Utiliser les entités HA pour connaitre l’état de ton capteur dans HA et conserver le MQTT pour ton autre système
Par contre comment/pour quoi tu utilises l’info ? Dans une automatisation par exemple, tu peux ajouter des conditions (vérif de la variation) avant de déclencher les actions
Salut,
J’espère que tu as bien été gaté pour les fêtes
Effectivement j’utilise une automatisation qui dit que si la distance est superieur à Xcm pas de voiture et inversement. Mais est-il possible de limiter le nombre de trame envoyé que ce soit à HA ou MQTT car pour l’instant même si ma valeur ne change pas mon module envois des trames toutes les seconde.
L’envoie des trames, c’est pas tellement la bonne piste. Il est plus simple de traiter la répétition dans les traitements.
Pour l’instant tu fais ça via une automatisation pour juste dire si la voiture est là/pas là ?
Si c’est ça tu fais directement un template sensor :
En lisant ce que tu m’as dis cela m’as rappelé un tuto que j’avais vu et qui perméttait davoir un bouton en fonction d’une distance, mais je n’arrive pas à le faire changer d’état.
# Sensor Ultrasonic
sensor:
- platform: ultrasonic
trigger_pin: D7
echo_pin: D6
name: "Distance"
update_interval: 1s
- platform: uptime
name: Uptime Sensor
internal: True
on_value_range:
- below: 0.1
then:
- switch.turn_on: detect_something
- above: 0.1
then:
- switch.turn_off: detect_something
#Bouton pour dire si la voiture est présente ou pas
switch:
- platform: template
name: "Présence voiture"
id: detect_something
optimistic: True
Non le bouton change d’état seul en fonction en fonction de la distance et envois l’info seulement au changement d’état. J’ai trouvé mon erreur fallait que je mette « on_value_range: » avant « uptime ».
C’est quoi un binary_sensor ?
Je dis pas que visuellement ça fait pas la même chose.
Juste que le bouton, dispose d'un service dans HA pour le basculer à on ou a off à la main.
Dans ton cas d'usage, c'est pas toi qui décide de la bascule, c'est la valeur mesurée par le capteur.
Donc c'est tout l'intérêt d'un binary_sensor
Je suis en train d’essayer le binary_sensor mais j’ai une erreur quand j’envois le firmware sur mon module :
Compiling .pioenvs/detection-voiture/src/main.cpp.o
<unicode string>: In lambda function:
<unicode string>:78:4: error: expected primary-expression before ')' token
<unicode string>: In function 'void setup()':
<unicode string>:112:2: error: expected ')' before 'void'
src/main.cpp:408:47: note: to match this '('
408 | template__templatebinarysensor->set_template([=]() -> optional<bool> {
| ^
<unicode string>:116:1: error: expected '}' at end of input
src/main.cpp:50:14: note: to match this '{'
50 | void setup() {
| ^
*** [.pioenvs/detection-voiture/src/main.cpp.o] Error 1
========================== [FAILED] Took 3.15 seconds ==========================
Et voici mon code et si je comprends bien c’est le lambda qui pose problème :
Déjà il manque la dernière ligne pour fermer les accolades (c’est écrit dans le message d’erreur)
Ensuite, je ne pense pas que présence existe, ton capteur s’appelle Distance
oui il faut un id, mais présence c’est pas très logique, vu que tu fais référence à une mesure.
Présence, ça serait plus adapté l’id du binary_sensor à ce moment là (et c’est pas utile )