Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
-
Petros
- Сообщения: 900
- Зарегистрирован: 21 авг 2012, 22:09
- Откуда: Москва
Сообщение
Petros » 13 апр 2017, 17:37
В общем для того, чтобы биндинг от меги заработал с есп - нужно исправить ответ есп на запрос
http://192.168.88.74/sec/?pt=4&cmd=get.
сейчас он
Код: Выделить всё
OFFHTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 573Connection: closeOFF<a href="/sec/">Back</a><br>P4/OFF<br><a href="/sec/?pt=4&cmd=4:1">ON</a><form action="/sec/"><input type="hidden" name="pn" value="4">Type: <select name="pty"><option value="255">NC</option><option value="0">In</option><option value="1"selected>Out SW</option><option value="8">Out SL</option><option value="4">Out PWM</option><option value="3">DSen</option><option value="5">WS281x</option></select> io: 12<br>Default: <select name="d"><option value="0">0</option><option value="1"selected>1</option></select><br><input type="submit" value="Save"></form></body></html>
вот такой.
должен быть
и всё. ничего лишнего
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 13 апр 2017, 20:48
Если пользоваться http биндингом:
Код: Выделить всё
Switch Sonoff_corridor "Лампа коридор, (Sonoff MegaESP) [%s]" (Lights_Random, Entrance) { http=">[ON:POST:http://192.168.88.73/sec/?pt=4&cmd=4:1] >[OFF:POST:http://192.168.88.73/sec/?pt=4&cmd=4:0]" } //{channel ="megad:device:14in:P4_SonoffCorridor:out"}
String Sonoff_corridor_State "Лампа коридор, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.73/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
То он обрезает почему-то последнюю цифру ...?pt=4&cmd=4:0 и соответственно ничего не включается и не выключается:
Код: Выделить всё
21:47:15.434 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
21:47:15.961 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '0'
21:47:21.249 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
-
Petros
- Сообщения: 900
- Зарегистрирован: 21 авг 2012, 22:09
- Откуда: Москва
Сообщение
Petros » 13 апр 2017, 21:46
Кстати, curl правильно писать так:
Код: Выделить всё
curl "http://192.168.10.17/sec/?pt=1&cmd=get"
(в кавычках!)
-
Petros
- Сообщения: 900
- Зарегистрирован: 21 авг 2012, 22:09
- Откуда: Москва
Сообщение
Petros » 13 апр 2017, 21:58
empenoso писал(а):Если пользоваться http биндингом:
Код: Выделить всё
Switch Sonoff_corridor "Лампа коридор, (Sonoff MegaESP) [%s]" (Lights_Random, Entrance) { http=">[ON:POST:http://192.168.88.73/sec/?pt=4&cmd=4:1] >[OFF:POST:http://192.168.88.73/sec/?pt=4&cmd=4:0]" } //{channel ="megad:device:14in:P4_SonoffCorridor:out"}
String Sonoff_corridor_State "Лампа коридор, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.73/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
То он обрезает почему-то последнюю цифру ...?pt=4&cmd=4:0 и соответственно ничего не включается и не выключается:
Код: Выделить всё
21:47:15.434 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
21:47:15.961 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '0'
21:47:21.249 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
А так?
Код: Выделить всё
{ http=">[ON:POST:http://192.168.88.73/sec/?pt=4&cmd=4%3A1] >[OFF:POST:http://192.168.88.73/sec/?pt=4&cmd=4%3A0]" } //{channel ="megad:device:14in:P4_SonoffCorridor:out"}
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 14 апр 2017, 09:35
Petros писал(а):Кстати, curl правильно писать так:
Код: Выделить всё
curl "http://192.168.10.17/sec/?pt=1&cmd=get"
(в кавычках!)
Тогда тем более непонятно, почему в биндинге такой длинный ответ, а через curl короткий
Код: Выделить всё
[10:32:31] openhabian@openHABianPi:~$ curl "http://192.168.88.73/sec/?pt=4&cmd=get"
OFF
[10:32:41] openhabian@openHABianPi:~$ curl "http://192.168.88.72/sec/?pt=12&cmd=get"
OFF
[10:33:10] openhabian@openHABianPi:~$
72 - оригинальная мега, 73 - сонофф с мегаесп.
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 14 апр 2017, 09:44
Petros писал(а):empenoso писал(а):Если пользоваться http биндингом:
Код: Выделить всё
Switch Sonoff_corridor "Лампа коридор, (Sonoff MegaESP) [%s]" (Lights_Random, Entrance) { http=">[ON:POST:http://192.168.88.73/sec/?pt=4&cmd=4:1] >[OFF:POST:http://192.168.88.73/sec/?pt=4&cmd=4:0]" } //{channel ="megad:device:14in:P4_SonoffCorridor:out"}
String Sonoff_corridor_State "Лампа коридор, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.73/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
То он обрезает почему-то последнюю цифру ...?pt=4&cmd=4:0 и соответственно ничего не включается и не выключается:
Код: Выделить всё
21:47:15.434 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
21:47:15.961 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '0'
21:47:21.249 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/?pt=4&cmd=4' via method POST, with body content '1'
А так?
Код: Выделить всё
{ http=">[ON:POST:http://192.168.88.73/sec/?pt=4&cmd=4%3A1] >[OFF:POST:http://192.168.88.73/sec/?pt=4&cmd=4%3A0]" } //{channel ="megad:device:14in:P4_SonoffCorridor:out"}
Заменил символы по таблице
https://www.w3schools.com/tags/ref_urlencode.asp
Но почему то все равно нет эффекта:
Код: Выделить всё
2017-04-14 17:42:33.587 [ItemCommandEvent ] - Item 'Sonoff_corridor' received command ON
==> /var/log/openhab2/openhab.log <==
2017-04-14 17:42:33.587 [DEBUG] [ab.binding.http.internal.HttpBinding] - Executing url 'http://192.168.88.73/sec/%3Fpt=4%26cmd=4%3A1' via method POST
==> /var/log/openhab2/events.log <==
2017-04-14 17:42:33.627 [ItemStateChangedEvent ] - Sonoff_corridor changed from OFF to ON
2017-04-14 17:42:33.628 [GroupItemStateChangedEvent] - Lights_Random changed from OFF to UNDEF through Sonoff_corridor
Ошибки нет, но и фактически не переключается почему-то.
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 14 апр 2017, 20:53
Через http биндинг вообще никак из-за двоеточия не захотел
Заработало так в итоге:
Код: Выделить всё
rule "Sonoff_corridor"
when
Item Sonoff_corridor received command
then
switch(receivedCommand) {
case ON : sendHttpGetRequest("http://192.168.88.73/sec/?pt=4&cmd=4:1")
case OFF : sendHttpGetRequest("http://192.168.88.73/sec/?pt=4&cmd=4:0")
}
end
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 14 апр 2017, 21:23
А текущее состояние через правило тоже:
Код: Выделить всё
String Sonoff_corridor_State "Лампа коридор, (Sonoff MegaESP) [%s]" { http="<[http://192.168.88.73/sec/?pt=4&cmd=get:30000:REGEX((.*))]" }
Код: Выделить всё
rule "Sonoff_corridor_State"
when
Item Sonoff_corridor_State received update
then
if (Sonoff_corridor_State.state=="ON") { postUpdate(Sonoff_corridor, ON) }
if (Sonoff_corridor_State.state=="OFF") { postUpdate(Sonoff_corridor, OFF) }
end
Только на ситемап как будто не в режиме реального времени отображается.
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 15 апр 2017, 20:04
Нет, в ситемап все нормально фактическое состояние отображается - то есть эта схема с правилами работает.
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 25 апр 2017, 16:13
Sonoff vs ElectroDragon Wifi IoT Relay Board Based on ESP8266:
- IMG_20170425_170656.jpg (172.63 КБ) 5264 просмотра
- IMG_20170425_170421.jpg (103.51 КБ) 5264 просмотра
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 25 апр 2017, 16:38
- ESP8266_Relay_Board_R1.6_02.jpg (91.11 КБ) 5259 просмотров
- ESP_wifi_relay_board_R1.1_pin.jpg (101.33 КБ) 5237 просмотров
- Sonoff-header.jpg (158.38 КБ) 5241 просмотр
- Sonoff-header_button.jpg (92.8 КБ) 5241 просмотр
Последний раз редактировалось
empenoso 26 апр 2017, 08:57, всего редактировалось 2 раза.
-
k_w_m
- Сообщения: 98
- Зарегистрирован: 19 июл 2013, 13:41
Сообщение
k_w_m » 25 апр 2017, 16:45
Спасибо. Очень познавательно.
А обратную сторону плат можно?
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 25 апр 2017, 17:05
- IMG_20170425_175839.jpg (150.08 КБ) 5257 просмотров
k_w_m писал(а):Спасибо. Очень познавательно.
А обратную сторону плат можно?
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 26 апр 2017, 07:54
SolarW писал(а):empenoso писал(а):Уже смог пощелкать реле (GPIO 12 и 13 - одна включает реле, вторая — зеленую лампу на устройстве):
P3 - SW_OUT
P4 - SW_OUT
http://www.electrodragon.com/product/wi ... d-esp8266/ - вот примерно такой же модуль на две релюшки.
Тоже без проблем в что угодно шьется плюс выведены еще 3 свободных GPIO (под датчики, OLED-дисплейчик или еще чего душа пожелает)
Внутри обычный модуль ESP-12 запаян.
А вы какую прошивку используете на нем?
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 26 апр 2017, 08:47
Последний раз редактировалось
empenoso 05 дек 2017, 20:56, всего редактировалось 2 раза.
-
SolarW
- Сообщения: 176
- Зарегистрирован: 01 авг 2016, 00:32
Сообщение
SolarW » 26 апр 2017, 11:03
empenoso писал(а):
А вы какую прошивку используете на нем?
Платный вариант от wifi-iot.com
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 30 апр 2017, 10:12
SolarW писал(а):empenoso писал(а):
А вы какую прошивку используете на нем?
Платный вариант от wifi-iot.com
А у вас сервером что выступает?
А то у них там большой список, правда openhab нет:
Код: Выделить всё
Сервисы
wunderground.com
Thingspeak.com
narodmon.ru
myddns.ru (DDNS)
flymon.net
Gismeteo.ru
MQTT клиент
MQTT JSON клиент
MajorDoMo и другие
Narodmon.ru get
sms.ru
smsc.ru
Virtual GPIO
Virtual SENS
Ping тест
TCP/UDP Клиент
Zabbix sender
WakeOnLan
Ext. GSM SMS
Email уведомления
Email check
Код: Выделить всё
Системные
Время и NTP
I2C через GET
I2C сканер
Простой telnet сервер
Датчики GET запросом
GPS координаты
Поддержка календаря
Ручная установка времени
WI-FI индикатор
Web KEY
GPIO
GET JSON
Поддержка GPIO 9/10
Обновление OTA
Auto OTA
Спящий режим
Работа с прерываниями
Программный PWM (ШИМ)
UART через GET
Планировщик заданий
Термостат
Конструктор кода
Конструктор main page
Конструктор main page 2
Logic
Logic2
UART bridge
Настройки по умолчанию
Старый веб интерфейс
Счетчик 60
IP security
Вообще какие функции полезные?
-
empenoso
- Сообщения: 1039
- Зарегистрирован: 11 ноя 2015, 08:03
- Откуда: Пермь
Сообщение
empenoso » 01 май 2017, 19:46
Кстати по датчику шума - что-то новое появилось:
Parameters
Working voltage: 3.5-10VDC
Operating frequency: 50-2000HZ
Detection range: -48-66DB
Signal to noise ratio: >58DB
The output signal of the analog signal (0-1023):
https://www.aliexpress.com/item/2pcs-lo ... 18650.html
- HTB17NKPFVXXXXcwXFXXq6xXFXXXu.jpg (36.3 КБ) 5091 просмотр
- HTB1bWOUFVXXXXaYXpXXq6xXFXXXn.jpg (38.94 КБ) 5091 просмотр
Получается к меге можно подключить?