Графики IH Pro



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    Кстати, timeline показания тоже не фиксируются и на график не выводятся 😞

    Это странно очень - одно с другим никак не связано.

    А значения устройств - температура например - пишутся?

    Хорошо бы лог посмотреть /opt/intrahouse-c/log/ih.log

    Если не заработает - пришлите архив проекта

    Значения устройств пишутся. И столбчатый график значений устройств выводится. Раньше значение устройств работало со счетчиками. Сейчас все что связано со счетчиками на график не выводится. Плагин MegaD 1.1.9. Завтра попробую MySQL полностью переустановить. Сначала лог скачаю и вышлю.

    Переустанавливать не спешите 🙂

    А на счетчике значения обновляются?



  • @intrapro:

    @sergeyygr:

    @intrapro:

    Это странно очень - одно с другим никак не связано.

    А значения устройств - температура например - пишутся?

    Хорошо бы лог посмотреть /opt/intrahouse-c/log/ih.log

    Если не заработает - пришлите архив проекта

    Значения устройств пишутся. И столбчатый график значений устройств выводится. Раньше значение устройств работало со счетчиками. Сейчас все что связано со счетчиками на график не выводится. Плагин MegaD 1.1.9. Завтра попробую MySQL полностью переустановить. Сначала лог скачаю и вышлю.

    Переустанавливать не спешите 🙂

    А на счетчике значения обновляются?

    Да, обновляются.



  • Такая же проблема, началась вчера. Все работало, но я заменил счетчики импульсов с кернелчипа на мегад, перепривязал имеющиеся счетчики к плагину мегад и графики перестали работать



  • @homa:

    Такая же проблема, началась вчера. Все работало, но я заменил счетчики импульсов с кернелчипа на мегад, перепривязал имеющиеся счетчики к плагину мегад и графики перестали работать

    Перестали показывать - не показывает новые значения или ничего нет?



  • @intrapro:

    @homa:

    Такая же проблема, началась вчера. Все работало, но я заменил счетчики импульсов с кернелчипа на мегад, перепривязал имеющиеся счетчики к плагину мегад и графики перестали работать

    Перестали показывать - не показывает новые значения или ничего нет?

    Кроме consumption не пробовал ничего. На том же графике старые значения (расход в предыдущие дни) стали запредельно большими, а значения после замены устройства на графике отсутствуют. Причем на мнемосхеме все работает исправно



  • @homa:

    @intrapro:

    @homa:

    Такая же проблема, началась вчера. Все работало, но я заменил счетчики импульсов с кернелчипа на мегад, перепривязал имеющиеся счетчики к плагину мегад и графики перестали работать

    Перестали показывать - не показывает новые значения или ничего нет?

    Кроме consumption не пробовал ничего. На том же графике старые значения (расход в предыдущие дни) стали запредельно большими, а значения после замены устройства на графике отсутствуют. Причем на мнемосхеме все работает исправно

    Понятно, спасибо. Будем разбираться 😞



  • @intrapro:

    @sergeyygr:

    @sergeyygr:

    Да, понимаю. Только база данных не обновляется. На домашнем сервере мы с Вами позавчера все настроили, сегодня ездил настраивать дачный. Сделал все тоже самое. Заметил, что при удалении записи consumption из БД она появлялась снова через час. На дачном и через 4 часа не появилась 😞

    Кстати, timeline показания тоже не фиксируются и на график не выводятся 😞

    Это странно очень - одно с другим никак не связано.

    А значения устройств - температура например - пишутся?

    Хорошо бы лог посмотреть /opt/intrahouse-c/log/ih.log

    Если не заработает - пришлите архив проекта

    Доброе утро. Высылаю лог.



  • @sergeyygr:

    Доброе утро. Высылаю лог.

    Доброе утро.

    В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.

    Попробуйте перезагрузить службы mysql и ih

    Или сделать reboot сервера - если есть такая возможность



  • @intrapro:

    @sergeyygr:

    Доброе утро. Высылаю лог.

    Доброе утро.

    В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.

    Попробуйте перезагрузить службы mysql и ih

    Или сделать reboot сервера - если есть такая возможность

    Делал, переустановил муську - не помогло 😞



  • @intrapro:

    @homa:

    @intrapro:

    Перестали показывать - не показывает новые значения или ничего нет?

    Кроме consumption не пробовал ничего. На том же графике старые значения (расход в предыдущие дни) стали запредельно большими, а значения после замены устройства на графике отсутствуют. Причем на мнемосхеме все работает исправно

    Понятно, спасибо. Будем разбираться 😞

    У меня вдруг появились значения на графике вчера, но там не разница, а текущие значения. Не понимаю
    meter.JPG



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    Доброе утро. Высылаю лог.

    Доброе утро.

    В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.

    Попробуйте перезагрузить службы mysql и ih

    Или сделать reboot сервера - если есть такая возможность

    Делал, переустановил муську - не помогло 😞

    Доброе утро!

    Открыл ls -al /var/lib/mysql/ihdb/*

    Вот что тамСнимок.PNG



  • @sergeyygr:

    @sergeyygr:

    @intrapro:

    Доброе утро.

    В логе ошибка записи в таблицу - Table 'ihdb.consumption' doesn't exist . MySQL таблицу не видит.

    Попробуйте перезагрузить службы mysql и ih

    Или сделать reboot сервера - если есть такая возможность

    Делал, переустановил муську - не помогло 😞

    Доброе утро!

    Открыл ls -al /var/lib/mysql/ihdb/*

    Вот что там

    Смотрю сейчас в consumption 2 записи. Вчера изменил установки графика на значения устройства и линия. Сейчас вернул на аналитические данные и столбчатый, график есть только последний час и общее значение с 18 до 19 вчера. В это время я как раз поменял настройки на вывод значения и линию. Фантастика какая то :lol:



  • @sergeyygr:

    Смотрю сейчас в 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 добавлена возможность дробного округления значений при построении аналитических графиков:

    Новое свойство "Цифр после запятой". В предыдущей версии округление делалось до целого значения

    Свойство появится только если добавляется новый график, в существующих свойство не появится.



  • @intrapro:

    @sergeyygr:

    Смотрю сейчас в 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 добавлена возможность дробного округления значений при построении аналитических графиков:

    Новое свойство "Цифр после запятой". В предыдущей версии округление делалось до целого значения

    Свойство появится только если добавляется новый график, в существующих свойство не появится.

    После обновления все счетчики обнулились 😄 последующая перезагрузка не вызвала обнуления



  • А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении



  • @homa:

    А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении

    В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа

    Их можно использовать в сценарии:

    const meter = Device("METER1"); 
    script({
        start() {
            this.log("На начало месяца:"+meter.getParam('uptoMonth')); 
            this.log("На начало дня:"+meter.getParam('uptoDay')); 
            this.log("На начало часа:"+meter.getParam('uptoHour')); 
        } 
    });
    
    
    


  • @intrapro:

    @homa:

    А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении

    В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа

    Их можно использовать в сценарии:

    > const meter = Device("METER1"); 
    > script({
    >     start() {
    >         this.log("На начало месяца:"+meter.getParam('uptoMonth')); 
    >         this.log("На начало дня:"+meter.getParam('uptoDay')); 
    >         this.log("На начало часа:"+meter.getParam('uptoHour')); 
    >     } 
    > });
    > 
    > 
    

    Супер! Получается можно из текущих показаний вычитать "на начало месяца" и умножать на стоимость. Спасибо!



  • @homa:

    @intrapro:

    @homa:

    А есть возможность фиксировать показание счетчика на начало месяца? Все приходящие в голову мысли связаны с созданием кучи дополнительных объектов… Мысль переводить на ходу текущие показания в рубли, чтобы был виден расход не только в кубах\киловаттах, но и сразу в денежном выражении

    В принципе, каждый счетчик уже имеет свойства - показания на начало месяца, дня и часа

    Их можно использовать в сценарии:

    > > const meter = Device("METER1"); 
    > > script({
    > >     start() {
    > >         this.log("На начало месяца:"+meter.getParam('uptoMonth')); 
    > >         this.log("На начало дня:"+meter.getParam('uptoDay')); 
    > >         this.log("На начало часа:"+meter.getParam('uptoHour')); 
    > >     } 
    > > });
    > > 
    > > 
    

    Супер! Получается можно из текущих показаний вычитать "на начало месяца" и умножать на стоимость. Спасибо!

    Да, но у вас с февраля только это будет работать, так как счетчики запустили в январе 🙂



  • @intrapro:

    @sergeyygr:

    Может… как то сценариями решить? Два виртуальных устройства (получаем данные с канала, который тупо считает импульсы), в каждом устройстве свой делитель (количество импульсов на кВт/час), а время запуска сценариев уже реализовано 😛

    Да, хорошая идея, такой вариант вполне работоспособен: два виртуальных счетчика плюс дискретный датчик импульса.

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

    Примерно так:

    > /** 
    > * @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 секунд, но не взлетело



  • @homa:

    @intrapro:

    @sergeyygr:

    Может… как то сценариями решить? Два виртуальных устройства (получаем данные с канала, который тупо считает импульсы), в каждом устройстве свой делитель (количество импульсов на кВт/час), а время запуска сценариев уже реализовано 😛

    Да, хорошая идея, такой вариант вполне работоспособен: два виртуальных счетчика плюс дискретный датчик импульса.

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

    Примерно так:

    > > /** 
    > > * @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 секунд, но не взлетело

    Добрый день! А почему вдруг сценарий прерывается? Может лучше эту проблему решить? У меня сейчас эта проблема только при перезагрузке сервера после обновления, но коррекцию можно сделать вручную. А на даче сервер пашет не выключаясь, по сценариям за полгода сбоев небыло)


Авторизуйтесь, чтобы ответить