Скрыть объявление
Управляйте вашими ESP8266 и другими устройствами прямо с телефона из любой точки мира, где есть интернет!
Подробности и обсуждение IoT Manager в этой теме. Официальный сайт приложения и документация IoTmanager.ru
Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

IoT + NODE-RED

Тема в разделе "IoT Manager – мобильное приложение", создана пользователем opyzhov, 28 апр 2017.

  1. opyzhov

    opyzhov Новичок

    Сообщения:
    4
    Симпатии:
    1
    Всем привет!

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

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

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

    Сейчас сделано так:
    Код (Javascript):
    1. var id = "0";
    2. var widget="anydata";
    3.     config[0] = {
    4.     id : id,
    5.     page: pagesList.pages[0].pageName,
    6.     pageId: pagesList.pages[0].pageId,
    7.     descr  : "Состояние:",
    8.     topic: prefix + "/" + deviceId + "/" + widget + id,
    9.     widget : widget,
    10.         class1 : "item no-border",
    11.         style2 : "font-size:20px;float:left",
    12.         class3 : "light padding-left padding-right rounded",
    13.         style3 : "font-size:20px;font-weight:bold;float:right"
    14. };

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

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    в этих кусках кода ничего "неправильного" я не увидел, копайте дальше
     
  3. opyzhov

    opyzhov Новичок

    Сообщения:
    4
    Симпатии:
    1
    Victor, Да это работает.

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

    Например:

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

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

    Victor Administrator Команда форума

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

    opyzhov Новичок

    Сообщения:
    4
    Симпатии:
    1
    Victor, Спасибо вроде написано но не понимал куда вставить код.

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

    Код (Javascript):
    1. function pubStatus(i) {
    2. var status;
    3. switch (i)
    4.     {
    5.         case 0 : status=global.get("IoTmanager_anydata0"); break;
    6.         case 1 : status=global.get("IoTmanager_anydata1"); break;
    7.         case 2 : status=global.get("IoTmanager_anydata2"); break;
    8.         case 3 : status=global.get("IoTmanager_anydata3"); break;
    9.         case 4 : status=global.get("IoTmanager_anydata4"); break;
    10.         case 5 : status=global.get("IoTmanager_anydata5"); break;
    11.         case 6 : status=global.get("IoTmanager_anydata6"); break;
    12.         case 10 : status=global.get("IoTmanager_toggle10"); break;
    13.     }
    14. msg.topic=config[i].topic + "/status";
    15. //msg.payload=JSON.stringify({ status: status });
    16. if (status == "Вкл") {
    17.     msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#008000;"});
    18. } else if (status == "Да"){
    19.     msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#f00;"});
    20. } else {
    21.     msg.payload=JSON.stringify({"status":status, "style3":"font-size:20px;font-weight:bold;float:right;background-color:#808080;"});
    22. }
    23. node.send(msg);
    24. }
     
    Victor нравится это.
  6. opyzhov

    opyzhov Новичок

    Сообщения:
    4
    Симпатии:
    1
    Подскажите как подключить IOT manager к Amazone IOT на IOS устройствах?

    из клмандной строки публикует так:
    Код (Text):
    1. 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 и как?
     
    Последнее редактирование: 3 май 2017
  7. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.182
    Симпатии:
    368
    к Amazone сам не подключал, не подскажу
     

Поделиться этой страницей