• Система автоматизации с открытым исходным кодом на базе 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 и как?
 
Последнее редактирование:
Сверху Снизу