setar писал(а):устройство выдает информацию в MQTT, OH2 принимает информацию в MQTT. Брокер (Mosquitto) не нужен. если без него не работает = несогласованность форматов и он работает как костыль.
Ну можно и так сказать, только с тем же успехом можно и SQL-сервер назвать костыль-конвертером, ведь INSERT/UPDATE нельзя принимать в качестве ответа на SELECT, ибо несогласованность форматов
Я понимаю, что при OH2 в качестве единственного подписчика, MQTT особо смысла не имеет, зато вполне себе стандарт и удобно, вообще говоря.
Добавлено спустя 32 минуты 31 секунду:
setar писал(а):RRD4J -самое простое, но это текстовый лог, очень много места занимает (растет быстро), при большом логе крайне медленно выборка делается
Вот это я вообще не понял. После того как про RRD4J почитал. Round Robin Database это как раз концепция, когда база данных почти не растёт. Потому что старые данные теряют детализацию. Типа если за последний час детализация хранится посекундная, то за последние 24ч уже поминутная, последние 30 дней почасовая, а остальное вообще только ежедневные значения.
Вот пример настройки ( https://github.com/openhab/openhab1-add ... ersistence ):
// for other things (switches, contacts etc), we mainly provide a high level of detail for the last hour
rrdDef.setStep(1);
rrdDef.addDatasource(DATASOURCE_STATE, DsType.GAUGE, 3600, Double.NaN, Double.NaN);
rrdDef.addArchive(function, .999, 1, 3600); // 1 hour (granularity 1 sec)
rrdDef.addArchive(function, .999, 10, 1440); // 4 hours (granularity 10 sec)
rrdDef.addArchive(function, .999, 60, 1440); // one day (granularity 1 min)
rrdDef.addArchive(function, .999, 900, 2880); // one month (granularity 15 min)
rrdDef.addArchive(function, .999, 21600, 1460); // one year (granularity 6 hours)
rrdDef.addArchive(function, .999, 86400, 3650); // ten years (granularity 1 day)
Ну по крайней мере так должно быть, если правильно всё настроено.
setar писал(а):=DeaD= писал(а):Есть же Persistence стратегия everyChange, не подходит? Или открытие двери надо на графике видеть?
RRD4J не работает с правилом everyChange, только правила кратные минуте
Погоди, мы сейчас про сам движок RRD4J или про Charts на его основе? Сам движок, как я понимаю, позволяет дробить данные до секунды.
Данные для графика в худшем случае можно запросить напрямую из Persistance сервиса через REST интерфейс, например, так (по дефолту вернёт данные за последний день):
http://192.168.1.x:8080/rest/persistenc ... Room1_Temp
Полностью REST API описан в одноимённом разделе, который доступен как один из UI при входе на OpenHAB.
Добавлено спустя 13 минут 34 секунды:
setar писал(а):по картинкам может понятнее будет
настройки:
результат:
О, эти ужасные графики из старого OpenHAB
setar писал(а):но как это подключено - магия, стараюсь взять непосредственно из базы (H2 - это тип быстрой и очень простой базы данных http://www.h2database.com)
в результате - пусто
Тут, видимо, проблема в Service provider, не нужно в него Item "Gas_n0" класть.
В случае "n3-line-chart" все Item, по которым строим графики, определяются на вкладке "Series".
А в провайдера надо писать, видимо, что-то типа "jdbc-h2" (или "jdbc:h2")