Size: a a a

2020 June 30

V

Vladislaff in Home Assistant
Andrey Perminov
я подозреваю что ломается если значения выходят за границы окна
Они для этого кейса специальный параметр сделали, только он не работает
источник

AP

Andrey Perminov in Home Assistant
Vladislaff
Они для этого кейса специальный параметр сделали, только он не работает
ну смотри, как оно должно работать? это же дельта значения деленная на дельту времени.
источник

AP

Andrey Perminov in Home Assistant
когда у тебя событие возникает строго каждые условно 5 минут, всё ок, будет у тебя средняя скорость прироста за 5 минут
источник

AP

Andrey Perminov in Home Assistant
а когда у тебя одно событие было вчера, а другое сейчас, у тебя будет среднее.... ну короче за дофига времени
источник

AP

Andrey Perminov in Home Assistant
там вон собственно рабочий код на 5 строчек
источник

AP

Andrey Perminov in Home Assistant
                # derivative of previous measures.
               last_time, last_value = self._state_list[-1]
               first_time, first_value = self._state_list[0]

               elapsed_time = (last_time - first_time).total_seconds()
               delta_value = Decimal(last_value) - Decimal(first_value)
               derivative = (
                   delta_value
                   / Decimal(elapsed_time)
                   / Decimal(self._unit_prefix)
                   * Decimal(self._unit_time)
               )
источник

AP

Andrey Perminov in Home Assistant
параметр окна, я так понимаю, чтобы игнорить такие слишком длинные интервалы и не показывать скорости в районе 0
источник

AP

Andrey Perminov in Home Assistant
ну собственно да
источник

AP

Andrey Perminov in Home Assistant
            # Filter out the tuples that are older than (and outside of the) `time_window`
           self._state_list = [
               (timestamp, state)
               for timestamp, state in self._state_list
               if (now - timestamp).total_seconds() < self._time_window
           ]
источник

AP

Andrey Perminov in Home Assistant
я полагаю by design тут всё правильно, просто штука не совсем подходит для событий с плавающим тактом
источник

AP

Andrey Perminov in Home Assistant
либо её надо юзать с внешней тактировкой, то есть принудительно писать значение по таймеру
источник

AP

Andrey Perminov in Home Assistant
и мне кстати кажется что для счётчика воды правильнее delta считать
источник

AP

Andrey Perminov in Home Assistant
то есть без деления на время
источник

AP

Andrey Perminov in Home Assistant
кстати еще вот такое есть
источник

AP

Andrey Perminov in Home Assistant
источник

V

Vladislaff in Home Assistant
Andrey Perminov
параметр окна, я так понимаю, чтобы игнорить такие слишком длинные интервалы и не показывать скорости в районе 0
Это же бред. Почему не надо показывать скорости около 0 если по факту дельта изменения показаний фактически ноль за период? Похоже, что автор пытается найти компромисс между матем достоверностью и численными методами. Тут либо трусы надеть, либо крестик снять
источник

AP

Andrey Perminov in Home Assistant
Vladislaff
Это же бред. Почему не надо показывать скорости около 0 если по факту дельта изменения показаний фактически ноль за период? Похоже, что автор пытается найти компромисс между матем достоверностью и численными методами. Тут либо трусы надеть, либо крестик снять
так всё просто, не ставишь окно и будет тебе скорость около 0
источник

V

Vladislaff in Home Assistant
Andrey Perminov
и мне кстати кажется что для счётчика воды правильнее delta считать
Беда в том, что производнаЯ не знает, как правильно по мнению автора. Она всегда одинаково считаетсч
источник

AP

Andrey Perminov in Home Assistant
оно и Optional и выключено by default
источник

V

Vladislaff in Home Assistant
Andrey Perminov
так всё просто, не ставишь окно и будет тебе скорость около 0
Нет. Так не работает всегда НЕ ноль
источник