Mega 2561 и MQTT

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 04 янв 2018, 02:33

Попробуйте вот эту версию с брокером для Windows.
Если в каких-то определенных ситуациях (перезагрузка устройства или брокера/сервера) соединение будет происходить не сразу, просто подождите некоторое время.
https://ab-log.ru/files/File/megad-2561 ... a9-hex.zip

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 07 янв 2018, 13:47

Теперь соединение не теряется, ура

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Mega 2561 и MQTT

Сообщение empenoso » 11 янв 2018, 16:16

А мега сообщает только о счетчиках и кнопках по MQTT?

В том плане что от датчиков никаких показаний нет:
Screenshot_20180111-170814.png
Screenshot_20180111-170814.png (116.21 КБ) 5278 просмотров

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 11 янв 2018, 17:46

А вы про какие датчики говорите?
Например, от I2C-датчиков и по HTTP никакие сообщения самостоятельно не генерируются.
Но есть инструмент для опроса порта с помощью команды вида "get:10", отправленной в топик типа "megad/14/cmd".
Подробнее здесь.

stilet69
Сообщения: 103
Зарегистрирован: 30 июн 2017, 19:14

Re: Mega 2561 и MQTT

Сообщение stilet69 » 15 янв 2018, 15:54

nkh писал(а):
01 янв 2018, 21:47
Поставил на виртуальной машине убунту, на нем маскито, все работает, почему на винде отваливается нужно выяснять. Возможно глюк виндовой версии
А какая версия брокера у вас? У меня и с последней прошивкой вообще не соединяется. Soket error

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 16 янв 2018, 16:07

Протестировал связку Mega-MQTT(Mosquitto)-Openhab2.2.

Прошивка MegaD-2561 by ab-log.ru (fw: 4.22b4)
ОС CENTOS 6.9, Mosquito 1.4.14
К Меге подключено SSD1306,PCA9685,BME280,MAX44009 (может это важно)

Нормальной работы добиться не удалось :(.

Проблема 1:

Мега может работать нормально, но, например, после захода на ее WEB-интерфейс и изменения там состояния одного из выходов OFF->ON->OFF, перестать реагировать на запросы состояния порта (запись в cmd:get=7), вместо ответа в топик получаем переподключение к брокеру

Код: Выделить всё

1516102587: Received PUBLISH from paho439377949400259 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516102587: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516102595: Received PINGREQ from paho439377949400259
1516102595: Sending PINGRESP to paho439377949400259
1516102598: New connection from 10.5.5.31 on port 1883.
1516102598: Client megad-31 already connected, closing old connection.
1516102598: Client megad-31 disconnected.
1516102598: New client connected from 10.5.5.31 as megad-31 (c1, k30).
программные ребуты Меги не помогают, помогает перезапуск брокера, после чего дождавшись подключения Меги (секунд 15), Мега начинает нормально реагировать на get

Код: Выделить всё

1516102922: Received PUBLISH from paho439377949400259 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516102922: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516102922: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/5', ... (23 bytes))
1516102922: Sending PUBLISH to paho439377949400259 (d0, q0, r0, m0, 'megad/31/5', ... (23 bytes))
при всем этом Мега нормально реагирует на изменение выходов через MQTT топики!

Проблема 2:

Как получить состояния портов ШИМ-расширителя PCA9685?

SDA порт 5. Хочу получить значения ШИМ порта 0 PCA9685

на cmd:get=5 получаю {"port":"5","value":""}
на cmd:get=5e0 получаю то же ответ в топик /5, а не ожидаемый /5e0

Код: Выделить всё

1516104273: Received PUBLISH from paho439377949400259 (d0, q0, r0, m0, 'megad/31/cmd', ... (7 bytes))
1516104273: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (7 bytes))
1516104273: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/5', ... (23 bytes))
1516104273: Sending PUBLISH to paho439377949400259 (d0, q0, r0, m0, 'megad/31/5', ... (23 bytes))
С уважением, Игорь

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 16 янв 2018, 19:03

По поводу "Проблемы 1" попробуйте вот эту версию.
https://ab-log.ru/files/File/megad-2561 ... a5-hex.zip

По поводу "Проблемы 2" посмотрю, что можно сделать.

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 16 янв 2018, 20:29

Andrey_B писал(а):
16 янв 2018, 19:03
По поводу "Проблемы 1" попробуйте вот эту версию.
https://ab-log.ru/files/File/megad-2561 ... a5-hex.zip

По поводу "Проблемы 2" посмотрю, что можно сделать.
Проверил, все заработало как надо. Спасибо!

Теперь работает MQTT одновременно с HTTP/GET запросами к устройству, т.ч. Проблему 2 можно пока обходить по HTTP :)

Андрей, заметил еще одну вещь: если запрашивать состояние порта типа IN через get=, то получаем в топик {"port":"1":"value:"OFF/26"}, а при срабатывании порта получаем {"port":"1":"cnt":26"}, соответственно обрабатывать эти сообщения нужно по разному, что не удобно, может унифицировать ответ, пусть при сработке Мега присылает новое значение порта и счетчика..
С уважением, Игорь

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 17 янв 2018, 18:46

Igor78 писал(а):
16 янв 2018, 20:29
пусть при сработке Мега присылает новое значение порта и счетчика..
Добавить поле "value"? Можно, но "m" все-равно останется, так как по нему однозначно можно идентифицировать тип события, а также получить информацию по поводу "длинного" нажатия.

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 17 янв 2018, 19:54

Andrey_B писал(а):
17 янв 2018, 18:46
Добавить поле "value"? Можно, но "m" все-равно останется, так как по нему однозначно можно идентифицировать тип события, а также получить информацию по поводу "длинного" нажатия.
Да, бы бы очень удобно если бы всегда было value ON или OFF:

{сейчас}--------------------------------->{мое предложение}

при сработке:

{"port":"0","cnt":"35"} ----------------> {"port":"0","value":"ON","m":"0","cnt":"35"}

{"port":"0","m":"2","cnt":"35"} -------> {"port":"0","value":"ON","m":"2","cnt":"35"}

{"port":"0","m":"1","cnt":"36"} -------> {"port":"0","value":"OFF","m":"1","cnt":"36"}

при запросе ../cmd/get=0

{"port":"0","value":"OFF/36"} --------> {"port":"0","value":"OFF","cnt":"36"}
С уважением, Игорь

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 18 янв 2018, 17:16


Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 18 янв 2018, 17:55

Andrey_B писал(а):
18 янв 2018, 17:16
Попробуйте.
https://ab-log.ru/files/File/megad-2561 ... a6-hex.zip
Работает. Спасибо!

Вот, что вижу:

режим порта IN P+R

ФРОНТ {«port":"0","value":"ON","cnt":"1"}
ДОЛГОЕ НАЖАТИЕ {«port":"0","m":"2","value":"ON","cnt":"1"}
СПАД {«port":"0","m":"1","value":"OFF","cnt":"2"}

Ответ на get=0 {"port":"0","value":"OFF","cnt":"2"}

Теперь порт типа IN в Openhab описывается очень просто:

Код: Выделить всё

Switch Port28 "Port 28 [%s]" {<[mqqt:megad/31/28:state:REGEX(.*(ON|OFF).*)]"}
С уважением, Игорь

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 18 янв 2018, 23:21

Обнаружил новую проблему: под нагрузкой (10 и более сообщений в сек) Мега отключается от брокера и переподключиться не пытается. Помогает перезагрузка Меги.

Код: Выделить всё

1516302778: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302778: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302778: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302778: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302779: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/1', ... (43 bytes))
1516302779: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/1', ... (43 bytes))
1516302779: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/2', ... (43 bytes))
1516302779: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/2', ... (43 bytes))
1516302779: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/3', ... (43 bytes))
1516302779: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/3', ... (43 bytes))
1516302779: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/4', ... (43 bytes))
1516302779: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/4', ... (43 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/1', ... (44 bytes))
1516302784: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/1', ... (44 bytes))
1516302784: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/2', ... (44 bytes))
1516302784: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/2', ... (44 bytes))
1516302784: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/3', ... (44 bytes))
1516302784: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/3', ... (44 bytes))
1516302784: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/4', ... (44 bytes))
1516302784: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/4', ... (44 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302784: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302784: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302786: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302786: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516302786: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/1', ... (35 bytes))
1516302786: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/1', ... (35 bytes))
1516302786: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302786: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516302786: Socket error on client megad-31, disconnecting.
подвиснуть может очень быстро:

Код: Выделить всё

1516303067: New connection from 10.5.5.31 on port 1883.
1516303067: New client connected from 10.5.5.31 as megad-31 (c1, k30).
1516303067: Sending CONNACK to megad-31 (0, 0)
1516303068: Received SUBSCRIBE from megad-31
1516303068:     megad/31/cmd (QoS 0)
1516303068: megad-31 0 megad/31/cmd
1516303068: Sending SUBACK to megad-31
1516303076: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516303076: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (8 bytes))
1516303076: Received PUBLISH from megad-31 (d0, q0, r0, m0, 'megad/31/1', ... (44 bytes))
1516303076: Sending PUBLISH to paho697103329451114 (d0, q0, r0, m0, 'megad/31/1', ... (44 bytes))
1516303076: Received PUBLISH from paho697103329451114 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516303076: Sending PUBLISH to megad-31 (d0, q0, r0, m0, 'megad/31/cmd', ... (5 bytes))
1516303076: Socket error on client megad-31, disconnecting.
С уважением, Игорь

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Mega 2561 и MQTT

Сообщение empenoso » 19 янв 2018, 21:33

Немного не могу понять - в опенхаб как считать значение именно с конкретного порта?

Код: Выделить всё

Number  P10_CountElecImp  "Импульсы э/э, текущее значение (3200/кВт*ч) [%s]"   { mqtt="<[mosquitto:megad/60:state:JSONPATH($.cnt)]" }
При такой редакции просто любой счетчик считываю.

Код: Выделить всё

megad/60 {"port":"10","cnt":"29"}
megad/60 {"port":"10","cnt":"30"}
tele/Camera12v/STATE {"Time":"2018-01-19T22:29:34","Uptime":83,"Vcc":3.159,"POWER":"ON","Wifi":{"AP":1,"SSId":"fontnet","RSSI":100,"APMac":"6C:3B:6B:14:85:2E"}}
tele/Living_room/STATE {"Time":"2018-01-19T22:29:42","Uptime":83,"Vcc":3.212,"POWER":"OFF","Wifi":{"AP":1,"SSId":"fontnet","RSSI":100,"APMac":"6C:3B:6B:14:85:2E"}}
tele/Living_room/SENSOR {"Time":"2018-01-19T22:29:42","Switch1":"ON"}

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 20 янв 2018, 00:10

empenoso писал(а):
19 янв 2018, 21:33
Немного не могу понять - в опенхаб как считать значение именно с конкретного порта?
port IN ip:x.x.x.31 port 1

items:

Код: Выделить всё

Switch TST_SensorSwitch_Sensor_1 "Sensor1 [%s]" {mqtt="<[mqqt:megad/31/1:state:JS(MEGADmqtt_IN.js)]"}
../conf/transform/MEGADmqtt_IN.js :

Код: Выделить всё

(function(i) {
    //для прошивки до 4.22b6
    /*var array = i.split(",");
        
    array = array[1].split(":");
    
    if (array[0]=="\"cnt\"") return "ON";
    else if (array[0]=="\"m\"")
    {
    	
    	if (array[1]=="\"1\"") return "OFF";
    	else return "ON";
    }
    else 
    {
    	array = array[1].split("/");
    	
    	if (array[0]=="\"ON") return "ON";
    	else return "OFF";
    }*/
    
    //для прошивки 4.22b6
    
    if ( /.*ON.*/.test(i) ) return "ON";
	else return "OFF"
    
})(input)
port OUT ip:x.x.x.31 port 15

items:

Код: Выделить всё

Switch TST_Lamp1 "Lamp1 [%s]" {mqtt=">[mqqt:megad/31/cmd:command:ON:15=1],>[mqqt:megad/31/cmd:command:OFF:15=0],<[mqqt:megad/31/15:state:JS(MEGADmqtt_OUT.js)]"}
../conf/transform/MEGADmqtt_OUT.js :

Код: Выделить всё

(function(i) {
	if ( /.*ON.*/.test(i) ) return "ON";
	else return "OFF"
})(input)
Через JSON не тестировал, с 4.22b6 можно и такой трансформ для IN и OUT портов: REGEX(.*(ON|OFF).*)

Для меня пока MQTT неработоспособен, продолжаю ипользовать последнюю бету MegaD binding совместно с HTTP binding..
С уважением, Игорь

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Mega 2561 и MQTT

Сообщение Andrey_B » 20 янв 2018, 13:27

Igor78 писал(а):
18 янв 2018, 23:21
Обнаружил новую проблему: под нагрузкой (10 и более сообщений в сек) Мега отключается от брокера и переподключиться не пытается. Помогает перезагрузка Меги.
А что генерирует столько сообщений в секунду?
У меня похожий сбой наблюдается только при количестве сообщений более 30 в секунду.
Пока сделал изменение, которое способствует переконнекту контроллера к брокеру.
https://ab-log.ru/files/File/megad-2561 ... a7-hex.zip

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

Re: Mega 2561 и MQTT

Сообщение Igor78 » 20 янв 2018, 19:07

Andrey_B писал(а):
20 янв 2018, 13:27
А что генерирует столько сообщений в секунду?...
Сенсорный выключатель с 4-мя TTP223 (подключены к 14-IN), для обратной связи используются 2 RGB LED и реле для щелчка (подключены к PCA9685), все это под одним стеклом Livolo. Достаточно пару раз хлопнуть ладошкой по стеклу и Мега в нокауте :)
С уважением, Игорь

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Mega 2561 и MQTT

Сообщение empenoso » 20 янв 2018, 20:26

Igor78 писал(а):
20 янв 2018, 00:10

items:

Код: Выделить всё

Switch TST_Lamp1 "Lamp1 [%s]" {mqtt=">[mqqt:megad/31/cmd:command:ON:15=1],>[mqqt:megad/31/cmd:command:OFF:15=0],<[mqqt:megad/31/15:state:JS(MEGADmqtt_OUT.js)]"}
...
Для меня пока MQTT неработоспособен, продолжаю ипользовать последнюю бету MegaD binding совместно с HTTP binding..
Спасибо за вашу подсказку! Пытаюсь начать использовать mqtt. Через JSON вроде даже проще получается:

Код: Выделить всё

Number  P10_CountElecImp  "Импульсы э/э, текущее значение (3200/кВт*ч) [%s]"       { mqtt="<[mosquitto:megad/60/10:state:JSONPATH($.cnt)]" } 
Остальные пока через http биндинг и регулярные выражения:

Код: Выделить всё

Number P1_HTU21D_Temp       "Темп. на улице [%.2f °C]"	       <temperature>	 (Pipes)    { http="<[http://192.168.88.60/sec/?pt=0&scl=1&i2c_dev=htu21d&i2c_par=1:60000:REGEX((.*?))]" }	
Number P1_HTU21D_Hum        "Влажность на улице [%.2f %%]"     <humidity>                   { http="<[http://192.168.88.60/sec/?pt=0&scl=1&i2c_dev=htu21d:60000:REGEX((.*?))]" }	
Number P1_MAX44009	    	"Освещ. улицы [%.2f lux]"          <sunrise>		            { http="<[http://192.168.88.60/sec/?pt=0&scl=1&i2c_dev=max44009:60000:REGEX((.*?))]" }	
И регулярные выражения для парсинга 1WBUS:

Код: Выделить всё

Number P7_DS18B20_Kitchen		"Темп. кухня [%.2f °C]" 		         <temperature>  (Kitchen, Indoor)			{ http="<[http://192.168.88.60/sec/?pt=7&cmd=list:60000:REGEX(.*?ff4902731604:(?!85)(.*?);(.*))]" }	
Number P7_DS18B20_livingroom	"Темп. гостиная [%.2f °C]"	             <temperature>	(Living_room, Indoor)		{ http="<[http://192.168.88.60/sec/?pt=7&cmd=list:60000:REGEX(.*?ff04f2711605:(?!85)(.*?);(.*))]" }	
Number P7_DS18B20_Heat_bedroom	"Темп. бат. спальни [%.2f °C]"           <radiator>   	(Pipes)	                	{ http="<[http://192.168.88.60/sec/?pt=7&cmd=list:60000:REGEX(.*?fff9b7731604:(?!85)(.*?))]" }	

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: Mega 2561 и MQTT

Сообщение empenoso » 21 янв 2018, 19:32

Igor78 писал(а):
20 янв 2018, 00:10

Через JSON не тестировал, с 4.22b6 можно и такой трансформ для IN и OUT портов: REGEX(.*(ON|OFF).*)
Все таки через json мне показалось синтаксис проще выходит:

Код: Выделить всё

Switch   	P5_Door "Дверь [MAP(door.map):%s]"	    		{ mqtt="<[mosquitto:megad/60/5:state:JSONPATH($.value)]" } 
Только пока не могу понять как различать короткое нажатие и удерживание чтобы это было видно в опенхаб.

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

Re: Mega 2561 и MQTT

Сообщение nkh » 21 янв 2018, 20:25

stilet69 писал(а):
15 янв 2018, 15:54
nkh писал(а):
01 янв 2018, 21:47
Поставил на виртуальной машине убунту, на нем маскито, все работает, почему на винде отваливается нужно выяснять. Возможно глюк виндовой версии
А какая версия брокера у вас? У меня и с последней прошивкой вообще не соединяется. Soket error
1.4.14, придется копать сетевые настройки или попробовать на прямую, без файерволов и т.п.
или вопрос про виртуалку?

Ответить