Андрей, добрый день. ehouse
Называть неправильной данную прибавку вряд ли корректно, так как система ориентируется на сообщения, которые получает: оба сообщения приходили с включенным зажиганием, соответственно изменения состояния не происходило, и мы считаем, что все это время зажигание было включено, отсюда и прибавка. О том, что на самом деле техника не работала в это время вообще, нам остается лишь догадываться.
С таймаутом хороший вариант как раз для отчетов, которые каждый раз строятся заново на основе сообщений, и даже если изменять значение таймаута, то проблем с вычислениями не будет. Применение таймаута очень удобно: с его помощью можно контролировать валидность/невалидность данных.
Значения же в счетчике моточасов обновляются онлайн. Если для прибавления значений мы будем учитывать таймаут, то не ясно, что делать в случае его изменения. Пересчитывать значения? За какой период?
ehouse пишет:соответственно в отчетах все корректно при любых нештатных ситуациях.
Насколько часто случаются такие внештатные ситуации? Возможно, если ситуации действительно внештатные и редкие, то вы можете вручную корректировать значения счетчика. Нам же придется значительно пересматривать логику.
Также можно попробовать установить на ТС резервную батарею, которая в момент отключения массы вышлет хотя бы 1 одно сообщение с данным о том, что питание было выключено, зажигание, соответственно, тоже.
Maria Starikova,
Wialon Hosting Product manager, Gurtam