[ESPHome] Balance HX711 avec Tare Automatique

Pour ceux que ça intéresse et qui galèrent : ci dessous un script EspHome qui permet de peser (mon chat quand il mange !) et surtout de faire une tare automatique

L’idée est de détecter quand le poids est bloqué à ± 100g pendant 2 minutes (Dérive électronique, chargement de la gamelle en croquettes …) pour forcer un nouveau zéro

globals:
  - id: tare_offset # C'est LA valeur qui va être chargée avec la TARE, et qui sera déduite à chaque mesure
    type: float
    restore_value: true
    initial_value: '0.0'

    on_value: 
      then:
        - if:
            condition:
              for:
                time: 2min
                condition:
                  lambda: 'return fabs(id(poids_balance).state) > 0.1;'
            then:
              - lambda: |-
                  id(tare_offset) += id(poids_balance).state;

    filters:
      # calibration réelle
      - calibrate_linear:
          - -191678 -> 0.000
          - -215005 -> 1.080
          - -238742 -> 2.160
          - -261277 -> 3.240

      # stabilisation : Affiche 1 moyenne toute les 3 mesures
      - sliding_window_moving_average:
          window_size: 3
          send_every: 1          

      - lambda: |-  # Ici on affiche la valeur mesurée, - la tare_ofset, donc on affiche zéro !
          return x - id(tare_offset);

2 « J'aime »