Арендная квартира: MegaD, Home Assistant, датчик шума и приборы учета
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Sonoff подготовленный для установки в распределительную коробку и подключения к нему кнопки выглядит как-то так:
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Для sonoff решил использовать специализированную прошивку https://github.com/arendst/Sonoff-Tasmota/wiki/openHAB.
Для ESP8266 MegaD api http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 управление было реализовано:
Для ESP8266 MegaD api http://ab-log.ru/forum/viewtopic.php?f=1&t=1130 управление было реализовано:
Код: Выделить всё
Group Lights_Random
Group:Switch:OR(ON, OFF) Lamp "Управление освещением [(%d)]" <light> (Lights_Random)
Switch ElectroDragon1_corridor "Лампа коридор [%s]" <light> (Lamp, Lights_Random, Entrance)
String ElectroDragon1_corridor_State "Лампа коридор, (ElectroDragon MegaESP) [%s]" { http="<[http://192.168.88.75/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
Switch ElectroDragon1_Restroom "Лампа туалет [%s]" <light> (Lamp, Lights_Random, Restroom_st)
String ElectroDragon1_Restroom_State "Лампа туалет, (ElectroDragon MegaESP) [%s]" { http="<[http://192.168.88.75/sec/?pt=3&cmd=get:30000:REGEX((.*))]" }
Switch Sonoff_Lamp "Лампа настольная в спальне [%s]" <light> (Lamp, Lights_Random, Bedroom_st) //{channel ="megad:device:14in:P4_SonoffLamp:out"}
String Sonoff_Lamp_State "Лампа настольная, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.74/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
Switch Sonoff_Living_room "Люстра гостиная [%s]" <light> (Lamp, Lights_Random, Living_room_st)
String Sonoff_Living_room_State "Люстра гостиная, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.76/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
Код: Выделить всё
rule "Sonoff_Lamp"
when
Item Sonoff_Lamp received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.88.74/sec/?pt=4&cmd=4:1")
case OFF : sendHttpGetRequest("http://192.168.88.74/sec/?pt=4&cmd=4:0")
}
end
rule "Sonoff_Lamp_State"
when
Item Sonoff_Lamp_State received update
then
if (Sonoff_Lamp_State.state=="ON") { postUpdate(Sonoff_Lamp, ON) }
if (Sonoff_Lamp_State.state=="OFF") { postUpdate(Sonoff_Lamp, OFF) }
end
/* =============================================================================================================== */
rule "ElectroDragon1_corridor"
when
Item ElectroDragon1_corridor received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.88.75/sec/?pt=4&cmd=4:1")
case OFF : sendHttpGetRequest("http://192.168.88.75/sec/?pt=4&cmd=4:0")
}
end
rule "ElectroDragon1_corridor_State"
when
Item ElectroDragon1_corridor_State received update
then
if (ElectroDragon1_corridor_State.state=="ON") { postUpdate(ElectroDragon1_corridor, ON) }
if (ElectroDragon1_corridor_State.state=="OFF") { postUpdate(ElectroDragon1_corridor, OFF) }
end
rule "ElectroDragon1_Restroom"
when
Item ElectroDragon1_Restroom received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.88.75/sec/?pt=3&cmd=3:1")
case OFF : sendHttpGetRequest("http://192.168.88.75/sec/?pt=3&cmd=3:0")
}
end
rule "ElectroDragon1_Restroom_State"
when
Item ElectroDragon1_Restroom_State received update
then
if (ElectroDragon1_Restroom_State.state=="ON") { postUpdate(ElectroDragon1_Restroom, ON) }
if (ElectroDragon1_Restroom_State.state=="OFF") { postUpdate(ElectroDragon1_Restroom, OFF) }
end
/* =============================================================================================================== */
rule "Sonoff_Living_room"
when
Item Sonoff_Living_room received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.88.76/sec/?pt=4&cmd=4:1")
case OFF : sendHttpGetRequest("http://192.168.88.76/sec/?pt=4&cmd=4:0")
}
end
rule "Sonoff_Living_room_State"
when
Item Sonoff_Living_room_State received update
then
if (Sonoff_Living_room_State.state=="ON") { postUpdate(Sonoff_Living_room, ON) }
if (Sonoff_Living_room_State.state=="OFF") { postUpdate(Sonoff_Living_room, OFF) }
end
Последний раз редактировалось empenoso 08 май 2017, 08:39, всего редактировалось 1 раз.
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Для того чтобы в ней использовать кнопку подключенную к сонофф надо:empenoso писал(а):Для sonoff решил использовать специализированную прошивку https://github.com/arendst/Sonoff-Tasmota/wiki/openHAB.
1. выставить режим GPIO14 Sensor: 09 Switch1
2. выполнить команду: http://192.168.88.74/cm?cmnd=SwitchMode%203
Общий список команд: https://github.com/arendst/Sonoff-Tasmota/wiki/Commands
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Теперь в опенхаб одна строчка для управления и текущего статуса:
И если нет Wi-Fi, то ассоциация кнопки работает
Код: Выделить всё
Switch Sonoff_Lamp "Лампа настольная в спальне [%s]" <light> (Lamp, Lights_Random, Bedroom) { mqtt=">[mosquitto:cmnd/Lamp/power:command:*:default], <[mosquitto:stat/Lamp/POWER:state:default]" }
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Процесс заливки прошивки выглядит как-то так:
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Автоматизация подкралась незаметно: 4 из 7 светильников уже включены в систему, а вот оставшиеся три ниже.
Остается только смотреть насколько это все будет надежным, но все изделия вроде заводские.
Остается только смотреть насколько это все будет надежным, но все изделия вроде заводские.
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Электрик делал горячее подключение ElectroDragon - то есть провода под напряжением были и спалил (?) модуль - он вроде бы включается и даже можно без ошибок закачать другую прошивку и модуль питания работает - но вот к сети вайфай никак не хочет подключаться.
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
не совсем по теме. Но где-то рядом.
Вопрос. Мог ли спалить датчики, ввиду неумелой пайки? Если это не причем. То, как калибровать? Про температуру, я в курсе. А как калибровать влажность? Давление показывает приблизительно правильно. С Гис метео расхождение ( в течении недели 2 мм)
Оба НТU21 датчика припаяны на UTP кабеле. Длина ~18-20 см. BME 280 другой UTP ~20 м. Все три датчика в одной кружке, чтобы избежать влияние воздушных потоков)))Вопрос. Мог ли спалить датчики, ввиду неумелой пайки? Если это не причем. То, как калибровать? Про температуру, я в курсе. А как калибровать влажность? Давление показывает приблизительно правильно. С Гис метео расхождение ( в течении недели 2 мм)
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
У меня нет ни одного I2C датчика, потому что на openhab невозможно обрабатывать показания с них, если исполнительное устройство не передает уже готовую цифру показаний, а MegaD-328 их сама не умеет обрабатывать.Bonefolder писал(а):не совсем по теме. Но где-то рядом.Оба НТU21 датчика припаяны на UTP кабеле. Длина ~18-20 см. BME 280 другой UTP ~20 м. Все три датчика в одной кружке, чтобы избежать влияние воздушных потоков)))
Вопрос. Мог ли спалить датчики, ввиду неумелой пайки? Если это не причем. То, как калибровать? Про температуру, я в курсе. А как калибровать влажность? Давление показывает приблизительно правильно. С Гис метео расхождение ( в течении недели 2 мм)
Думал HTU21D не надо дополнительно калибровать.
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
У меня 4 датчика HTU21D, располагались в одной емкости закрытой. Все датчики немного врут, высчитал среднее и сделал поправку в своем коде
имя / темп / влажность
Сенсор1, '0.38', '-1.17'
Сенсор2, '-0.41', '1.16'
Сенсор3, '0.23', '-1.69'
Сенсор4, '-0.20', '1.70'
Но это временное решение, потом в лабе у себя возьму термометр, размещу датчики в боксе и определю точную погрешность относительно градусника, а не по среднему
имя / темп / влажность
Сенсор1, '0.38', '-1.17'
Сенсор2, '-0.41', '1.16'
Сенсор3, '0.23', '-1.69'
Сенсор4, '-0.20', '1.70'
Но это временное решение, потом в лабе у себя возьму термометр, размещу датчики в боксе и определю точную погрешность относительно градусника, а не по среднему
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Тоже так думал(((empenoso писал(а): Думал HTU21D не надо дополнительно калибровать.
У Вас хоть расхождения небольшие...xsash писал(а): имя / темп / влажность
Сенсор1, '0.38', '-1.17'
Сенсор2, '-0.41', '1.16'
Сенсор3, '0.23', '-1.69'
Сенсор4, '-0.20', '1.70'
Но это временное решение,
Правильно калибровать термометры на температуре 0*. Насыпав в ведро воды ледяной крошки... затем, уже сравнивать сенсоры с "калиброванным" термометром, при температуре близкой к температуре калибровки.... А как калибровать влажность - хз
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
чтобы распарсить строку вида
Пришлось добывать части строки по-отдельности, и расписывать на несколько правил, с промежуточным сохранением в виртуальный items "string"
Код: Выделить всё
ff2893b31604:23.18;ffecbcb31604:23.31;ffae85b31603:22.75;ff8facb31603:23.12;ffffa4b31603:23.25
Код: Выделить всё
rule "TempHumRaw_MD" when Item TempHumRaw_MD received update then val parse = TempHumRaw_MD.state.toString.split("/") val parsedtemperature = parse.get(0) val parsedhumidity = parse.get(1) var temperature = new Double(parsedtemperature) var humidity = new Double(parsedhumidity) postUpdate(Temp_MD, (temperature - 3.5)) postUpdate(Hum_MD, humidity) end
Пришлось добывать части строки по-отдельности, и расписывать на несколько правил, с промежуточным сохранением в виртуальный items "string"
Код: Выделить всё
rule "Raw_Temp_1wire" when Item Temperature_1wire received update then val parse = Temperature_1wire.state.toString.split(";") postUpdate(Temp_wire1, parse.get(0)) postUpdate(Temp_wire2, parse.get(1)) postUpdate(Temp_wire3, parse.get(2)) postUpdate(Temp_wire4, parse.get(3)) postUpdate(Temp_wire5, parse.get(4)) end rule "Temp_1wire" when Item Temp_wire1 received update then val rawtr1 = Temp_wire1.state.toString.split(":") postUpdate(Temperature_1wire1, rawtr1.get(1)) end rule "Temp_2wire" when Item Temp_wire2 received update then val rawtr2 = Temp_wire2.state.toString.split(":") val temp2 = rawtr2.get(1) postUpdate(Temperature_1wire2, temp2) end
Код: Выделить всё
postUpdate(Temperature_1wire2, (temp2 + 0.15))
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
С цифрами не все так просто. Если была строка то вот перевод в цифру:Bonefolder писал(а): Попытки добавить калибровочные значения, типаОпять приводили к ошибке... Не могу понять, это проблема OH2 (в ОН1 это срабатывает у людей) или моих кривых рук?
Код: Выделить всё
postUpdate(Temperature_1wire2, (temp2 + 0.15))
Код: Выделить всё
var Number Ping2=Float::parseFloat(String::format("%s",WAN_yaru.state))
postUpdate(WAN_yaru_Num, Ping2)
Код: Выделить всё
var Number WatHot = CountWaterM3Hot.state as DecimalType
tmp2 = WatHot + 0.01 // один полный импульс при прохождении 10 л жидкости
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Поскольку доступ к оборудованию пропал, то задумался опять о надежности - будут ли зависания системы и что с этим делать. На глаза попался обзор устройства Watchdog timer: https://mysku.ru/blog/aliexpress/52212.html.
Еще как вариант все кроме роутера на узле через реле 12в Itead Sonoff SV https://www.itead.cc/ru/sonoff-sv.html подключить.
Еще как вариант все кроме роутера на узле через реле 12в Itead Sonoff SV https://www.itead.cc/ru/sonoff-sv.html подключить.
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
@empenoso, почему не хотите организовать удаленный доступ через "my openhab?"
У меня она отлично работает. Кстати, и прикрутил то Ее только из-за желания получать оповещения)
У меня она отлично работает. Кстати, и прикрутил то Ее только из-за желания получать оповещения)
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
@Bonefolder
У меня только проблема с физическим доступом - удаленный доступ у меня через vpn микротик - там нет проблем ко всем устройствам в сети. Сама система уже около года - сначала малина зависала, потом мега, сейчас вроде нет таких проблем, но и оборудования прибавилось - соноф и электродрагон беспроводные 7 шт - усложнилась в общем система. А я то хотел бы иметь возможность удаленно (чтобы никого не просить из проживающих) перегрузить любое оборудование, но пока такого нет.
Думаю все же на узле все оборудование кроме микротика через сонофф реле 12 в переключить.
У меня только проблема с физическим доступом - удаленный доступ у меня через vpn микротик - там нет проблем ко всем устройствам в сети. Сама система уже около года - сначала малина зависала, потом мега, сейчас вроде нет таких проблем, но и оборудования прибавилось - соноф и электродрагон беспроводные 7 шт - усложнилась в общем система. А я то хотел бы иметь возможность удаленно (чтобы никого не просить из проживающих) перегрузить любое оборудование, но пока такого нет.
Думаю все же на узле все оборудование кроме микротика через сонофф реле 12 в переключить.
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
А зачем вам тогда физический доступ, раз есть доступ к девайсам через VPN? Как вариант, поставьте крон, перегружать ВСЁ по питанию, через какое-нибудь реле. Скажем, каждое утро в 03:00...
P.S. какая у вас загруженность процессора на малинке? У меня скачет от 6 до 16%. С пиками к 2 и до 28. Evg, за 5 минут, показывает 0,5% А так, крутиться около 7-9%
P.S. какая у вас загруженность процессора на малинке? У меня скачет от 6 до 16%. С пиками к 2 и до 28. Evg, за 5 минут, показывает 0,5% А так, крутиться около 7-9%
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
На третьей малине она какая-то вообще незначительная. Вот цифры за последние две недели:Bonefolder писал(а):P.S. какая у вас загруженность процессора на малинке? У меня скачет от 6 до 16%. С пиками к 2 и до 28. Evg, за 5 минут, показывает 0,5% А так, крутиться около 7-9%
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Как-то про это не думал, можно конечно сразу после счетчика поставить что-то вроде https://www.itead.cc/ru/sonoff-pow.html, дом 70х годов, проводка алюминиевая еще, УЗО на 16А поставил, и перегружать раз в три дня, но как-то у себя дома не стал бы так делать - часы сбиваются. Опять же надо разобраться - поставить прошивку которая выполнит скрипт: выключит, подождет секунд 30 и включит без участия человека (вроде на мега есп так можно, поскольку функционал у меги вроде есть такой).Bonefolder писал(а):А зачем вам тогда физический доступ, раз есть доступ к девайсам через VPN? Как вариант, поставьте крон, перегружать ВСЁ по питанию, через какое-нибудь реле. Скажем, каждое утро в 03:00...
-
- Сообщения: 617
- Зарегистрирован: 30 мар 2017, 11:15
- Откуда: г.Севастополь
Re: Арендная квартира: MegaD, openHAB, датчик шума и приборы учета
Если мега RTC, то можете в ней прописать расписание. Ну, или в ОН. Дернуть какой-нибудь порт. Тот, в свою очередь, реле => разорвёт питание.
Спасибо за нагрузки. И правило для преобразование строки в numbers. Помогло
Спасибо за нагрузки. И правило для преобразование строки в numbers. Помогло