Использование MegaD в openHAB
Re: Использование MegaD в openHAB
Сохранить можно. При перезагрузке состояние сбросится и восстановится. Через persist
Re: Использование MegaD в openHAB
В OH какая либо база данных для сбора информации подключена?
Если да, то для интересующих переключателей указываете следующие правила записи данных в БД (*.persist в конфигах OH) <имя items>,<имя items2> : strategy = everyChange, restoreOnStartup
Re: Использование MegaD в openHAB
rrd4j.persist
Код: Выделить всё
Strategies {
everyMinute : "0 * * * * ?"
every15min : "0 0/15 * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
}
Items {
// persist items on every change and every minute
* : strategy = everyChange, everyHour, everyDay
}
Strategies {
default = everyUpdate
}
Items {
* : strategy = everyChange, restoreOnStartup
}
Re: Использование MegaD в openHAB
При такой конфигурации идет дублирование стратегий.
Надо разобраться зачем эти данные в принципе в базу сохраняются? Если база фактически только для восстановления корректных данных о состоянии выключателей, то достаточно так:
А если еще и с каких то датчиков идет сбор, то тут Вам виднее как часто с них инфу записывать.
У меня датчики записываться раз в минуту, ибо писать их при каждом изменении (everyChange) слишком расточительно. И будет примерно так:
Надо разобраться зачем эти данные в принципе в базу сохраняются? Если база фактически только для восстановления корректных данных о состоянии выключателей, то достаточно так:
Код: Выделить всё
Strategies {
everyMinute : "0 * * * * ?"
every15min : "0 0/15 * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
}
Items {
* : strategy = everyChange, restoreOnStartup
}
У меня датчики записываться раз в минуту, ибо писать их при каждом изменении (everyChange) слишком расточительно. И будет примерно так:
Код: Выделить всё
Strategies {
everyMinute : "0 * * * * ?"
every15min : "0 0/15 * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
}
Items {
<переключатели> : strategy = everyChange, restoreOnStartup
<датчики> : strategy = everyMinute, restoreOnStartup
}
-
- Сообщения: 528
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
База rrd4j не хранит данные с типом дата и время.
Если нужно только сохранять последние значения используйте mapDB.
Я использую influxdb.
Далее fild правильно описал проблему, но никто не понял, я проверил, так и есть:
Включаю Switch m5_2_sd_p22 - ON, делаю рестарт openHAB.
При загрузке в логах вижу:
Т.е. последнее состояние Item восстановилось из базы, но физически порт не включился на меге.
Если нужно только сохранять последние значения используйте mapDB.
Я использую influxdb.
Далее fild правильно описал проблему, но никто не понял, я проверил, так и есть:
Включаю Switch m5_2_sd_p22 - ON, делаю рестарт openHAB.
При загрузке в логах вижу:
Код: Выделить всё
2019-01-30 10:35:42.142 [vent.ItemStateChangedEvent] - m5_2_sd_p22 changed from NULL to ON
Re: Использование MegaD в openHAB
Я думаю это уже правилами обрабатывать придется.martiniman писал(а): ↑30 янв 2019, 11:38Т.е. последнее состояние Item восстановилось из базы, но физически порт не включился на меге.
У меня при включении OH такое правило срабатывает.
Код: Выделить всё
rule "Restart Openhab"
when
System started
then
bath_cool.sendCommand(ON) // выключение вентилятора в ванной, реле с общим плюсом
toilet_cool.sendCommand(ON) // аналогично туалет
val extender0 = sendHttpGetRequest("http://10.10.10.12/sec/?pt=7&cmd=get") //запрос фактического состояния портов на расширителе
val ext = extender0.split(";")
postUpdate(kor_r0,ext.get(0)) // установка состояния кнопок в интерфейсе
postUpdate(kor_r1,ext.get(1))
//....
end
-
- Сообщения: 528
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
Вопрос к Petros - возможно ли не сбрасывать состояние портов при старте биндинга?
Re: Использование MegaD в openHAB
Нужно посмотреть почему он вообще их сбрасывает. В коде такой команды нет.
Re: Использование MegaD в openHAB
вот момент когда все гаснет
Код: Выделить всё
2019-02-04 12:53:27.155 [GroupItemStateChangedEvent] - gHumidity changed from 10.111 to 9.862 through LivingRoom_Humidity
2019-02-04 12:53:27.158 [vent.ItemStateChangedEvent] - Kitchen_Humidity changed from NULL to 9.200
2019-02-04 12:53:27.162 [GroupItemStateChangedEvent] - gHumidity changed from 9.862 to 9.697 through Kitchen_Humidity
2019-02-04 12:53:27.172 [GroupItemStateChangedEvent] - gCO2 changed from 777 to 828 through LivingRoom_CO2
2019-02-04 12:53:27.175 [vent.ItemStateChangedEvent] - LivingRoom_CO2 changed from NULL to 879
2019-02-04 12:53:28.643 [vent.ItemStateChangedEvent] - Corridor_Light changed from NULL to ON
2019-02-04 12:53:30.169 [hingStatusInfoChangedEvent] - 'megad:bridge:megadeviceincomin' changed from UNINITIALIZED to INITIALIZING
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.249 [INFO ] [ing.megad.handler.MegaDBridgeHandler] - MegaD bridge opened port 42745
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.253 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_Light' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-02-04 12:53:30.259 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_door' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-02-04 12:53:30.268 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_O' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-02-04 12:53:30.274 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_1' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-02-04 12:53:30.299 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_temp' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-02-04 12:53:30.321 [hingStatusInfoChangedEvent] - 'megad:bridge:megadeviceincomin' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.370 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_temp' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2019-02-04 12:53:30.400 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_Light' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2019-02-04 12:53:30.423 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_Light' changed from UNINITIALIZED to INITIALIZING
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.429 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=7:0
2019-02-04 12:53:30.445 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=12:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.445 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_O' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2019-02-04 12:53:30.455 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_temp' changed from INITIALIZING to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.461 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=25:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.469 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_Light' changed from INITIALIZING to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.475 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=27:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.484 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_Light' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.497 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_O' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.501 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_door' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2019-02-04 12:53:30.508 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_door' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.516 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_1' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2019-02-04 12:53:30.523 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:KitchenI_Light' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.529 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Bathroom_valve_1' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.533 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_temp' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.537 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_window' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.541 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_Light' changed from UNINITIALIZED to INITIALIZING
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.542 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=28:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.549 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:KitchenI_Light' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.555 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_window' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.562 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Kitchen_temp' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.570 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_Light' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.577 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_temp' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.586 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_window' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.592 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2Bra_Light' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.597 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1Bra_Light' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.606 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2_temp' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.614 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2_window' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.620 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_window' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.627 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1Bra_Light' changed from INITIALIZING to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.627 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=13:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.632 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2Bra_Light' changed from INITIALIZING to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.635 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=9:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.647 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room1_temp' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.652 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2_temp' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.656 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:DRRing' changed from UNINITIALIZED to INITIALIZING
2019-02-04 12:53:30.662 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Room2_window' changed from INITIALIZING to ONLINE
2019-02-04 12:53:30.672 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:DRRing' changed from INITIALIZING to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-02-04 12:53:30.682 [INFO ] [b.binding.megad.handler.MegaDHandler] - Switch: http://192.168.88.21/sec/?cmd=23:0
==> /var/log/openhab2/events.log <==
2019-02-04 12:53:30.744 [vent.ItemStateChangedEvent] - Bathroom_valve_O changed from NULL to OFF
2019-02-04 12:53:30.748 [GroupItemStateChangedEvent] - gValve changed from NULL to OFF through Bathroom_valve_O
2019-02-04 12:53:30.774 [GroupItemStateChangedEvent] - gTemperature changed from NULL to 23.03 through Bathroom_Temperature
2019-02-04 12:53:30.779 [vent.ItemStateChangedEvent] - Bathroom_Temperature changed from NULL to 23.03
2019-02-04 12:53:30.783 [vent.ItemStateChangedEvent] - Kitchen_Light changed from NULL to ON
2019-02-04 12:53:30.787 [vent.ItemStateChangedEvent] - Corridor_Door changed from NULL to OPEN
2019-02-04 12:53:30.790 [vent.ItemStateChangedEvent] - Bathroom_valve_1 changed from NULL to OFF
2019-02-04 12:53:30.796 [vent.ItemStateChangedEvent] - Corridor_Light changed from ON to OFF
2019-02-04 12:53:30.801 [vent.ItemStateChangedEvent] - Kitchen_Window changed from NULL to OPEN
Re: Использование MegaD в openHAB
Ага. А можно режим дебага включить?
Re: Использование MegaD в openHAB
В консоли openhab log:set DEBUG org.openhab.binding
Re: Использование MegaD в openHAB
==> /var/log/openhab2/openhab.log <==
2019-02-04 13:44:00.239 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...
2019-02-04 13:44:00.246 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.88.21/sec/?pt=7&cmd=get - был включен до рестарта
2019-02-04 13:44:00.281 [DEBUG] [b.binding.megad.handler.MegaDHandler] - input string-> OFF
2019-02-04 13:44:00.286 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.88.21/sec/?tget=1
2019-02-04 13:44:00.300 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...
2019-02-04 13:44:00.303 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.88.21/sec/?pt=25&cmd=get
- Вложения
-
- new 111.zip
- (10.05 КБ) 46 скачиваний
Re: Использование MegaD в openHAB
как мы видим, в этой строчке он как раз уже выключен... что-то произошло раньше.
Re: Использование MegaD в openHAB
Код: Выделить всё
2019-02-04 13:43:59.050 [hingStatusInfoChangedEvent] - 'megad:device:megadeviceincomin:Corridor_Light' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
==> /var/log/openhab2/openhab.log <==
2019-02-04 13:43:59.061 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...
2019-02-04 13:43:59.064 [DEBUG] [b.binding.megad.handler.MegaDHandler] - http://192.168.88.21/sec/?pt=7&cmd=get
2019-02-04 13:43:59.071 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Thing Handler for Room1Bra_Light started
2019-02-04 13:43:59.072 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Thing Handler for Kitchen_Light started
2019-02-04 13:43:59.066 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Thing Handler for KitchenI_Light started
2019-02-04 13:43:59.068 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Thing Handler for Kitchen_window started
2019-02-04 13:43:59.075 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - thingHandler for thing: '192.168.88.21.28'
2019-02-04 13:43:59.077 [DEBUG] [ing.megad.handler.MegaDBridgeHandler] - register thingHandler for thing: org.openhab.binding.megad.handler.MegaDHandler@833cf9
2019-02-04 13:43:59.065 [DEBUG] [b.binding.megad.handler.MegaDHandler] - Updating Megadevice things...
Re: Использование MegaD в openHAB
Я попробую разобраться в этом вопросе. Вероятнее всего происходит следующее: при перезагрузке все свитчи по умолчанию оффлайн в опенхабе. и соответственно отправляется сигнал на выключение, потом, после подгрузки из базы должно всё восстановиться. Но нужно вникнуть будет
-
- Сообщения: 528
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
По умолчанию все свитчи NULL.
При восстановлении из базы состояние меняется на ON.
Но может меняется на ON раньше чем инициализируется биндинг?
При восстановлении из базы состояние меняется на ON.
Но может меняется на ON раньше чем инициализируется биндинг?
Re: Использование MegaD в openHAB
похоже на этоmartiniman писал(а): ↑04 фев 2019, 19:22По умолчанию все свитчи NULL.
При восстановлении из базы состояние меняется на ON.
Но может меняется на ON раньше чем инициализируется биндинг?
Re: Использование MegaD в openHAB
Наоборот. Биндинг инициализируется, но значения в items не заносятся. Потом загружаются items, и они как раз сбрасывают состояние.