NEWS
Скрипт Megad DHT22
-
В CCU.IO работает скрипт:
// Create variable "Temperature" setObject(100015, { Name: "Temperature", TypeName: "VARDP" }); // Create variable "Humidity" setObject(100016, { Name: "Humidity", TypeName: "VARDP" }); // request url function getValues() { request("http://192.168.1.14/sec/?pt=0&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9]+)\/?hum:([0-9]+)/); if (m) { setState(100016, parseFloat(m[2])); setState(100015, parseFloat(m[1])); } } }); } // every minute schedule("*/1 * * * *", function () { getValues(); }); // Initial read getValues();
как его переделать к iobroker для меня это тёмный лес, ну очень хочется разобратся :?
-
как его переделать к iobroker для меня это тёмный лес, ну очень хочется разобратся :? `
А если попробовать Node-RED?В инете много примеров для http-request.
-
как его переделать к iobroker для меня это тёмный лес, ну очень хочется разобратся :? `
А если попробовать Node-RED?В инете много примеров для http-request. `
Я его даже поставил, полазил по немецким форумам google так переводит что я нечего понять не смог. Думаю со временем и вашей помощю всё начнёт прояснятся и тогда и я смогу такими словечками "http-request" на равных опшатся :roll: -
В CCU.IO работает скрипт:
// Create variable "Temperature" setObject(100015, { Name: "Temperature", TypeName: "VARDP" }); // Create variable "Humidity" setObject(100016, { Name: "Humidity", TypeName: "VARDP" }); // request url function getValues() { request("http://192.168.1.14/sec/?pt=0&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9]+)\/?hum:([0-9]+)/); if (m) { setState(100016, parseFloat(m[2])); setState(100015, parseFloat(m[1])); } } }); } // every minute schedule("*/1 * * * *", function () { getValues(); }); // Initial read getValues();
как его переделать к iobroker для меня это тёмный лес, ну очень хочется разобратся :? `
// Create variable "Temperature" createState("Temperature"); // Create variable "Humidity" createState("Humidity"); // request url function getValues() { request("http://192.168.1.14/sec/?pt=0&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9]+)\/?hum:([0-9]+)/); if (m) { setState("Humidity", parseFloat(m[2]), true); setState("Temperature", parseFloat(m[1]), true); } } }); } // every minute schedule("*/1 * * * *", getValues); // Initial read getValues();
-
Спасибо Bluefox
Ну что то не то, переменные появились но данных нет и в логах ругается.
Переменная Temerature_DS это мой скрипт на базе вашего, в экспериментальной прошивке megad есть поддержка 1wire датчика DS18B20.
443_screencapture-192-168-1-65-8081-1431859555203.png
443_screencapture-192-168-1-65-8081-1431859644202.png -
Прошу прощения. Забыл одну строчку
var request = require('request');
Новый скрипт:
var request = require('request'); // Create variable "Temperature" createState("Temperature"); // Create variable "Humidity" createState("Humidity"); // request url function getValues() { request("http://192.168.1.14/sec/?pt=0&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9]+)\/?hum:([0-9]+)/); if (m) { setState("Humidity", parseFloat(m[2]), true); setState("Temperature", parseFloat(m[1]), true); } } }); } // every minute schedule("*/1 * * * *", getValues); // Initial read getValues();
-
Большое спасибо всё работает.
На основе вашего скрипта сделал скрипт для DS18B20, всё работает только не могу получить число с десятками (temp:18.6).
Пробовал разные примеры получаю целое(19), NaN или null
var request = require('request'); // Create variable "Temperature" createState("TemperatureDS"); // request url function getValues() { request("http://192.168.1.14/sec/?pt=7&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9]+)/); if (m) { setState("TemperatureDS", parseFloat(m[1]), true); } } }); } // every minute schedule("*/1 * * * *", getValues); // Initial read getValues();
-
Большое спасибо всё работает.
На основе вашего скрипта сделал скрипт для DS18B20, всё работает только не могу получить число с десятками (temp:18.6).
Пробовал разные примеры получаю целое(19), NaN или null `
Надо добаить точку к возможным символам: /temp:([0-9~~[color=#BF0000]~~.]+)/var request = require('request'); // Create variable "Temperature" createState("TemperatureDS"); // request url function getValues() { request("http://192.168.1.14/sec/?pt=7&cmd=get", function (error, response, body) { if (body) { var m = body.match(/temp:([0-9.]+)/); if (m) { setState("TemperatureDS", parseFloat(m[1]), true); } } }); } // every minute schedule("*/1 * * * *", getValues); // Initial read getValues();
-
Здравствуйте! Как этим скриптом получить отрицательную температуру ?
-
Здравствуйте! Как этим скриптом получить отрицательную температуру ? `
Может в регулярку его добавить -
Здравствуйте! Как этим скриптом получить отрицательную температуру ? `
var m = body.match(/temp:(\D*[0-9.]+)/);
-
Спасибо!
-
Здравствуйте всем!
Я здесь новенький. В скриптах "0" .
Обращаюсь за помощью. Как из wifi-iot EPS, соединен по mqtt? выдернуть данные.
Пробовал подставить свои значения в скрипт данного примера. Не получается.
Вот чего наваял. СМ. Вложение
Поправьте, чтоб заработало.
А так мне нужно вытащить вот такие данные из EPS: {"system":{"hostname":"ESP00161C69","uptime":6000,"rssi":-40,"freemem":30616},"sensors":{"bmet":28.7,"bmeh":51.4,"bmep":747.09,"pmv":236.0,"pmc":1.23,"pmw":228,"pmwh":2291371}}
8054_mqtt.png