Активность
Получил лайк от пользователя за коментарий написанный к статье Безумный дом: делаем проточные фильтры воды умными
«<p>По каким то причинам, скармливая "utility meter" данные с предложенного в прошивке кода, на выходе получаю непойми что...</p>
<p>Решил тем, что добавил в прошивку сенсор суммирования, получилось так:</p>
<pre><code> - platform: pulse_counter # Сенсор "питьевой" воды
name: "drink_water_${device_name}"
id: id_drink_water
pin: D3
update_interval: 15s # Время обновления важно оставить таким
unit_of_measurement: л
filters: # Коэффициент 0.25 из-за обновления 4 раза в мин, 2145 - количество тиков счётчика на литр воды
- lambda: |-
static float total_drink_value = 0.0;
total_drink_value = x * 0.25 / 2145;
return total_drink_value;
- platform: integration
name: "drink_water_integration_${device_name}"
sensor: id_drink_water
integration_method: left
time_unit: min
filters:
- lambda: return x / 0.25;</code></pre>
<p>а вот сенсор "
drink_water_integration_${device_name}
" можно ставить в "source" utility_meter, после этого начинает корректно считать.</p>
<p>ps: В лямбда: "return total_drink_value;
" не должно быть пробелов в конце строки, esphome при компиляции выдает предупреждение...</p>»
Поставил лайк к статье Безумный дом: делаем проточные фильтры воды умными
Добавил комментарий к статье Безумный дом: делаем проточные фильтры воды умными
«<p>По каким то причинам, скармливая "utility meter" данные с предложенного в прошивке кода, на выходе получаю непойми что...</p>
<p>Решил тем, что добавил в прошивку сенсор суммирования, получилось так:</p>
<pre><code> - platform: pulse_counter # Сенсор "питьевой" воды
name: "drink_water_${device_name}"
id: id_drink_water
pin: D3
update_interval: 15s # Время обновления важно оставить таким
unit_of_measurement: л
filters: # Коэффициент 0.25 из-за обновления 4 раза в мин, 2145 - количество тиков счётчика на литр воды
- lambda: |-
static float total_drink_value = 0.0;
total_drink_value = x * 0.25 / 2145;
return total_drink_value;
- platform: integration
name: "drink_water_integration_${device_name}"
sensor: id_drink_water
integration_method: left
time_unit: min
filters:
- lambda: return x / 0.25;</code></pre>
<p>а вот сенсор "
drink_water_integration_${device_name}
" можно ставить в "source" utility_meter, после этого начинает корректно считать.</p>
<p>ps: В лямбда: "return total_drink_value;
" не должно быть пробелов в конце строки, esphome при компиляции выдает предупреждение...</p>»
Регистрация
Присоединился к порталу