0x5e / homebridge-tuya-platform

Make homebridge-tuya-platform great again.
MIT License
206 stars 58 forks source link

Please add support for BCM700D based Curtain Rail #358

Open sphardy opened 10 months ago

sphardy commented 10 months ago

Device Infomation JSON File

[
  {
    "active_time": 1691747613,
    "biz_type": 0,
    "category": "cl",
    "create_time": 1691433297,
    "icon": "smart/icon/ay1529376107687pwiLb/4fcdd29eebd945d6748f7e027ecf2ae3.png",
    "id": "bf4e6479a908413064qacl",
    "ip": "-- Intentionally Removed --",
    "lat": "60.4700",
    "local_key": "hXqQF]|`9Hp3L_m[",
    "lon": "22.1000",
    "model": "BCM700D",
    "name": "Bedroom Curtains",
    "online": true,
    "owner_id": "163071218",
    "product_id": "p1fiefpamvaqek4u",
    "product_name": "窗帘电动轨道",
    "status": [],
    "sub": false,
    "time_zone": "+03:00",
    "uid": "eu16914331307324sdF3",
    "update_time": 1691749620,
    "uuid": "f02a0704c5772759",
    "schema": []
  }
]

Detail Informations

I have installed a curtain rail from Abalon Tracks (https://abalontracks.com) which does not appear to be supported. Please can you consider adding support or advise how I may manually configure support.

I did find Issue #3 and with this I added the following device over-rides which seemed to take me a step further. I am able to see the curtains as an unsupported device in the Home App on my Apple devices.

                "deviceOverrides": [
                    {
                        "id": "bf4e6479a908413064qacl",
                        "category": "cl",
                        "unbridged": true,
                        "schema": [
                            {
                                "code": "control",
                                "type": "Enum",
                                "property": {
                                    "range": [
                                        "open, close, stop"
                                    ]
                                }
                            },
                            {
                                "code": "percent_control",
                                "type": "Integer",
                                "property": {
                                    "unit": "%",
                                    "min": 0,
                                    "max": 100,
                                    "scale": 0,
                                    "step": 1
                                }
                            }
                        ]
                    }

I believe the relevant logs are as follows:

[8/11/2023, 6:00:44 PM] [Tuya] [TuyaOpenAPI] Request:
method = get
endpoint = https://openapi.tuyaeu.com
path = /v1.0/devices/bf4e6479a908413064qacl/specifications
query = undefined
headers = {
  "t": "1691766044150",
  "client_id": "-- Intentionally Removed --",
  "nonce": "c2c54ad9-9282-459a-bdf9-5a263a92b488",
  "Signature-Headers": "client_id",
  "sign": "A5BC55646BF51DCF2B367893CCE8D83FC5E21F0C1054FD538359D1DAFD5C2652",
  "sign_method": "HMAC-SHA256",
  "access_token": "46630c6f1fa38428b4b775ad8ab3040d",
  "lang": "en",
  "dev_lang": "javascript",
  "dev_channel": "homebridge",
  "devVersion": "1.7.0-beta.49"
}
body = null
[8/11/2023, 6:00:44 PM] [Tuya] [TuyaOpenAPI] Response:
path = /v1.0/devices/bf4e6479a908413064qacl/specifications
data = {
  "code": 2009,
  "msg": "not support this device",
  "success": false,
  "t": 1691766044425,
  "tid": "d8a759ac385711eea9649a766792eea9"
}
[8/11/2023, 6:00:44 PM] [Tuya] Fetching scene list.
[8/11/2023, 6:00:44 PM] [Tuya] [TuyaDeviceManager] Get device specification failed. devId = bf4e6479a908413064qacl, code = 2009, msg = not support this device
[8/11/2023, 6:00:44 PM] [Tuya] [TuyaOpenAPI] Request:
method = get
endpoint = https://openapi.tuyaeu.com
path = /v1.1/homes/163071218/scenes
query = undefined
headers = {
  "t": "1691766044447",
  "client_id": "-- Intentionally Removed --",
  "nonce": "c037b465-179c-456e-a2eb-cde66f955175",
  "Signature-Headers": "client_id",
  "sign": "9B1352E98FD5460231F9706048A08D705878D2B1EF4CBC3018290EC00954DA26",
  "sign_method": "HMAC-SHA256",
  "access_token": "46630c6f1fa38428b4b775ad8ab3040d",
  "lang": "en",
  "dev_lang": "javascript",
  "dev_channel": "homebridge",
  "devVersion": "1.7.0-beta.49"
}
body = null
[8/11/2023, 6:00:44 PM] [Tuya] [TuyaOpenAPI] Response:
path = /v1.1/homes/163071218/scenes
data = {
  "result": [],
  "success": true,
  "t": 1691766044632,
  "tid": "d8d4008a385711eeb9b35632d139c0f4"
}
[8/11/2023, 6:00:44 PM] [Tuya] Override 'Bedroom Curtains' category from 'cl' to 'cl'
[8/11/2023, 6:00:44 PM] [Tuya] Unbridge 'Bedroom Curtains' category 'cl'
[8/11/2023, 6:00:44 PM] [Tuya] Got 1 device(s) and scene(s).
[8/11/2023, 6:00:44 PM] [Tuya] Device list saved at /volume1/homebridge/persist/TuyaDeviceList.eu16914331307324sdF3.json
[8/11/2023, 6:00:44 PM] [Tuya] Adding new accessory: Bedroom Curtains
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] Product Category: cl
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] Missing one of the required schema: [ 'control', 'mach_operate' ]
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] Please switch device control mode to "DP Insctrution", and set `deviceOverrides` manually.
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] Detail information: https://github.com/0x5e/homebridge-tuya-platform#faq
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] Existing schema: [ [length]: 0 ]
[8/11/2023, 6:00:44 PM] [Tuya] Unsupported device: Bedroom Curtains.
[8/11/2023, 6:00:44 PM] [Tuya] [Bedroom Curtains] [AccessoryInformation/undefined/StatusActive] Update value: false => true
[8/11/2023, 6:00:44 PM] Bedroom Curtains C6BE is running on port 42867.
[8/11/2023, 6:00:44 PM] Please add [Bedroom Curtains C6BE] manually in Home app. Setup Code: 495-35-868