0
Completed

Снять показания с погодного виджета

Олег 4 years ago updated by Support Manager 3 years ago 10

Было бы интересно видеть зависимость потребленной энергии от температуры на улице. Возможно ли реализовать такой график?

GOOD, I'M SATISFIED

спасибо, все очень толково и оперативно

Satisfaction mark by Олег 3 years ago
+1
Completed

Добрый день.
Такой график реализовать очень просто.

Понадобится энергомонитор D101/103 и универсал D105 с датчиком температуры.

Добавляете оба устройства в свою учетную запись, создаете график и добавляете на него потребление электроэнергии и температуру на улице.

Готово.

возможно ли в целях экономии использовать виджет погоды?

Данные с виджета погоды на график вывести не получится.

Приобрел D105 в дополнение к D103, 


было бы неплохо  в арифметических  операциях f(x) использовать данные с двух приборов , это возможно?

+1

В арифметических операциях с двух разных устройств использовать данные не получится.


Но многие задачи можно решить с помощью Виртуального значения.

Там можно делать простые арифметические операции с данными с разных устройств.

Попробуйте.

Виртуальное значение помогло, спасибо. Следующий вопрос - возможность  использовать в формуле временной интервал за который накапливалось значение. Насколько я понимаю это d.period. Прошу Вас проконсультировать как  использовать  эти значения в формулах.

+1

Добрый день.

Все верно, значение d.perion  это текущий выбранный на виджете период

Принимает значения: minute/hour/day/week/month/year

Его можно использовать в своих формулах на виджете.

Например так:

var k = d.period === 'minute' ? 1 : d.period === 'hour' ? 60 : d.period === 'day' ? 24*60 : d.period === 'week' ? 7*24*60 : d.period === 'month' ? mDay*24*60 : 365*24*60;
d.Ch1/k;

Сперва в k считаем количество минут в периоде, затем что-то с ним делаем.

Зачем? Вам решать))

Спасибо, это то, что нужно. Расскажите пожалуйсnа еще что такое d.cp

второй вопрос- в случае с месяцем данные о количестве минут не возвращаются. видимо чего-то не хватает для mDay

d.period === 'month' ? mDay*24*60
+1

Да, верно. В формуле еще одна переменная есть mDay - которая вычисляет количество дней именно в этом месяце. ))

Добавьте ее в начало скрипта.

var mDay = new Date(new Date(d.TIME).getYear(),new Date(d.TIME).getMonth()+1,0).getDate();