[Модуль] Tuya

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

kirush
Сообщения: 121
Зарегистрирован: Ср май 17, 2017 10:38 am
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Re: [Модуль] Tuya

Сообщение kirush » Вс янв 09, 2022 12:56 am

Пытаюсь привязать термостат теплых полов.

В IOT вот такие данные:

Код: Выделить всё

{
  "result": {
    "category": "wk",
    "functions": [
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Power",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Set Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":10,\"max\":70,\"scale\":1,\"step\":5}"
      },
      {
        "code": "eco",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ECO",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "upper_temp",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Current Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":0,\"max\":100,\"scale\":0,\"step\":5}"
      }
    ],
    "status": [
      {
        "code": "eco",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ECO",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Set Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":10,\"max\":70,\"scale\":1,\"step\":5}"
      },
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Power",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "upper_temp",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Current Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":0,\"max\":100,\"scale\":0,\"step\":5}"
      }
    ]
  },
  "success": true,
  "t": 1641678691783
}
В tuya выдергиваются вот такие:
2022-01-09_00-53-51.png
2022-01-09_00-53-51.png (119.54 КБ) 343 просмотра
На самом деле они вот такие:
2022-01-09 00.56.06.jpg
2022-01-09 00.56.06.jpg (69.92 КБ) 343 просмотра
kirush
Сообщения: 121
Зарегистрирован: Ср май 17, 2017 10:38 am
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Re: [Модуль] Tuya

Сообщение kirush » Вс янв 09, 2022 1:43 am

fandaymon писал(а):
Чт ноя 04, 2021 10:47 am
kirush писал(а):
Ср ноя 03, 2021 11:40 pm
Есть wifi устройства, а есть zigbee устройства, как я понимаю. Выключатели например - с IP адресами, а вот RGB лампы/датчики движения - без IP адресов.
Галку конвертации - поставил сразу же.

SID убрал, нажал Обновить, SID изменился - стал длиннее. Сразу же цикл IOT подключился (до этого был красным) - API login/secret введены соответственно.
Если включаю работу через IOT, нужно ли отключать галку "Использовать оригинальное облако"?
А! Т.е. вот это конкретное RGB устройство оно зигби? Тогда у него должен быть шлюз, у которого должен быть прописан локальный адрес и ключ. А у устройства должен быть Mac и Mesh_ID.

Галку использовать оригинальное облако отключать не надо, так как вся информация об устройствах всё равно берётся из оригинального облака. И идентификатор пользователя (UID) берётся тот, котоый возвращает оригинальное облако
Добился изменения цвета лампы через IOT API:
2022-01-09_01-38-51.png
2022-01-09_01-38-51.png (17.22 КБ) 359 просмотров

Код: Выделить всё

{
  "commands": [
    {
      "code": "colour_data_v2",
      "value": {
        "h": 201,
        "s": 511,
        "v": 899
      }
    }
  ]
}
Информация по лампе:

Код: Выделить всё

{
  "result": {
    "active_time": 1641680455,
    "biz_type": 0,
    "category": "dj",
    "create_time": 1641680455,
    "icon": "smart/icon/ay1528101790270lcTle/aac5b5d4d197b7f6e29976fbf6e34c45.png",
    "id": "bf0e4e701dcff80a87bdcf",
    "ip": "",
    "lat": "XXX",
    "local_key": "0ffffXXXXXdce",
    "lon": "XXX",
    "model": "",
    "name": "Smart Lighting 3",
    "node_id": "00124b002241411a",
    "online": true,
    "owner_id": "14547345",
    "product_id": "oe0cpnjg",
    "product_name": "Smart Lighting",
    "status": [
      {
        "code": "switch_led",
        "value": true
      },
      {
        "code": "work_mode",
        "value": "colour"
      },
      {
        "code": "bright_value_v2",
        "value": 898
      },
      {
        "code": "temp_value_v2",
        "value": 300
      },
      {
        "code": "colour_data_v2",
        "value": ""
      },
      {
        "code": "music_data",
        "value": ""
      }
    ],
    "sub": true,
    "time_zone": "+03:00",
    "uid": "eu15962115235187PAJ9",
    "update_time": 1641680455,
    "uuid": "bf0e4e701dcff80a87bdcf"
  },
  "success": true,
  "t": 1641681608145
}
Но поле colour_data_v2 не подтягивается, чтобы можно было его менять :(
2022-01-09_01-42-37.png
2022-01-09_01-42-37.png (50.99 КБ) 359 просмотров
Через colour_data не меняется:
2022-01-09_01-45-42.png
2022-01-09_01-45-42.png (20.62 КБ) 358 просмотров
Можете добавить?
fandaymon
Сообщения: 1458
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 539 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вс янв 09, 2022 3:49 pm

kirush писал(а):
Вс янв 09, 2022 1:43 am
fandaymon писал(а):
Чт ноя 04, 2021 10:47 am
kirush писал(а):
Ср ноя 03, 2021 11:40 pm
Есть wifi устройства, а есть zigbee устройства, как я понимаю. Выключатели например - с IP адресами, а вот RGB лампы/датчики движения - без IP адресов.
Галку конвертации - поставил сразу же.

SID убрал, нажал Обновить, SID изменился - стал длиннее. Сразу же цикл IOT подключился (до этого был красным) - API login/secret введены соответственно.
Если включаю работу через IOT, нужно ли отключать галку "Использовать оригинальное облако"?
А! Т.е. вот это конкретное RGB устройство оно зигби? Тогда у него должен быть шлюз, у которого должен быть прописан локальный адрес и ключ. А у устройства должен быть Mac и Mesh_ID.

Галку использовать оригинальное облако отключать не надо, так как вся информация об устройствах всё равно берётся из оригинального облака. И идентификатор пользователя (UID) берётся тот, котоый возвращает оригинальное облако
Добился изменения цвета лампы через IOT API:
2022-01-09_01-38-51.png

Код: Выделить всё

{
  "commands": [
    {
      "code": "colour_data_v2",
      "value": {
        "h": 201,
        "s": 511,
        "v": 899
      }
    }
  ]
}
Информация по лампе:

Код: Выделить всё

{
  "result": {
    "active_time": 1641680455,
    "biz_type": 0,
    "category": "dj",
    "create_time": 1641680455,
    "icon": "smart/icon/ay1528101790270lcTle/aac5b5d4d197b7f6e29976fbf6e34c45.png",
    "id": "bf0e4e701dcff80a87bdcf",
    "ip": "",
    "lat": "XXX",
    "local_key": "0ffffXXXXXdce",
    "lon": "XXX",
    "model": "",
    "name": "Smart Lighting 3",
    "node_id": "00124b002241411a",
    "online": true,
    "owner_id": "14547345",
    "product_id": "oe0cpnjg",
    "product_name": "Smart Lighting",
    "status": [
      {
        "code": "switch_led",
        "value": true
      },
      {
        "code": "work_mode",
        "value": "colour"
      },
      {
        "code": "bright_value_v2",
        "value": 898
      },
      {
        "code": "temp_value_v2",
        "value": 300
      },
      {
        "code": "colour_data_v2",
        "value": ""
      },
      {
        "code": "music_data",
        "value": ""
      }
    ],
    "sub": true,
    "time_zone": "+03:00",
    "uid": "eu15962115235187PAJ9",
    "update_time": 1641680455,
    "uuid": "bf0e4e701dcff80a87bdcf"
  },
  "success": true,
  "t": 1641681608145
}
Но поле colour_data_v2 не подтягивается, чтобы можно было его менять :(
2022-01-09_01-42-37.png

Через colour_data не меняется:
2022-01-09_01-45-42.png

Можете добавить?
Colour_data туя хранит в своём формате - примерно таком
colour_data: 000003e803e8

Убедится в этом просто - поменять цвет в аппликации и когда код цвета прилетит из облака - сравнить с образцом выше
Если код примерно такой, то в модуле есть конвертор, он включается галочкой Конвертировать цвета у нужной метрики. Цвета в принципе меняются только если mode=colour
fandaymon
Сообщения: 1458
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 539 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вс янв 09, 2022 3:58 pm

kirush писал(а):
Вс янв 09, 2022 12:56 am
Пытаюсь привязать термостат теплых полов.

В IOT вот такие данные:

Код: Выделить всё

{
  "result": {
    "category": "wk",
    "functions": [
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Power",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Set Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":10,\"max\":70,\"scale\":1,\"step\":5}"
      },
      {
        "code": "eco",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ECO",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "upper_temp",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Current Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":0,\"max\":100,\"scale\":0,\"step\":5}"
      }
    ],
    "status": [
      {
        "code": "eco",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "ECO",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "temp_set",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Set Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":10,\"max\":70,\"scale\":1,\"step\":5}"
      },
      {
        "code": "switch",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Power",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "child_lock",
        "lang_config": {
          "false": "OFF",
          "true": "ON"
        },
        "name": "Lock",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "upper_temp",
        "lang_config": {
          "unit": "℃"
        },
        "name": "Current Temp",
        "type": "Integer",
        "values": "{\"unit\":\"℃\",\"min\":0,\"max\":100,\"scale\":0,\"step\":5}"
      }
    ]
  },
  "success": true,
  "t": 1641678691783
}
В tuya выдергиваются вот такие:
2022-01-09_00-53-51.png
На самом деле они вот такие:
2022-01-09 00.56.06.jpg
С термостатами надо играться с настройками галочек /2/10/100 и value scale

value scale = 0 -> /1
value scale=1 -> /10
value scale=2 -> /100

Устройства туи передают/принимают только целые числа, поэтому перед передачей они умножаются на 2, 10, 100 в зависимости от точности, которую выдаёт устройство

Т.е. если, например, температура измеряется с точностью полградуса, то перед передачей данных она умножается на 2, если с точностью до десятых - на 10

Случаи с умножением на 10 или 100 отрабатываются штатно - в облаке есть параметр value scale
А вот с умножением на 2 - нужно отслеживать вручную, в value scale ставить 0 и ставить галочку /2
За это сообщение автора fandaymon поблагодарил:
kirush (Вс янв 09, 2022 9:18 pm)
Рейтинг: 1.18%
kirush
Сообщения: 121
Зарегистрирован: Ср май 17, 2017 10:38 am
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Re: [Модуль] Tuya

Сообщение kirush » Вс янв 09, 2022 9:24 pm

С термостатом методом тыка разобрался - спасибо. Не совсем понял, но подобрал дробные значения.
Прилетало 3.1 а должно стать 15.5 (те явно надо умножить на 5). Поставил 0.5 - прилетело 15.5.
---
С лампой не выходит аленький цветочек, в приложении выставляю цвет - лампа цвет меняет, но он никак не прилетает в модуль Tuya.
2022-01-09_21-22-13.png
2022-01-09_21-22-13.png (73.68 КБ) 306 просмотров
fandaymon
Сообщения: 1458
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 539 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вс янв 09, 2022 10:35 pm

kirush писал(а):
Вс янв 09, 2022 9:24 pm
С термостатом методом тыка разобрался - спасибо. Не совсем понял, но подобрал дробные значения.
Прилетало 3.1 а должно стать 15.5 (те явно надо умножить на 5). Поставил 0.5 - прилетело 15.5.
---
С лампой не выходит аленький цветочек, в приложении выставляю цвет - лампа цвет меняет, но он никак не прилетает в модуль Tuya.

2022-01-09_21-22-13.png
Умножить на 5 - это значит убрать деление на 10 (value scale=0) и поставить деление на 2 - арифметика... Не надо ставить 0.5, так как это деление на квадратный корень из 10. Деление идёт на 10 в степени Value_Scale
Аватара пользователя
Djeday999
Сообщения: 26
Зарегистрирован: Сб май 29, 2021 3:04 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза

Re: [Модуль] Tuya

Сообщение Djeday999 » Пт янв 14, 2022 12:35 pm

kirush писал(а):
Вс янв 09, 2022 9:24 pm
С термостатом методом тыка разобрался - спасибо. Не совсем понял, но подобрал дробные значения.
Прилетало 3.1 а должно стать 15.5 (те явно надо умножить на 5). Поставил 0.5 - прилетело 15.5.
---
С лампой не выходит аленький цветочек, в приложении выставляю цвет - лампа цвет меняет, но он никак не прилетает в модуль Tuya.

2022-01-09_21-22-13.png
А у меня прилетают данные по цвету от ZigBee контроллера RGB ленты, но не конвертируются. Галочка стоит. В ПУ на палитре цвет меняется от светло-зеленого до темно-зеленого при выборе любого цвета в приложении Туи на мобильном. Сейчас например включен красный цвет подсветки.
Вложения
Безымянный.jpg
Безымянный.jpg (195.99 КБ) 213 просмотров
fandaymon
Сообщения: 1458
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 539 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Пт янв 14, 2022 7:12 pm

Djeday999 писал(а):
Пт янв 14, 2022 12:35 pm
kirush писал(а):
Вс янв 09, 2022 9:24 pm
С термостатом методом тыка разобрался - спасибо. Не совсем понял, но подобрал дробные значения.
Прилетало 3.1 а должно стать 15.5 (те явно надо умножить на 5). Поставил 0.5 - прилетело 15.5.
---
С лампой не выходит аленький цветочек, в приложении выставляю цвет - лампа цвет меняет, но он никак не прилетает в модуль Tuya.

2022-01-09_21-22-13.png
А у меня прилетают данные по цвету от ZigBee контроллера RGB ленты, но не конвертируются. Галочка стоит. В ПУ на палитре цвет меняется от светло-зеленого до темно-зеленого при выборе любого цвета в приложении Туи на мобильном. Сейчас например включен красный цвет подсветки.
Цвет по другому кодируется - для моих ламп/розеток формат rrggbb0hhhssvv - по середине есть ноль
В ваших случаях видимо формат другой - может быть такой - hhhhssssvvvv
fandaymon
Сообщения: 1458
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 539 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Сб янв 15, 2022 7:23 am

Да, абсолютно точно - это формат B

'016603e803e8' конвертируется в 255, 0, 8 т.е. в почти красный цвет
Аватара пользователя
Djeday999
Сообщения: 26
Зарегистрирован: Сб май 29, 2021 3:04 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза

Re: [Модуль] Tuya

Сообщение Djeday999 » Пн янв 17, 2022 8:19 pm

fandaymon писал(а):
Сб янв 15, 2022 7:23 am
Да, абсолютно точно - это формат B

'016603e803e8' конвертируется в 255, 0, 8 т.е. в почти красный цвет
Вечер просидел. Нигде не смог найти конвертер в RGB.
Ответить