Графики IH Pro



  • @sergeyygr:

    теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал.

    Начиная с версии 4.3.11 был изменен механизм сохранения расхода счетчиков. Для получения отчетов по расходу используется таблица consumption. Поэтому для устройств типа Счетчик сохранение в БД теперь имеет вид:
    save_consumption.png
    Для получения данных о расходе нужно поставить первую галочку (скорее всего она и стоит, это должно было сработать автоматически)

    Вторую галочку можно не ставить.

    Для отображения суточного расхода нужно выбрать:

    "Выводить на график" -> "Аналитические данные", "Таблица" -> "consumption", "Дискрета"-> "День"
    consumption.png

    При формировании графиков в нижней табличке в списке будут счетчики, данные которых были найдены в таблице consumption.
    show_meters.png

    Поэтому, если таблица пока пустая, нужно дождаться, чтобы хоть одно показание записалось



  • @intrapro:

    @sergeyygr:

    теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал.

    Начиная с версии 4.3.11 был изменен механизм сохранения расхода счетчиков. Для получения отчетов по расходу используется таблица consumption. Поэтому для устройств типа Счетчик сохранение в БД теперь имеет вид:

    save_consumption.png

    Для получения данных о расходе нужно поставить первую галочку (скорее всего она и стоит, это должно было сработать автоматически)

    Вторую галочку можно не ставить.

    Для отображения суточного расхода нужно выбрать:

    "Выводить на график" -> "Аналитические данные", "Таблица" -> "consumption", "Дискрета"-> "День"

    consumption.png

    При формировании графиков в нижней табличке в списке будут счетчики, данные которых были найдены в таблице consumption.

    show_meters.png

    Поэтому, если таблица пока пустая, нужно дождаться, чтобы хоть одно показание записалось

    Понятно. Спасибо! Видать эту информацию я в свое время пропустил или читал не внимательно 😛

    А как на счет этого функционала?Снимок.PNG



  • @sergeyygr:

    А как на счет этого функционала?Снимок.PNG

    Это к сожалению вопрос не решенный. Перенесли из Berry, но пока толком не работает 😞



  • @intrapro:

    @sergeyygr:

    А как на счет этого функционала?Снимок.PNG

    Это к сожалению вопрос не решенный. Перенесли из Berry, но пока толком не работает 😞

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



  • @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); // сброс импульса
        } 
    });
    
    
    

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

    И виртуальным датчикам присвоить начальное значение через интерфейс



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал.

    Начиная с версии 4.3.11 был изменен механизм сохранения расхода счетчиков. Для получения отчетов по расходу используется таблица consumption. Поэтому для устройств типа Счетчик сохранение в БД теперь имеет вид:

    save_consumption.png

    Для получения данных о расходе нужно поставить первую галочку (скорее всего она и стоит, это должно было сработать автоматически)

    Вторую галочку можно не ставить.

    Для отображения суточного расхода нужно выбрать:

    "Выводить на график" -> "Аналитические данные", "Таблица" -> "consumption", "Дискрета"-> "День"

    consumption.png

    При формировании графиков в нижней табличке в списке будут счетчики, данные которых были найдены в таблице consumption.

    show_meters.png

    Поэтому, если таблица пока пустая, нужно дождаться, чтобы хоть одно показание записалось

    Понятно. Спасибо! Видать эту информацию я в свое время пропустил или читал не внимательно 😛

    А как на счет этого функционала?Снимок.PNG

    Спасибо, все работает. Только выводятся целые значения, а дробных на графике нет(



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    Добрый день! А как очистить базу данных? Функция "Удалить таблицу из БД" файл не удаляет :? .

    Добрый день!

    Если вы хотите удалить таблицу (несколько таблиц), то "Удалить таблицу из БД" из интерфейса работает, только неверно отрабатывается feedback от сервера (продолжает крутиться индикатор). Поправим в следующей версии.

    Если нажать кнопку Refresh.png- увидите, что удаляемой таблицы уже нет.

    Так можно удалить любую таблицу кроме текущей (за сегодняшний день)

    Если же цель - полностью очистить БД, то можно удалить папку ihdb. После перезагрузки сервиса будет создана новая БД

    > > sudo service intrahouse-c stop
    > > sudo service mysqld stop
    > > sudo rm -R /var/lib/mysql/ihdb
    > > sudo service mysqld start
    > > sudo service intrahouse-c start
    > > 
    > > 
    

    Спасибо. Удалил папку. А теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал. Вот настройки графикаСнимок.PNG

    Добрый день! А поделитесь опытом как Вы снимаете показания электроэнергии? Какие контроллеры, какие датчики?



  • @homa:

    @sergeyygr:

    @intrapro:

    Добрый день!

    Если вы хотите удалить таблицу (несколько таблиц), то "Удалить таблицу из БД" из интерфейса работает, только неверно отрабатывается feedback от сервера (продолжает крутиться индикатор). Поправим в следующей версии.

    Если нажать кнопку Refresh.png- увидите, что удаляемой таблицы уже нет.

    Так можно удалить любую таблицу кроме текущей (за сегодняшний день)

    Если же цель - полностью очистить БД, то можно удалить папку ihdb. После перезагрузки сервиса будет создана новая БД

    > > > sudo service intrahouse-c stop
    > > > sudo service mysqld stop
    > > > sudo rm -R /var/lib/mysql/ihdb
    > > > sudo service mysqld start
    > > > sudo service intrahouse-c start
    > > > 
    > > > 
    

    Спасибо. Удалил папку. А теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал. Вот настройки графикаСнимок.PNG

    Добрый день! А поделитесь опытом как Вы снимаете показания электроэнергии? Какие контроллеры, какие датчики?

    Добрый день. У меня контроллер MegaD-2561 https://ab-log.ru/smart-house/ethernet/megad-2561 и исполнительные модули https://ab-log.ru/smart-house/ethernet/megad-14-ior. На вход in (без всякого дополнительного питания) установлен фототранзистор https://www.chipdip.ru/product/l-32p3c с биполярным транзистором для усиления по току (схем в инете множество). Фототранзистор "висит" на светодиоде импульсов электросчетчика (у меня Меркурий 200).



  • @sergeyygr:

    @homa:

    @sergeyygr:

    Спасибо. Удалил папку. А теперь вопрос - как настроить отображение графиков столбцами с указанием суточного расхода? Например - график потребления электроэнергии почему-то каждый час прибавляет к существующему общему показанию. Так же и по счетчикам воды. Вроде все перепробовал. Вот настройки графикаСнимок.PNG

    Добрый день! А поделитесь опытом как Вы снимаете показания электроэнергии? Какие контроллеры, какие датчики?

    Добрый день. У меня контроллер MegaD-2561 https://ab-log.ru/smart-house/ethernet/megad-2561 и исполнительные модули https://ab-log.ru/smart-house/ethernet/megad-14-ior. На вход in (без всякого дополнительного питания) установлен фототранзистор https://www.chipdip.ru/product/l-32p3c с биполярным транзистором для усиления по току (схем в инете множество). Фототранзистор "висит" на светодиоде импульсов электросчетчика (у меня Меркурий 200).

    Отличное решение! У меня тоже меркурий, но штатная телеметрия привязана к контроллерам управляющей компании и туда подключиться нельзя, а вот мониторить светодиод не догадался)))



  • @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); // сброс импульса
    >     } 
    > });
    > 
    > 
    ````:(
    > 
    > Только тип датчика в каналах надо поменять. Нужен просто дискретный датчик
    > 
    > И виртуальным датчикам присвоить начальное значение через интерфейс
    
    Добрый вечер! Вроде работает. Только… ВРЁТ сильно :( . Коэффициенты установил как на счетчике были раньше, там расхождений небыло. Может еще какие настройки не учел. Да, еще, без запроса состояния канала сценарий не запускается. Сейчас 1 секунта, пробовал 0,1 секунду, результат тот же :(


  • @sergeyygr:

    Добрый вечер! Вроде работает. Только… ВРЁТ сильно 😞 . Коэффициенты установил как на счетчике были раньше, там расхождений небыло. Может еще какие настройки не учел. Да, еще, без запроса состояния канала сценарий не запускается. Сейчас 1 секунта, пробовал 0,1 секунду, результат тот же 😞

    Добрый вечер!

    Опрос здесь не нужен. Импульсный вход нужно получать от MegaD в Расширениях. Раньше ведь так было? Только сделать не 1=CNT, а 1=ON

    А сброс идет в сценарии.

    Еще на счетчиках нужно выставить цифры после запятой



  • @intrapro:

    @sergeyygr:

    Добрый вечер! Вроде работает. Только… ВРЁТ сильно 😞 . Коэффициенты установил как на счетчике были раньше, там расхождений небыло. Может еще какие настройки не учел. Да, еще, без запроса состояния канала сценарий не запускается. Сейчас 1 секунта, пробовал 0,1 секунду, результат тот же 😞

    Добрый вечер!

    Опрос здесь не нужен. Импульсный вход нужно получать от MegaD в Расширениях. Раньше ведь так было? Только сделать не 1=CNT, а 1=ON

    А сброс идет в сценарии.

    Еще на счетчиках нужно выставить цифры после запятой

    Поправил, вроде начал считать нормально. Цифры после запятой выставлены, а этот комментарий к чему, к вопросу о целых значениях на графике?



  • @sergeyygr:

    @sergeyygr:

    @intrapro:

    Начиная с версии 4.3.11 был изменен механизм сохранения расхода счетчиков. Для получения отчетов по расходу используется таблица consumption. Поэтому для устройств типа Счетчик сохранение в БД теперь имеет вид:

    save_consumption.png

    Для получения данных о расходе нужно поставить первую галочку (скорее всего она и стоит, это должно было сработать автоматически)

    Вторую галочку можно не ставить.

    Для отображения суточного расхода нужно выбрать:

    "Выводить на график" -> "Аналитические данные", "Таблица" -> "consumption", "Дискрета"-> "День"

    consumption.png

    При формировании графиков в нижней табличке в списке будут счетчики, данные которых были найдены в таблице consumption.

    show_meters.png

    Поэтому, если таблица пока пустая, нужно дождаться, чтобы хоть одно показание записалось

    Понятно. Спасибо! Видать эту информацию я в свое время пропустил или читал не внимательно 😛

    А как на счет этого функционала?Снимок.PNG

    Спасибо, все работает. Только выводятся целые значения, а дробных на графике нет(

    Вот так это выглядит на графиках. А потребления воды вообще нет, т.к. в час меньше 1 куб метра.Снимок.PNG



  • @sergeyygr:

    Спасибо, все работает. Только выводятся целые значения, а дробных на графике нет(

    Вот так это выглядит на графиках. А потребления воды вообще нет, т.к. в час меньше 1 куб метра.Снимок.PNG

    В графиках действительно по умолчанию округляется до целых, а настройки округления нет 😞 Поправим



  • Добрый день! Сейчас "борюсь" с выводом графиков на дачном сервере. Почему записей в consumption нет. Ставил обновление час.Снимок.PNG



  • @sergeyygr:

    Добрый день! Сейчас "борюсь" с выводом графиков на дачном сервере. Почему записей в consumption нет. Ставил обновление час.Снимок.PNG

    Добрый день!

    В consumption пишутся данные, если устройство имеет тип Счетчик и у него выставлена галочка "Сохранять показания в БД каждый час"

    Запись происходит строго на границе часа, неважно, изменились показания или нет. Если в этот момент сервер был отключен, запись будет через час.



  • @intrapro:

    @sergeyygr:

    Добрый день! Сейчас "борюсь" с выводом графиков на дачном сервере. Почему записей в consumption нет. Ставил обновление час.Снимок.PNG

    Добрый день!

    В consumption пишутся данные, если устройство имеет тип Счетчик и у него выставлена галочка "Сохранять показания в БД каждый час"

    Запись происходит строго на границе часа, неважно, изменились показания или нет. Если в этот момент сервер был отключен, запись будет через час.

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



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    Добрый день! Сейчас "борюсь" с выводом графиков на дачном сервере. Почему записей в consumption нет. Ставил обновление час.Снимок.PNG

    Добрый день!

    В consumption пишутся данные, если устройство имеет тип Счетчик и у него выставлена галочка "Сохранять показания в БД каждый час"

    Запись происходит строго на границе часа, неважно, изменились показания или нет. Если в этот момент сервер был отключен, запись будет через час.

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

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



  • @sergeyygr:

    @sergeyygr:

    @intrapro:

    Добрый день!

    В consumption пишутся данные, если устройство имеет тип Счетчик и у него выставлена галочка "Сохранять показания в БД каждый час"

    Запись происходит строго на границе часа, неважно, изменились показания или нет. Если в этот момент сервер был отключен, запись будет через час.

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

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

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

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

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

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



  • @intrapro:

    @sergeyygr:

    @sergeyygr:

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

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

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

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

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

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

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


Log in to reply