• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

IoT + NODE-RED

opyzhov

New member
Всем привет!

Искал приложение для мониторинга и управления системой домашней автоматизации на смартфоне (IOS и Android) по MQTT.
IoT оказался самым интересным вариантом.

Настраиваю Node-RED. За основу взята статься http://tech.scargill.net/iotmanager/

вопрос как выводить текстовую информацию с изменением цвета значения параметра (в графических примерах есть "
Heater status:", но но понимаю как реализовать)

Сейчас сделано так:
JavaScript:
var id = "0";
var widget="anydata";
    config[0] = {
    id : id,
    page: pagesList.pages[0].pageName,
    pageId: pagesList.pages[0].pageId,
    descr  : "Состояние:",
    topic: prefix + "/" + deviceId + "/" + widget + id,
    widget : widget,
        class1 : "item no-border",
        style2 : "font-size:20px;float:left",
        class3 : "light padding-left padding-right rounded",
        style3 : "font-size:20px;font-weight:bold;float:right"
};

и когда присваиваю значение (ВКЛ/ВЫКЛ):
JavaScript:
var fred=msg.payload;
if (msg.topic === "home/alarm/test") {
    if (fred === "true") {fred = "Вкл.";} else {fred="Выкл.";}
    msg.topic="/IoTmanager/bedrock/anydata0/status";
    msg.payload="{\"status\":\""+fred+"\"}";
    global.set("IoTmanager_anydata0",fred);
    return msg;    
}
 
Последнее редактирование:

opyzhov

New member
Victor, Да это работает.

вопрос как выводить текстовую информацию с изменением цвета значения параметра

Например:

Освещение: вкл. (вкл зеленым)
Освещение: выкл. (выкл серым)

для наглядности..
 

Victor

Administrator
Команда форума
вопрос как выводить текстовую информацию с изменением цвета значения параметра
Сначала смотрите документацию на виджет anydata
там видите, что за стиль [inline]status[/inline] отвечают [inline]class3[/inline] и [inline]style3[/inline], т.е. вы должны отправить JSON:
[inline]{"status":"Вкл.", "style3":"font-size:20px;font-weight:bold;float:right;background-color:#0F0;"}[/inline]
Также можете поменять стиль [inline]descr[/inline] через [inline]class2[/inline] и [inline]style2[/inline]
 

opyzhov

New member
Victor, Спасибо вроде написано но не понимал куда вставить код.

В итоге кто пойдет по моему пути необходимо вот так изменить код

JavaScript:
function pubStatus(i) {
var status;
switch (i)
    {
        case 0 : status=global.get("IoTmanager_anydata0"); break;
        case 1 : status=global.get("IoTmanager_anydata1"); break;
        case 2 : status=global.get("IoTmanager_anydata2"); break;
        case 3 : status=global.get("IoTmanager_anydata3"); break;
        case 4 : status=global.get("IoTmanager_anydata4"); break;
        case 5 : status=global.get("IoTmanager_anydata5"); break;
        case 6 : status=global.get("IoTmanager_anydata6"); break;
        case 10 : status=global.get("IoTmanager_toggle10"); break;
    }
msg.topic=config[i].topic + "/status";
//msg.payload=JSON.stringify({ status: status });
if (status == "Вкл") {
    msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#008000;"});
} else if (status == "Да"){
    msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#f00;"});
} else {
    msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#808080;"});
}
node.send(msg);
}
 

opyzhov

New member
Подскажите как подключить IOT manager к Amazone IOT на IOS устройствах?

из клмандной строки публикует так:
Код:
curl --tlsv1.2 --cacert root-CA.crt --cert nodered.cert.pem --key nodered.private.key -X POST -d "true" "https://xxx.iot.us-east-1.amazonaws.com:8443/topics/home?qos=1"
топишь есть сертификаты. Куда из вставить в IOT manager и как?
 
Последнее редактирование:
Сверху Снизу