NEWS
Скрипт счетчика
-
Мой код настолько ужасен, что не хочется его комментировать?
Или он настолько хорош, что нечего добавить?
Меня смущает введение задержки, вот этот кусок:
setTimeout(function() { setState('PowerMeter_count_summ', ((getState('PowerMeter_count_day').val) + (getState('PowerMeter_count_night').val)), true); }, 15); //без этой задержки берется предыдущее значение!может быть можно изящнее сделать?
еще не нравится расчет временного интервала между импульсами и подсчет "мгновенного" потребления:
newBlink = (new Date().getTime()); interval = newBlink - lastBlink; watt = (3600000 / interval) / ppwh; setState('PowerMeter_WATT_current', Math.round(watt), true); lastBlink = newBlink; ```` `Это игрушки
-
..Это игрушки `
Вся наша жизнь - игра…но хотелось бы услышать конкретную критику и советы по скрипту (железо определено, дополнительную ардуину чисто на счетчики ставить не планирую)
-
Мой код настолько ужасен, что не хочется его комментировать?
Или он настолько хорош, что нечего добавить?
Меня смущает введение задержки, вот этот кусок:
setTimeout(function() { setState('PowerMeter_count_summ', ((getState('PowerMeter_count_day').val) + (getState('PowerMeter_count_night').val)), true); }, 15); //без этой задержки берется предыдущее значение!может быть можно изящнее сделать?
еще не нравится расчет временного интервала между импульсами и подсчет "мгновенного" потребления:
newBlink = (new Date().getTime()); interval = newBlink - lastBlink; watt = (3600000 / interval) / ppwh; setState('PowerMeter_WATT_current', Math.round(watt), true); lastBlink = newBlink; ```` ` можно изящнее, вместо задержки подписаться на изменениеPowerMeter_count_day и PowerMeter_count_night. А чем интервал не нравится?
-
можно изящнее, вместо задержки подписаться на изменение
PowerMeter_count_day и PowerMeter_count_night. `
спасибо, попробую
@instalator:А чем интервал не нравится? `
для электросчетчика пойдет ибо он всегда тикает, для водяных счетчиков надо что-то другое, т.к. в основном они "молчат" и "мгновенное" потребление превращается в "последнее измеренное" -
можно изящнее, вместо задержки подписаться на изменение
PowerMeter_count_day и PowerMeter_count_night. `
спасибо, попробую
@instalator:А чем интервал не нравится?
для электросчетчика пойдет ибо он всегда тикает, для водяных счетчиков надо что-то другое, т.к. в основном они "молчат" и "мгновенное" потребление превращается в "последнее измеренное"так а как для воды рассчитать мгновенное если один импульс это 10 литров в среднем? Да и нужно ли оно для воды. -
первое что приходит - просто по расписанию запускать тот кусок с интервалом и проверять счетчик, если не изменился - обнулять "мгновенное потребление" `
А проще по-моему просто ловить изменение счётчика (импульс) это и будет означать что вот вот утек стакан воды -
а как зафиксировать, что кран закрыли и импульсов в ближайшее время не предвидится? `
Рассчитать максимальное время между импульсами при минимальном потоке воды и через это время обнулять значение якобы мгновенного расхода. Либо делить его на это время -
Счётчик воды работает конечно импульсно, но! У него контакт замыкается каждые 10 литров, при этом если вы в это время воду прекратили расходовать, он будет замкнут и постоянно включён!
Так как у меня контроллер Wago и, по сути, вся логика на нём, то счётчики воды реализованы через Функциональный блок 'инкрементный счетчик' (CTU), а уже от него передаются в ioBroker/
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden