NEWS
Node red
-
Кто нибудь помоги мне

-
Кто нибудь помоги мне
`
Я не могу помочь, т.к. мне не хватает информации.Что это такое?
{ "topic": "", "payload": "\r\n<response>\r\n <state>ok</state>\r\n</response>\r\n\r\n", "_msgid": "c27391e4.3d8c7", "sessionid": "6E14E8C7BF3AFDE8E63FBF0EA015BFB4", "headers": { "date": "Sun, 24 May 2015 17:59:17 GMT", "server": "Apache/2.4.7 (Ubuntu)", "content-length": "88", "set-cookie": [ "JSESSIONID=6385A1C965987A3FAA6131DD153D2EE1; Path=/lk/; Secure; HttpOnly" ], "keep-alive": "timeout=5, max=100", "connection": "Keep-Alive", "content-type": "text/plain" }, "url": "https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxxx&pin=xxxx", "statusCode": 200 }Ответ от чего? Откуда все эти цифры?
Если это какой то объект, то JSESSIONID извлекается так:
[{"id":"185e8fcd.e7a17","type":"function","name":"Extract SessionID","func":"\nvar obj = { \"topic\": \"\", \"payload\": \"\\r\\n<response>\\r\\n <state>ok</state>\\r\\n</response>\\r\\n\\r\\n\", \"_msgid\": \"c27391e4.3d8c7\", \"sessionid\": \"6E14E8C7BF3AFDE8E63FBF0EA015BFB4\", \"headers\": { \"date\": \"Sun, 24 May 2015 17:59:17 GMT\", \"server\": \"Apache/2.4.7 (Ubuntu)\", \"content-length\": \"88\", \"set-cookie\": [ \"JSESSIONID=6385A1C965987A3FAA6131DD153D2EE1; Path=/lk/; Secure; HttpOnly\" ], \"keep-alive\": \"timeout=5, max=100\", \"connection\": \"Keep-Alive\", \"content-type\": \"text/plain\" }, \"url\": \"https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxxx&pin=xxxx\", \"statusCode\": 200 };\n\nvar cookies = obj.headers[\"set-cookie\"][0];\nvar m = cookies.match(/JSESSIONID=([\\w\\d]*)/);\nif (m) {\n msg.payload = m[1];\n return msg;\n}\n\n\n","outputs":1,"x":372,"y":367,"z":"e90d20bf.16f2e","wires":[["35779b1d.ca8864"]]},{"id":"35779b1d.ca8864","type":"debug","name":"","active":true,"console":"false","complete":"false","x":546,"y":366,"z":"e90d20bf.16f2e","wires":[]},{"id":"89d64003.7629c","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":214,"y":368,"z":"e90d20bf.16f2e","wires":[["185e8fcd.e7a17"]]}] -
Кто нибудь помоги мне
`
Я не могу помочь, т.к. мне не хватает информации.Что это такое?
{ "topic": "", "payload": "\r\n<response>\r\n <state>ok</state>\r\n</response>\r\n\r\n", "_msgid": "c27391e4.3d8c7", "sessionid": "6E14E8C7BF3AFDE8E63FBF0EA015BFB4", "headers": { "date": "Sun, 24 May 2015 17:59:17 GMT", "server": "Apache/2.4.7 (Ubuntu)", "content-length": "88", "set-cookie": [ "JSESSIONID=6385A1C965987A3FAA6131DD153D2EE1; Path=/lk/; Secure; HttpOnly" ], "keep-alive": "timeout=5, max=100", "connection": "Keep-Alive", "content-type": "text/plain" }, "url": "https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxxx&pin=xxxx", "statusCode": 200 }Ответ от чего? Откуда все эти цифры? `
Это ответ от сервера, точнее то что вывелось в дэбаг (как объект я понимаю).
@Bluefox:Если это какой то объект, то JSESSIONID извлекается так:
[{"id":"185e8fcd.e7a17","type":"function","name":"Extract SessionID","func":"\nvar obj = { \"topic\": \"\", \"payload\": \"\\r\\n<response>\\r\\n <state>ok</state>\\r\\n</response>\\r\\n\\r\\n\", \"_msgid\": \"c27391e4.3d8c7\", \"sessionid\": \"6E14E8C7BF3AFDE8E63FBF0EA015BFB4\", \"headers\": { \"date\": \"Sun, 24 May 2015 17:59:17 GMT\", \"server\": \"Apache/2.4.7 (Ubuntu)\", \"content-length\": \"88\", \"set-cookie\": [ \"JSESSIONID=6385A1C965987A3FAA6131DD153D2EE1; Path=/lk/; Secure; HttpOnly\" ], \"keep-alive\": \"timeout=5, max=100\", \"connection\": \"Keep-Alive\", \"content-type\": \"text/plain\" }, \"url\": \"https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxxx&pin=xxxx\", \"statusCode\": 200 };\n\nvar cookies = obj.headers[\"set-cookie\"][0];\nvar m = cookies.match(/JSESSIONID=([\\w\\d]*)/);\nif (m) {\n msg.payload = m[1];\n return msg;\n}\n\n\n","outputs":1,"x":372,"y":367,"z":"e90d20bf.16f2e","wires":[["35779b1d.ca8864"]]},{"id":"35779b1d.ca8864","type":"debug","name":"","active":true,"console":"false","complete":"false","x":546,"y":366,"z":"e90d20bf.16f2e","wires":[]},{"id":"89d64003.7629c","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":214,"y":368,"z":"e90d20bf.16f2e","wires":[["185e8fcd.e7a17"]]}] ```` `Вот что в дебаге:
! 25.05.2015, 20:12:47[ad6096b4.529f68]
! [msg] : object
! { "topic": "", "payload": "\r\n<response>\r\n <state>ok</state>\r\n</response>\r\n\r\n", "_msgid": "ca7e0ab8.3581f8", "sessionid": "6E14E8C7BF3AFDE8E63FBF0EA015BFB4", "headers": { "date": "Mon, 25 May 2015 14:14:39 GMT", "server": "Apache/2.4.7 (Ubuntu)", "content-length": "88", "set-cookie": [ "JSESSIONID=284831E2FED469FC5B52751B6FC8960C; Path=/lk/; Secure; HttpOnly" ], "keep-alive": "timeout=5, max=100", "connection": "Keep-Alive", "content-type": "text/plain" }, "url": "https://www.sistemagorod.ru/lk/auth?typ … xx&pin=xxx", "statusCode": 200 }
! 25.05.2015, 20:12:47[SessionId]
! [msg.payload] : string
! <response><state>ok</state></response>
Первое это ответ от сервера [msg] : object.Второе [msg.payload] (Этот же ответ).
Как мне вставить объект в переменную var obj = { "topic": "", "payload": …...?
var obj = msg.payload ( но в msg.payload только : <response><state>ok</state></response> и там нет заголовков....
Если написать:
var obj = msg.object
то в дебаге вот что:
TypeError: Cannot read property 'headers' of undefined (line 4, col 18)
-
Всё я уже голову сломал…
Запости здесь ВСЮ цепочку. Телефон и пин в личку.
Я не могу по отдельным цепочкам догадыватся, что где выводиться. Уходит ОЧЕНЬ много времени. `
[{"id":"b7d37336.482c9","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":92,"y":81,"z":"865a081c.79a5f8","wires":[["b614a670.49eb58"]]},{"id":"b614a670.49eb58","type":"function","name":"Авторизация","func":"msg.sessionid = context.global.sessionid;\n msg.headers = {\n 'Host': 'www.sistemagorod.ru',\n 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',\n 'Accept': '*/*',\n 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',\n 'Accept-Encoding': 'gzip, deflate',\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n 'X-Requested-With': 'XMLHttpRequest',\n 'Referer': 'https://www.sistemagorod.ru/lk/',\n 'Cookie': 'JSESSIONID='+ msg.sessionid,\n 'Connection': 'keep-alive',\n 'Pragma': 'no-cache',\n 'Cache-Control': 'no-cache'\n }\n \n\n var url= \"https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxx&pin=xxx\";\n\nmsg.url = url;\nreturn msg;","outputs":1,"valid":true,"x":128.55555725097656,"y":152.11111450195312,"z":"865a081c.79a5f8","wires":[["ef96486b.1069b8"]]},{"id":"ef96486b.1069b8","type":"http request","name":"","method":"POST","ret":"txt","url":"","x":284.7778015136719,"y":153.2222137451172,"z":"865a081c.79a5f8","wires":[["ad6096b4.529f68","62c44e09.9d3bb","a452cdcd.5bad3"]]},{"id":"62c44e09.9d3bb","type":"debug","name":"SessionId","active":true,"console":"false","complete":"payload","x":602.333366394043,"y":37.33333778381348,"z":"865a081c.79a5f8","wires":[]},{"id":"44e90f84.bb16f","type":"debug","name":"SessionId2","active":true,"console":"false","complete":"payload","x":445.5555191040039,"y":243.33333206176758,"z":"865a081c.79a5f8","wires":[]},{"id":"ad6096b4.529f68","type":"debug","name":"","active":true,"console":"false","complete":"true","x":602.5555419921875,"y":209,"z":"865a081c.79a5f8","wires":[]},{"id":"a452cdcd.5bad3","type":"function","name":"sessionid2","func":"\n//var obj = { \"topic\": \"\", \"payload\": \"\\r\\n<response>\\r\\n <state>ok</state>\\r\\n</response>\\r\\n\\r\\n\", \"_msgid\": \"c27391e4.3d8c7\", \"sessionid\": \"6E14E8C7BF3AFDE8E63FBF0EA015BFB4\", \"headers\": { \"date\": \"Sun, 24 May 2015 17:59:17 GMT\", \"server\": \"Apache/2.4.7 (Ubuntu)\", \"content-length\": \"88\", \"set-cookie\": [ \"JSESSIONID=6385A1C965987A3FAA6131DD153D2EE1; Path=/lk/; Secure; HttpOnly\" ], \"keep-alive\": \"timeout=5, max=100\", \"connection\": \"Keep-Alive\", \"content-type\": \"text/plain\" }, \"url\": \"https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxxx&pin=xxxx\", \"statusCode\": 200 };\nvar obj = msg.payload;\nvar cookies = obj.headers[\"set-cookie\"][0];\nvar m = cookies.match(/JSESSIONID=([\\w\\d]*)/);\nif (m) {\n msg.payload = m[1];\n return msg;\n}\n\n\n","outputs":"1","valid":true,"x":235.55560302734375,"y":284.2221984863281,"z":"865a081c.79a5f8","wires":[["44e90f84.bb16f","7a9fda5d.856024"]]},{"id":"7a9fda5d.856024","type":"debug","name":"SessionId2","active":true,"console":"false","complete":"true","x":446.66667556762695,"y":292.22221755981445,"z":"865a081c.79a5f8","wires":[]}] -
:roll:
-
Ты запостил не ВЕСЬ flow. Авторизации не было.
[{"id":"b2457b04.4dba88","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":110,"y":142,"z":"a3d5aaa9.5c2a58","wires":[["a4b814e9.5b47e8"]]},{"id":"a4b814e9.5b47e8","type":"http request","name":"","method":"GET","ret":"txt","url":"https://www.sistemagorod.ru/lk/","x":430,"y":143,"z":"a3d5aaa9.5c2a58","wires":[["673656c9.98c9a8","892e892.f76d178"]]},{"id":"8aebf8b1.751408","type":"http request","name":"","method":"POST","ret":"txt","url":"","x":429,"y":207,"z":"a3d5aaa9.5c2a58","wires":[["f398e11c.0c672","2e09ba5d.d1f646"]]},{"id":"6d01402.f92fec","type":"http request","name":"","method":"GET","ret":"txt","url":"","x":428,"y":284,"z":"a3d5aaa9.5c2a58","wires":[["3d2f1fc5.c2d0e","7138683e.8ec798"]]},{"id":"f398e11c.0c672","type":"function","name":"Get \"indications\"","func":"if (msg.payload.indexOf('>ok<') != -1) {\n\tmsg.payload = '';\n\tvar parts = msg.headers['set-cookie'][0].split(';');\n\t\n\tmsg.headers = {\n\t 'Host': 'www.sistemagorod.ru',\n\t 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',\n\t 'Accept': '*/*',\n\t 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',\n\t 'Accept-Encoding': '',\n\t 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n\t 'X-Requested-With': 'XMLHttpRequest',\n\t 'Referer': 'https://www.sistemagorod.ru/lk/',\n\t 'Cookie': parts[0],\n\t 'Connection': 'keep-alive',\n\t 'Pragma': 'no-cache',\n\t 'Cache-Control': 'no-cache'\n\t};\n\t\n\t//msg.headers.Cookie = msg.headers[0]['set-cookie'],\n\tmsg.url = \"https://www.sistemagorod.ru/lk/indications\";\n\treturn msg;\n}\n","outputs":1,"x":236,"y":284,"z":"a3d5aaa9.5c2a58","wires":[["6d01402.f92fec"]]},{"id":"3d2f1fc5.c2d0e","type":"debug","name":"","active":true,"console":"false","complete":"true","x":636,"y":284,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"673656c9.98c9a8","type":"debug","name":"","active":true,"console":"false","complete":"true","x":632,"y":144,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"2e09ba5d.d1f646","type":"debug","name":"","active":true,"console":"false","complete":"true","x":633,"y":207,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"892e892.f76d178","type":"function","name":"Authenticate","func":"msg.url='https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxx&pin=yyyy'\nreturn msg;","outputs":1,"x":257,"y":207,"z":"a3d5aaa9.5c2a58","wires":[["8aebf8b1.751408"]]},{"id":"9d88bc37.62774","type":"debug","name":"","active":true,"console":"false","complete":"payload","x":416,"y":381,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"7138683e.8ec798","type":"function","name":"Extract values","func":"var m = msg.payload.match(/data-previos-reading=\"([\\d.]*)\"/g);\nmsg.payload = [];\nif (m) {\n\tfor (var i = 0; i < m.length; i++) {\n\t\tvar parts = m[i].split('=\"');\n\t\tif (parts.length == 2) {\n\t\t msg.payload.push(parts[1].replace('\"', ''));\n\t\t}\n\t}\n}\nreturn msg;","outputs":1,"x":241,"y":382,"z":"a3d5aaa9.5c2a58","wires":[["9d88bc37.62774"]]}]Ещё была ошибка, что "'Accept-Encoding': 'gzip, deflate',"
И поэтому ты получал зазипованный ответ.
Я довел до ответа
[ "375", "7", "7", "1.351" ]Дальше сам.
-
Ты запостил не ВЕСЬ flow. Авторизации не было.
[{"id":"b2457b04.4dba88","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":110,"y":142,"z":"a3d5aaa9.5c2a58","wires":[["a4b814e9.5b47e8"]]},{"id":"a4b814e9.5b47e8","type":"http request","name":"","method":"GET","ret":"txt","url":"https://www.sistemagorod.ru/lk/","x":430,"y":143,"z":"a3d5aaa9.5c2a58","wires":[["673656c9.98c9a8","892e892.f76d178"]]},{"id":"8aebf8b1.751408","type":"http request","name":"","method":"POST","ret":"txt","url":"","x":429,"y":207,"z":"a3d5aaa9.5c2a58","wires":[["f398e11c.0c672","2e09ba5d.d1f646"]]},{"id":"6d01402.f92fec","type":"http request","name":"","method":"GET","ret":"txt","url":"","x":428,"y":284,"z":"a3d5aaa9.5c2a58","wires":[["3d2f1fc5.c2d0e","7138683e.8ec798"]]},{"id":"f398e11c.0c672","type":"function","name":"Get \"indications\"","func":"if (msg.payload.indexOf('>ok<') != -1) {\n\tmsg.payload = '';\n\tvar parts = msg.headers['set-cookie'][0].split(';');\n\t\n\tmsg.headers = {\n\t 'Host': 'www.sistemagorod.ru',\n\t 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',\n\t 'Accept': '*/*',\n\t 'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',\n\t 'Accept-Encoding': '',\n\t 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n\t 'X-Requested-With': 'XMLHttpRequest',\n\t 'Referer': 'https://www.sistemagorod.ru/lk/',\n\t 'Cookie': parts[0],\n\t 'Connection': 'keep-alive',\n\t 'Pragma': 'no-cache',\n\t 'Cache-Control': 'no-cache'\n\t};\n\t\n\t//msg.headers.Cookie = msg.headers[0]['set-cookie'],\n\tmsg.url = \"https://www.sistemagorod.ru/lk/indications\";\n\treturn msg;\n}\n","outputs":1,"x":236,"y":284,"z":"a3d5aaa9.5c2a58","wires":[["6d01402.f92fec"]]},{"id":"3d2f1fc5.c2d0e","type":"debug","name":"","active":true,"console":"false","complete":"true","x":636,"y":284,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"673656c9.98c9a8","type":"debug","name":"","active":true,"console":"false","complete":"true","x":632,"y":144,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"2e09ba5d.d1f646","type":"debug","name":"","active":true,"console":"false","complete":"true","x":633,"y":207,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"892e892.f76d178","type":"function","name":"Authenticate","func":"msg.url='https://www.sistemagorod.ru/lk/auth?type-auth=phone&answer-captcha=&phone=xxx&pin=yyyy'\nreturn msg;","outputs":1,"x":257,"y":207,"z":"a3d5aaa9.5c2a58","wires":[["8aebf8b1.751408"]]},{"id":"9d88bc37.62774","type":"debug","name":"","active":true,"console":"false","complete":"payload","x":416,"y":381,"z":"a3d5aaa9.5c2a58","wires":[]},{"id":"7138683e.8ec798","type":"function","name":"Extract values","func":"var m = msg.payload.match(/data-previos-reading=\"([\\d.]*)\"/g);\nmsg.payload = [];\nif (m) {\n\tfor (var i = 0; i < m.length; i++) {\n\t\tvar parts = m[i].split('=\"');\n\t\tif (parts.length == 2) {\n\t\t msg.payload.push(parts[1].replace('\"', ''));\n\t\t}\n\t}\n}\nreturn msg;","outputs":1,"x":241,"y":382,"z":"a3d5aaa9.5c2a58","wires":[["9d88bc37.62774"]]}]Ещё была ошибка, что "'Accept-Encoding': 'gzip, deflate',"
И поэтому ты получал зазипованный ответ.
Я довел до ответа
[ "375", "7", "7", "1.351" ]Дальше сам. `
Воу! Спасибо большое!
-
Ещё была ошибка, что "'Accept-Encoding': 'gzip, deflate',"
И поэтому ты получал зазипованный ответ.
Дальше сам. `
Я все воскресенье убил, вроде что то получатся начало но на выходе кракозябры… теперь понятно в чем ошибка.
-
Как в node red завести данные датчиков? Выбираю в input IoBroker, переменная передается только когда значение изменяется. Мне нужно получить доступ к текущим показаниям датчика, как эти данные поместить в функцию во время выполения скрипта?
- еще если переменная изменяется то она запускает скрипт который после этой переменной
-
Как в node red завести данные датчиков? Выбираю в input IoBroker, переменная передается только когда значение изменяется. Мне нужно получить доступ к текущим показаниям датчика, как эти данные поместить в функцию во время выполения скрипта?
- еще если переменная изменяется то она запускает скрипт который после этой переменной `
Никак. В этом вся проблема node-red. Он stateless и event triggered.
Можно только через хак и сохранять значения в context.global (http://nodered.org/docs/writing-functions.html)
- еще если переменная изменяется то она запускает скрипт который после этой переменной `
-
Как в node red завести данные датчиков? Выбираю в input IoBroker, переменная передается только когда значение изменяется. Мне нужно получить доступ к текущим показаниям датчика, как эти данные поместить в функцию во время выполения скрипта?
- еще если переменная изменяется то она запускает скрипт который после этой переменной `
Никак. В этом вся проблема node-red. Он stateless и event triggered.
Можно только через хак и сохранять значения в context.global (http://nodered.org/docs/writing-functions.html) `
Ок. Будем делать через глобальные.msg.Hot_curr = h.substring(0, h.length - 2); выдает ошибку TypeError: Object 722 has no method 'substring' (line 4, col 19)
Как обрезать последние два символа в значении?
PS Посоветуй литературу почитать по Node red'у
- еще если переменная изменяется то она запускает скрипт который после этой переменной `
-
Пока сделал так:
var h = context.global.Hot_curr; h = '' + h; msg.Hot_curr = h.substr(0, h.length - 2); var c = context.global.Cold_curr; c = '' + c; msg.Cold_curr = c.substr(0, c.length - 2):D
-
Пока сделал так:
var h = context.global.Hot_curr; h = '' + h; msg.Hot_curr = h.substr(0, h.length - 2); var c = context.global.Cold_curr; c = '' + c; msg.Cold_curr = c.substr(0, c.length - 2):D `
Ну в принципе именно так:var h = context.global.Hot_curr.toString(); msg.Hot_curr = h.substr(0, h.length - 2); -
Как происходит взаимодействие из нодрэда с другими драйверами?
Например как из нодреда отправить сообщение Pushover.
721_fenster_tuer.jpg
721_cultuer.jpg
721_zwischenstecker.jpg
721_direktverbindung.jpg
721_wandthermostat.jpg -
Написал условие, переменная меняет свое состояние но клиенту mqtt не уходит команда, что я делаю не так?
[{"id":"acda5939.5325a8","type":"ioBroker in","name":"myhome/Bathroom/Humidity_room","topic":"mqtt.0.myhome.Bathroom.Humidity_room","payloadType":"value","x":167,"y":131,"z":"865a081c.79a5f8","wires":[["20e9eada.df1616","207b73cb.df848c"]]},{"id":"ffc2e396.003d2","type":"ioBroker out","name":"myhome/Bathroom/Ventilator","topic":"mqtt.0.myhome.Bathroom.Ventilator","ack":"true","autoCreate":"false","x":677,"y":139,"z":"865a081c.79a5f8","wires":[]},{"id":"20e9eada.df1616","type":"debug","name":"","active":true,"console":"false","complete":"false","x":328,"y":292,"z":"865a081c.79a5f8","wires":[]},{"id":"207b73cb.df848c","type":"function","name":"","func":"if (msg.payload > 56){\n msg.payload = 1;\n}\nelse {\n msg.payload = 0;\n}\nreturn msg;","outputs":1,"valid":true,"x":431,"y":127,"z":"865a081c.79a5f8","wires":[["9fe832be.6017d","ffc2e396.003d2"]]},{"id":"9fe832be.6017d","type":"debug","name":"1111111111111111","active":true,"console":"false","complete":"payload","x":609,"y":219,"z":"865a081c.79a5f8","wires":[]}] -
Написал условие, переменная меняет свое состояние но клиенту mqtt не уходит команда, что я делаю не так? `
Понял в чем была ошибка, нужно было в выводе поставить не value а command.Возникает следующий вопрос.
Как написать чтобы данные отсылались только один раз при срабатывание условия а не постоянно слались на клиента?
приведенный код срабатывает только раз т.к. flag постоянно устанавливается в 0. В ардуино хорошо можно при инициализации объявить переменные, а как поступить в нодред?
var flag = 0; if (msg.payload > 56 && flag === 0){ msg.payload = 1; var flag = 1; return msg; } else if (msg.payload < 56 && flag === 1){ msg.payload = 0; var flag = 0; return msg; } -
Написал условие, переменная меняет свое состояние но клиенту mqtt не уходит команда, что я делаю не так? `
Понял в чем была ошибка, нужно было в выводе поставить не value а command.Возникает следующий вопрос.
Как написать чтобы данные отсылались только один раз при срабатывание условия а не постоянно слались на клиента?
приведенный код срабатывает только раз т.к. flag постоянно устанавливается в 0. В ардуино хорошо можно при инициализации объявить переменные, а как поступить в нодред?
var flag = 0; if (msg.payload > 56 && flag === 0){ msg.payload = 1; var flag = 1; return msg; } else if (msg.payload < 56 && flag === 1){ msg.payload = 0; var flag = 0; return msg; } ```` `Поменяй на
if (context.global.flag === undefined) { context.global.flag = msg.payload > 56; } if (msg.payload > 56 && !context.global.flag){ msg.payload = 1; context.global.flag= true; return msg; } else if (msg.payload < 56 && context.global.flag){ msg.payload = 0; context.global.flag= false; return msg; } -
Поменяй на
if (context.global.flag === undefined) { context.global.flag = msg.payload > 56; } if (msg.payload > 56 && !context.global.flag){ msg.payload = 1; context.global.flag= true; return msg; } else if (msg.payload < 56 && context.global.flag){ msg.payload = 0; context.global.flag= false; return msg; } ```` `Спасибо заработало. Вчера начинал уже мудрить с глобальными переменными, думал может есть другой способ.
Как из нодреда отправить сообщение на Pushover?
-
Как происходит взаимодействие из нодрэда с другими драйверами?
Например как из нодреда отправить сообщение Pushover. `
Так и не понял как отправить сообщение. Или только через javascript?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden