время работы котла

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

время работы котла

Сообщение sega6549 » Сб сен 29, 2018 12:34 pm

день добрый, поискал по форуму но не нашел ни чего подходящего, имеется котел, имеет состояние 0 и 1, включено и выключено, хочется знать сколько он работает по времени вообще, в день, неделю и месяц, подскажите как реализовать
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: время работы котла

Сообщение Vovix » Сб сен 29, 2018 7:26 pm

sega6549 писал(а):
Сб сен 29, 2018 12:34 pm
день добрый, поискал по форуму но не нашел ни чего подходящего, имеется котел, имеет состояние 0 и 1, включено и выключено, хочется знать сколько он работает по времени вообще, в день, неделю и месяц, подскажите как реализовать
посмотрите тут: viewtopic.php?f=23&t=2105
задача там решается не совсем такая, но подобного характера!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
eygen
Сообщения: 393
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: время работы котла

Сообщение eygen » Сб сен 29, 2018 10:07 pm

Честно спер, кто то это решение на форуме выкладывал. В моем примере считает за час, переделать я думаю не составит труда.

function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('htt://ip/pChart/?p=ESP82660018c11d.gpiout5&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60;
}

sg("ESP82660018c11d.nagr1",round(get_Power("","1h",""),3));
Ответить