Графики IH Pro



  • Здравствуйте!

    Не получается создать график вида "столбец". Выбираю выводить на график аналитические данные, вид столбец, вычислить sum, дискрета месяц, таблица consumption. На графике пустая страница.

    ps разобрался, не верно выбрал график в примитиве



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



  • @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
    
    
    


  • @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



  • @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 пишутся данные, если устройство имеет тип Счетчик и у него выставлена галочка "Сохранять показания в БД каждый час"

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


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