Sensor procentowy wagi butli z gazem

Potrzebuję sensor pokazujący w procentach ile gazu zostało w butli, ale taki, żeby waga pełnej i pustej butli była czytana z encji, a nie wpisana na stałe (bo butle mają różne wagi). Poniższy sensor działa idealnie, ale nie da się tam podstawić encji, a wpisanie nowych danych wymaga zrestartowania systemu.

compensation: 
  butla:
    source: sensor.waga_hx711_value
    unit_of_measurement: "%"
    data_points:
      - [22.5, 100]
      - [11.5, 0.0]

Ja bym zrobił tak:
Dodał bym 2 “inputy”, które to określają wagę wejściową (pełna/pusta)

input_number:
  waga_butli_pelna:
    name: "Waga pełnej butli"
    min: 20
    max: 30
    step: 0.1
    unit_of_measurement: "kg"
    icon: "mdi:scale"

  waga_butli_pusta:
    name: "Waga pustej butli"
    min: 10
    max: 15
    step: 0.1
    unit_of_measurement: "kg"
    icon: "mdi:scale"

Następnie sensor

    - name: "Procent Gazu w Butli"
      unit_of_measurement: "%"
      state: >
          {% set waga_pelna = states('input_number.waga_butli_pelna') | float(22.5) %}
          {% set waga_pusta = states('input_number.waga_butli_pusta') | float(11.5) %}
          {% set aktualna_waga = states('sensor.temp_srednia') | float %}

          {% if aktualna_waga >= waga_pelna %}
            100
          {% elif aktualna_waga <= waga_pusta %}
            0
          {% else %}
            {% set procent = ((aktualna_waga - waga_pusta) / (waga_pelna - waga_pusta) * 100) | round(1) %}
            {{ procent }}
          {% endif %}
    unique_id: procent_gazu_butla

:information_source:Do podmiany sensor.temp_srednia, służy mi jedynie do testu.

Suwakami ustawisz wagę pustej i pełnej butli a sensor obliczy ile masz procent zapełnienia .
ScreenShot_20241007231836

3 polubienia

Z ciekawości, skoro zająłeś się tematem mam pytanie:
czy wagi różnych pustych butli (butle na wymianę) są powtarzalne ? jak bardzo ?, czy będziesz bazował na tej samej butli ciągle napełnianej.

Praktycznie mało prawdopodobne ponieważ nikt nie napełnia butli “od ręki”, kwestie bezpieczeństwa.

Dzięki, o to właśnie chodziło. Dodatkowo zamiast suwaków wymyśliłem automatyzację, która wykrywa nową butlę na podstawie nagłego wzrostu wagi, zapisuje wagę pełnej butli, od tego odejmuję stałą wagę gazu i teraz mój nowy sensor jest w pełni automatyczny. A co do butli to ich wagi są mało powtarzalne, kolejna butla nigdy nie ma takiej samej wagi co poprzednia. Dodatkowo ilość gazu też potrafi być różna ale już w dużo mniejszym zakresie niż waga butli.

Szkoda, że nie zamieściłeś kodu dla potomnych.

1 polubienie

Czyli nic nie wykrywasz :slight_smile: … z powodu