podałeś że 120cm - 0%
czyli twoje 29,667cm to około 25% czyli = 29,667cm : 25% = 1,18668
"{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 1.18)| round(0) }}"
czytaj tak:
= 100% - (29,667 : 1,18668)% = 100% - 25% = 75%
to co podał @stravi to wyjdzie to samo
{{ (1 - states('sensor.temperatura_piec_sr04_distance_2') / 120) * 100 }}
= (1 - (29,667 : 120))*100
= 75%
1 polubienie
Podaj przykłady wartości pomiaru i jakie powinny być wyniki.
Ja założyłem że działa to w tą stronę:
120cm → 0%
90cm → 25%
60cm → 50%
30cm → 75%
0cm → 100%
1 polubienie
100% - 5cm
50% - 55 cm
0% -105 cm
Byłem jeszcze raz zmierzyć zbiornik i omyłkowo zmierzyłem żmijkę. Dlatego wyszło 120cm.
To moja propozycja jest taka:
{{ ((1 - (states('sensor.temperatura_piec_sr04_distance_2') - 5 )/ 100) * 100 )| round(0) }}
Objaśnienie parametrów w razie poprawek:
{{ ((1 - (<pomiar> - <min_wartosc> )/ <max_minus_min>) * 100 )| round(0) }}
Wrzucam cały wpis.
Encja jest niedostępna.
- sensors:
zasobnik_piec:
friendly_name: "Zasobnik piec"
unit_of_measurement: '%'
value_template: "{{ ((1 - (states('sensor.temperatura_piec_sr04_distance_2') - 5 )/ 100) * 100 )| round(0) }}"
Zapis wygląda poprawnie. W logach powinieneś mieć błąd. Możliwe że jakiś znacznik skopiowany z forum dostał złe kodowanie.
Nie ma żadnego błędu.
Skopiowałem formułe od @Tomasz i dałem parametr 1.0 zamiast 1.18 i ruszyło. 
Dziękuję wszystkim za pomoc.
A Ty @Stravi pisałeś że masz gorączkę więc odpoczywaj. Zdrowia.
I jeszcze raz dziękuję za pomoc wszystkim.
Dziś w nocy wydrukuje się poprawiona obudowa do czujnika to wrzucę foto 
1 polubienie
@Stravi i @Tomasz proszę o pomoc. 
W czasie testów wyszło że jednak sensor musi być zdefiniowany trochę inaczej.
Mianowicie
0cm-15cm – 100%
60cm - 15%
70cm- 0%
Rozumiem że w przedziale przelicznik to
100% - 15% każdy cm to 1,8%
W myśl wzoru 85% : 45cm = 1,8
I przedział od 15%-0%
15% : 10 cm = 1,5
Czy wogole jest możliwy taki zapis ?
Da się, chociaż odnoszę wrażenie że to naciągana teoria. Tam jest jakiś lej, nieregularny kształt na początku i końcu? Jesteś w w stanie uzasadnić ten wzór?
Wieczorem usiądę przy laptopie to coś napiszę.
Dokładnie.
Zbiornik w dolnej części ma lej.
Do tego ekogroszek obsypuje się w dość specyficzny sposób.
Poparte to jest pomiarami tego jak obniża się poziom w zasobniku.
Sam się zdziwiłem ale tak jest 
Myślałem też o tym ale musiałbym zmodyfikować konstrukcje wsporcza zbiornika tak aby wstawić tam czujnik tensometryczny.
Do tego czujnik tensometryczny kosztuje ponad 150 PLN + wzmacniacz.
Póki co próbuje z czujnikiem odległości. 
Zrobiłem to na Template, bo tego się powinno używać do tworzenia sensorów.
- name: Zasobnik piec
unit_of_measurement: '%'
state: >-
{% if states.sensor.temperatura_piec_sr04_distance_2.state | int >= 0 and states.sensor.temperatura_piec_sr04_distance_2.state | int <= 15 %}
100
{% elif states.sensor.temperatura_piec_sr04_distance_2.state | int > 15 and states.sensor.temperatura_piec_sr04_distance_2.state | int < 60 %}
{{ (((60 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 45 ) * 85 + 15) | round(0) }}
{% else %}
{{ (((70 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 10 ) * 15) | round(0) }}
{% endif %}
Error loading /data/data/pl.sviete.dom/files/home/AIS/configuration.yaml: while parsing a block mapping
in "/data/data/pl.sviete.dom/files/home/AIS/templates.yaml", line 9, column 3
expected <block end>, but found '-'
in "/data/data/pl.sviete.dom/files/home/AIS/templates.yaml", line 15, column 3
Konfiguracja niepoprawna, wkleiłem całość do pliku templates
Poprawiłem jedną literówkę.
Jeśli nie ruszy to podaj co jest w liniach 9 i 15.
Cały plik Templates 
i błąd
Error loading /data/data/pl.sviete.dom/files/home/AIS/configuration.yaml: mapping values are not allowed here
in "/data/data/pl.sviete.dom/files/home/AIS/templates.yaml", line 16, column 26
- sensor:
- name: Stan Moes
state: '{{ state_attr("climate.termostat", "heat") }}'
- sensor:
- name: Temperatura Moes
state: "{{ state_attr('climate.termostat', 'local_temperature') }}"
- sensors:
zasobnik_piec:
friendly_name: "Zasobnik piec"
unit_of_measurement: '%'
value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 0.95)| round(0) }}"
- name: Zasobnik piec2
unit_of_measurement: '%'
state: >-
{% if states.sensor.temperatura_piec_sr04_distance_2.state | int >= 0 and states.sensor.temperatura_piec_sr04_distance_2.state | int <= 15 %}
100
{% elif states.sensor.temperatura_piec_sr04_distance_2.state | int > 15 and states.sensor.temperatura_piec_sr04_distance_2.state | int < 60 %}
{{ (((60 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 45 ) * 85 + 15) | round(0) }}
{% else %}
{{ (((70 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 10 ) * 15) | round(0) }}
{% endif %}
poprawiłem plik na taki i konfiguracja poprawna
- sensor:
- name: Stan Moes
state: '{{ state_attr("climate.termostat", "heat") }}'
- sensor:
- name: Temperatura Moes
state: "{{ state_attr('climate.termostat', 'local_temperature') }}"
- sensors:
zasobnik_piec:
friendly_name: "Zasobnik piec"
unit_of_measurement: '%'
value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 0.95)| round(0) }}"
- sensors:
zasobnik_piec2:
friendly_name: "Zasobnik piec2"
unit_of_measurement: '%'
state: >-
{% if states.sensor.temperatura_piec_sr04_distance_2.state | int >= 0 and states.sensor.temperatura_piec_sr04_distance_2.state | int <= 15 %}
100
{% elif states.sensor.temperatura_piec_sr04_distance_2.state | int > 15 and states.sensor.temperatura_piec_sr04_distance_2.state | int < 60 %}
{{ (((60 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 45 ) * 85 + 15) | round(0) }}
{% else %}
{{ (((70 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 10 ) * 15) | round(0) }}
{% endif %}
w logach pojawił się taki błąd.
Encji brak
Logger: homeassistant.components.template.config
Source: components/template/config.py:89
Integration: Template ([documentation](https://www.home-assistant.io/integrations/template), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+template%22))
First occurred: 21:44:41 (1 occurrences)
Last logged: 21:44:41
The entity definition format under template: differs from the platform configuration format. See https://www.home-assistant.io/integrations/template#configuration-for-trigger-based-template-sensors
Sprawdź tak:
- sensor:
- name: Stan Moes
state: '{{ state_attr("climate.termostat", "heat") }}'
- name: Temperatura Moes
state: "{{ state_attr('climate.termostat', 'local_temperature') }}"
- name: Zasobnik piec
unit_of_measurement: '%'
state: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 0.95)| round(0) }}"
- name: Zasobnik piec2
unit_of_measurement: '%'
state: >-
{% if states.sensor.temperatura_piec_sr04_distance_2.state | int >= 0 and states.sensor.temperatura_piec_sr04_distance_2.state | int <= 15 %}
100
{% elif states.sensor.temperatura_piec_sr04_distance_2.state | int > 15 and states.sensor.temperatura_piec_sr04_distance_2.state | int < 60 %}
{{ (((60 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 45 ) * 85 + 15) | round(0) }}
{% else %}
{{ (((70 - states('sensor.temperatura_piec_sr04_distance_2') | int) / 10 ) * 15) | round(0) }}
{% endif %}
1 polubienie
Konfiguracja prawidłowa 

Teraz testy.
Sensor sie pojawił.
Zbiornik średnio starcza na tydzień więc teraz cierpliwość wskazana 

Dziękuję za pomoc.
Jak wszystko się sprawdzi potwierdze aby kod został dla kolejnych użytkowników 
1 polubienie
Jak tam pomiary?
W sumie to te % chyba możesz przeliczyć na kg, kg na kWh i zrobić wykres zużycia z utilitymeter.
1 polubienie