Графики IH Pro
-
Да, понимаю. Только база данных не обновляется. На домашнем сервере мы с Вами позавчера все настроили, сегодня ездил настраивать дачный. Сделал все тоже самое. Заметил, что при удалении записи consumption из БД она появлялась снова через час. На дачном и через 4 часа не появилась
Кстати, timeline показания тоже не фиксируются и на график не выводятся
Это странно очень - одно с другим никак не связано.
А значения устройств - температура например - пишутся?
Хорошо бы лог посмотреть /opt/intrahouse-c/log/ih.log
Если не заработает - пришлите архив проекта
Доброе утро. Высылаю лог.
-
Доброе утро. Высылаю лог.
Доброе утро.
В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.
Попробуйте перезагрузить службы mysql и ih
Или сделать reboot сервера - если есть такая возможность
-
Доброе утро. Высылаю лог.
Доброе утро.
В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.
Попробуйте перезагрузить службы mysql и ih
Или сделать reboot сервера - если есть такая возможность
Делал, переустановил муську - не помогло
-
Перестали показывать - не показывает новые значения или ничего нет?
Кроме consumption не пробовал ничего. На том же графике старые значения (расход в предыдущие дни) стали запредельно большими, а значения после замены устройства на графике отсутствуют. Причем на мнемосхеме все работает исправно
Понятно, спасибо. Будем разбираться
У меня вдруг появились значения на графике вчера, но там не разница, а текущие значения. Не понимаю
-
Доброе утро. Высылаю лог.
Доброе утро.
В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.
Попробуйте перезагрузить службы mysql и ih
Или сделать reboot сервера - если есть такая возможность
Делал, переустановил муську - не помогло
Доброе утро!
Открыл ls -al /var/lib/mysql/ihdb/*
Вот что там
-
Доброе утро.
В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.
Попробуйте перезагрузить службы mysql и ih
Или сделать reboot сервера - если есть такая возможность
Делал, переустановил муську - не помогло
Доброе утро!
Открыл ls -al /var/lib/mysql/ihdb/*
Вот что там
Смотрю сейчас в consumption 2 записи. Вчера изменил установки графика на значения устройства и линия. Сейчас вернул на аналитические данные и столбчатый, график есть только последний час и общее значение с 18 до 19 вчера. В это время я как раз поменял настройки на вывод значения и линию. Фантастика какая то :lol:
-
Смотрю сейчас в consumption 2 записи. Вчера изменил установки графика на значения устройства и линия. Сейчас вернул на аналитические данные и столбчатый, график есть только последний час и общее значение с 18 до 19 вчера. В это время я как раз поменял настройки на вывод значения и линию. Фантастика какая то :lol:
Спасибо за логи, благодаря им смогли разобраться :).
По логам: после перезагрузки таблица стала доступна для записи, но значения все равно в основном не писались в БД из-за ошибки округления при суммировании.
Для фиксации ошибки выпущена новая версия плагина MegaD 1.1.10, доступно для скачивания на github
https://github.com/intrahouseio/intraHouse.plugin-MegaD/releases/tag/v1.1.10
В обновление системы 4.4.11 добавлена возможность дробного округления значений при построении аналитических графиков:
Новое свойство "Цифр после запятой". В предыдущей версии округление делалось до целого значения
Свойство появится только если добавляется новый график, в существующих свойство не появится.
-
Смотрю сейчас в consumption 2 записи. Вчера изменил установки графика на значения устройства и линия. Сейчас вернул на аналитические данные и столбчатый, график есть только последний час и общее значение с 18 до 19 вчера. В это время я как раз поменял настройки на вывод значения и линию. Фантастика какая то :lol:
Спасибо за логи, благодаря им смогли разобраться :).
По логам: после перезагрузки таблица стала доступна для записи, но значения все равно в основном не писались в БД из-за ошибки округления при суммировании.
Для фиксации ошибки выпущена новая версия плагина MegaD 1.1.10, доступно для скачивания на github
https://github.com/intrahouseio/intraHouse.plugin-MegaD/releases/tag/v1.1.10
В обновление системы 4.4.11 добавлена возможность дробного округления значений при построении аналитических графиков:
Новое свойство "Цифр после запятой". В предыдущей версии округление делалось до целого значения
Свойство появится только если добавляется новый график, в существующих свойство не появится.
После обновления все счетчики обнулились последующая перезагрузка не вызвала обнуления
-
А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении
-
А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении
В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа
Их можно использовать в сценарии:
const meter = Device("METER1"); script({ start() { this.log("На начало месяца:"+meter.getParam('uptoMonth')); this.log("На начало дня:"+meter.getParam('uptoDay')); this.log("На начало часа:"+meter.getParam('uptoHour')); } });
-
А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении
В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа
Их можно использовать в сценарии:
> const meter = Device("METER1"); > script({ > start() { > this.log("На начало месяца:"+meter.getParam('uptoMonth')); > this.log("На начало дня:"+meter.getParam('uptoDay')); > this.log("На начало часа:"+meter.getParam('uptoHour')); > } > }); > >
Супер! Получается можно из текущих показаний вычитать "на начало месяца" и умножать на стоимость. Спасибо!
-
А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении
В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа
Их можно использовать в сценарии:
> > const meter = Device("METER1"); > > script({ > > start() { > > this.log("На начало месяца:"+meter.getParam('uptoMonth')); > > this.log("На начало дня:"+meter.getParam('uptoDay')); > > this.log("На начало часа:"+meter.getParam('uptoHour')); > > } > > }); > > > >
Супер! Получается можно из текущих показаний вычитать "на начало месяца" и умножать на стоимость. Спасибо!
Да, но у вас с февраля только это будет работать, так как счетчики запустили в январе
-
Может… как то сценариями решить? Два виртуальных устройства (получаем данные с канала, который тупо считает импульсы), в каждом устройстве свой делитель (количество импульсов на кВт/час), а время запуска сценариев уже реализовано
Да, хорошая идея, такой вариант вполне работоспособен: два виртуальных счетчика плюс дискретный датчик импульса.
Значение формируется сценарием. Время и коэффициенты для простоты заложить прямо в сценарий
Примерно так:
> /** > * @name Двухтарифный счетчик для имульсного входа > * @desc > * @version 4 > */ > const meterDay = Device("Meter"); > const meterNight = Device("Meter"); > const pulse = Device("SensorD"); > > startOnChange(pulse); > > script({ > dayWeight:0.1, // дневной коэф-т > nightWeight:0.05, // ночной коэф-т > start() { > const dt = new Date(); > if (dt.getHours() < 7 || dt.getHours()>22) { // c 22:00 - 7:00 ночной тариф > this.assign(meterNight, 'aval', meterNight.value+this.nightWeight); > } else { > this.assign(meterDay, 'aval', meterDay.value+this.dayWeight); > } > this.assign( pulse, 'value', 0); // сброс импульса > } > }); > >
Только тип датчика в каналах надо поменять. Нужен просто дискретный датчик
И виртуальным датчикам присвоить начальное значение через интерфейс
Настроил у себя аналогичную конфигурацию и сценарий, но есть проблема. Если сценарий прервался и канал с импульсами в это время был в статусе ON, то он уже не сбросится и подсчет остановится. Пытался сделать сценарий, который скидывает сенсор в OFF через 5 секунд, но не взлетело
-
Может… как то сценариями решить? Два виртуальных устройства (получаем данные с канала, который тупо считает импульсы), в каждом устройстве свой делитель (количество импульсов на кВт/час), а время запуска сценариев уже реализовано
Да, хорошая идея, такой вариант вполне работоспособен: два виртуальных счетчика плюс дискретный датчик импульса.
Значение формируется сценарием. Время и коэффициенты для простоты заложить прямо в сценарий
Примерно так:
> > /** > > * @name Двухтарифный счетчик для имульсного входа > > * @desc > > * @version 4 > > */ > > const meterDay = Device("Meter"); > > const meterNight = Device("Meter"); > > const pulse = Device("SensorD"); > > > > startOnChange(pulse); > > > > script({ > > dayWeight:0.1, // дневной коэф-т > > nightWeight:0.05, // ночной коэф-т > > start() { > > const dt = new Date(); > > if (dt.getHours() < 7 || dt.getHours()>22) { // c 22:00 - 7:00 ночной тариф > > this.assign(meterNight, 'aval', meterNight.value+this.nightWeight); > > } else { > > this.assign(meterDay, 'aval', meterDay.value+this.dayWeight); > > } > > this.assign( pulse, 'value', 0); // сброс импульса > > } > > }); > > > >
Только тип датчика в каналах надо поменять. Нужен просто дискретный датчик
И виртуальным датчикам присвоить начальное значение через интерфейс
Настроил у себя аналогичную конфигурацию и сценарий, но есть проблема. Если сценарий прервался и канал с импульсами в это время был в статусе ON, то он уже не сбросится и подсчет остановится. Пытался сделать сценарий, который скидывает сенсор в OFF через 5 секунд, но не взлетело
Добрый день! А почему вдруг сценарий прерывается? Может лучше эту проблему решить? У меня сейчас эта проблема только при перезагрузке сервера после обновления, но коррекцию можно сделать вручную. А на даче сервер пашет не выключаясь, по сценариям за полгода сбоев небыло)
-
Да, хорошая идея, такой вариант вполне работоспособен: два виртуальных счетчика плюс дискретный датчик импульса.
Значение формируется сценарием. Время и коэффициенты для простоты заложить прямо в сценарий
Примерно так:
> > > /** > > > * @name Двухтарифный счетчик для имульсного входа > > > * @desc > > > * @version 4 > > > */ > > > const meterDay = Device("Meter"); > > > const meterNight = Device("Meter"); > > > const pulse = Device("SensorD"); > > > > > > startOnChange(pulse); > > > > > > script({ > > > dayWeight:0.1, // дневной коэф-т > > > nightWeight:0.05, // ночной коэф-т > > > start() { > > > const dt = new Date(); > > > if (dt.getHours() < 7 || dt.getHours()>22) { // c 22:00 - 7:00 ночной тариф > > > this.assign(meterNight, 'aval', meterNight.value+this.nightWeight); > > > } else { > > > this.assign(meterDay, 'aval', meterDay.value+this.dayWeight); > > > } > > > this.assign( pulse, 'value', 0); // сброс импульса > > > } > > > }); > > > > > >
Только тип датчика в каналах надо поменять. Нужен просто дискретный датчик
И виртуальным датчикам присвоить начальное значение через интерфейс
Настроил у себя аналогичную конфигурацию и сценарий, но есть проблема. Если сценарий прервался и канал с импульсами в это время был в статусе ON, то он уже не сбросится и подсчет остановится. Пытался сделать сценарий, который скидывает сенсор в OFF через 5 секунд, но не взлетело
Добрый день! А почему вдруг сценарий прерывается? Может лучше эту проблему решить? У меня сейчас эта проблема только при перезагрузке сервера после обновления, но коррекцию можно сделать вручную. А на даче сервер пашет не выключаясь, по сценариям за полгода сбоев небыло)
Потому что я в процессе настройки, много правок, иногда приводят к ошибке, иногда сохранение сценария не вовремя
-
Настроил у себя аналогичную конфигурацию и сценарий, но есть проблема. Если сценарий прервался и канал с импульсами в это время был в статусе ON, то он уже не сбросится и подсчет остановится. Пытался сделать сценарий, который скидывает сенсор в OFF через 5 секунд, но не взлетело
Добрый день! А почему вдруг сценарий прерывается? Может лучше эту проблему решить? У меня сейчас эта проблема только при перезагрузке сервера после обновления, но коррекцию можно сделать вручную. А на даче сервер пашет не выключаясь, по сценариям за полгода сбоев небыло)
Потому что я в процессе настройки, много правок, иногда приводят к ошибке, иногда сохранение сценария не вовремя
Интересно! Сейчас пробовал у себя так так воссоздать, но сценарий нормально отрабатывает со следующего импульса устройства. У меня на счетчике Меркурий, а у Вас какое устройство отслеживает?
-
Добрый день! А почему вдруг сценарий прерывается? Может лучше эту проблему решить? У меня сейчас эта проблема только при перезагрузке сервера после обновления, но коррекцию можно сделать вручную. А на даче сервер пашет не выключаясь, по сценариям за полгода сбоев небыло)
Потому что я в процессе настройки, много правок, иногда приводят к ошибке, иногда сохранение сценария не вовремя
Интересно! Сейчас пробовал у себя так так воссоздать, но сценарий нормально отрабатывает со следующего импульса устройства. У меня на счетчике Меркурий, а у Вас какое устройство отслеживает?
Тоже меркурий 200.02. Расскажите как прикрепили фототранзистор к диоду, никак не сочиню крепление
-
Потому что я в процессе настройки, много правок, иногда приводят к ошибке, иногда сохранение сценария не вовремя
Интересно! Сейчас пробовал у себя так так воссоздать, но сценарий нормально отрабатывает со следующего импульса устройства. У меня на счетчике Меркурий, а у Вас какое устройство отслеживает?
Тоже меркурий 200.02. Расскажите как прикрепили фототранзистор к диоду, никак не сочиню крепление
Кусок от авторучки моей Школьницы и моментальный клей
-
Интересно! Сейчас пробовал у себя так так воссоздать, но сценарий нормально отрабатывает со следующего импульса устройства. У меня на счетчике Меркурий, а у Вас какое устройство отслеживает?
Тоже меркурий 200.02. Расскажите как прикрепили фототранзистор к диоду, никак не сочиню крепление
Кусок от авторучки моей Школьницы и моментальный клейIMG_1290.jpg
Надзорные органы не поругают за клей? :roll: я взял кусок фломастера и пластелин
-
Потому что я в процессе настройки, много правок, иногда приводят к ошибке, иногда сохранение сценария не вовремя
Интересно! Сейчас пробовал у себя так так воссоздать, но сценарий нормально отрабатывает со следующего импульса устройства. У меня на счетчике Меркурий, а у Вас какое устройство отслеживает?
Тоже меркурий 200.02. Расскажите как прикрепили фототранзистор к диоду, никак не сочиню крепление
Давайте настройки сверим?