Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for YoLink -EC devices #84

Closed
r1chards opened this issue Nov 21, 2023 · 19 comments
Closed

Add support for YoLink -EC devices #84

r1chards opened this issue Nov 21, 2023 · 19 comments
Labels
enhancement New feature or request

Comments

@r1chards
Copy link

Describe Your Problem:

Hello, I'm trying get the motion sensor working, it shows in Apple Home (HomeKit) app but it's not push any updates when triggered by movement or triggering a light to come via an automation. Homebrige logs highlight "Device offline or other error for Garden Motion Sensor". On the YoLink App the sensor is working correctly and push alerts to my phone.

Can you offer any guidance please

Thank you.

Richard

Logs:

[11/21/2023, 11:17:20 PM] [Homebridge UI] Homebridge log truncated by RDS-HomeBridge.
[11/21/2023, 11:17:21 PM] [Homebridge UI] Homebridge restart request received
[11/21/2023, 11:17:21 PM] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[11/21/2023, 11:17:21 PM] [Homebridge UI] Sending SIGTERM to Homebridge
[11/21/2023, 11:17:21 PM] Got SIGTERM, shutting down Homebridge...
[11/21/2023, 11:17:21 PM] Got SIGTERM, shutting down child bridge process...
[11/21/2023, 11:17:26 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[11/21/2023, 11:17:31 PM] [HB Supervisor] Restarting Homebridge...
[11/21/2023, 11:17:31 PM] [HB Supervisor] Starting Homebridge with extra flags: -I
[11/21/2023, 11:17:31 PM] [HB Supervisor] Started Homebridge v1.7.0 with PID: 1197
[11/21/2023, 11:17:31 PM] Loaded config.json with 0 accessories and 2 platforms.
[11/21/2023, 11:17:31 PM] Loaded 0 cached accessories from cachedAccessories.
[11/21/2023, 11:17:31 PM] ---
[11/21/2023, 11:17:32 PM] Loaded plugin: homebridge-config-ui-x@4.52.3
[11/21/2023, 11:17:32 PM] Registering platform 'homebridge-config-ui-x.config'
[11/21/2023, 11:17:32 PM] ---
[11/21/2023, 11:17:32 PM] Loaded plugin: homebridge-yolink@1.4.0
[11/21/2023, 11:17:32 PM] Registering platform 'homebridge-yolink.YoLink'
[11/21/2023, 11:17:32 PM] ---
[11/21/2023, 11:17:32 PM] Loading 2 platforms...
[11/21/2023, 11:17:32 PM] [YoLink] Initializing YoLink platform...
[11/21/2023, 11:17:32 PM] [YoLink] Initializing child bridge 0E:C5:86:2B:C6:BB
Setup Payload:
X-HM://00241FSYRMKDU
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                                   
[11/21/2023, 11:17:32 PM] Homebridge v1.7.0 (HAP v0.11.1) (Homebridge 9CCD) is running on port 51924.
[11/21/2023, 11:17:32 PM] [YoLink] Launched child bridge with PID 1209
[11/21/2023, 11:17:32 PM] Registering platform 'homebridge-yolink.YoLink'
[11/21/2023, 11:17:32 PM] [YoLink] Loaded homebridge-yolink v1.4.0 child bridge successfully
[11/21/2023, 11:17:32 PM] Loaded 2 cached accessories from cachedAccessories.0EC5862BC6BB.
[11/21/2023, 11:17:32 PM] [YoLink] YoLink plugin for HomeBridge version 1.4.0 (c) 2022 David A. Kerr
Please report all bugs at https://github.com/dkerr64/homebridge-yolink/issues

[11/21/2023, 11:17:32 PM] [YoLink] [verbose] Loaded configuration:
{
  "name": "YoLink",
  "platform": "YoLink",
  "tokenURL": "https://api.yosmart.com/open/yolink/token",
  "apiURL": "https://api.yosmart.com/open/yolink/v2/api",
  "mqttPort": 8003,
  "userAccessId": "xxxxx",
  "secretKey": "xxxx",
  "refreshAfter": 14500,
  "verboseLog": true,
  "liteLog": true,
  "allDevices": true,
  "excludeTypes": [
    "Hub",
    "SpeakerHub"
  ],
  "enableExperimental": false,
  "devices": {},
  "includeTypes": [],
  "deviceTemperatures": false,
  "powerFailureSensorAs": "Outlet",
  "version": "1.4.0",
  "garageDoors": [],
  "checkNewDeviceInterval": 0
}
[11/21/2023, 11:17:32 PM] [YoLink] [verbose] YoLinkAPI.constructor
[11/21/2023, 11:17:32 PM] [YoLink] [verbose] Loading accessory from cache:Garage Motion Sensor
[11/21/2023, 11:17:32 PM] [YoLink] [verbose] Loading accessory from cache:Garden Motion Sensor
[11/21/2023, 11:17:32 PM] [YoLink] Login to YoLink API with credentials from config
[11/21/2023, 11:17:32 PM] [YoLink] [verbose] SENDING:
grant_type=client_credentials&client_id=xxxxxxxxxxA&client_secret=xxxxxxxx
[11/21/2023, 11:17:32 PM] Homebridge v1.7.0 (HAP v0.11.1) (YoLink) is running on port 32248.
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] RECEIVED:
{"access_token":"xxxxxxx","token_type":"bearer","expires_in":7200,"refresh_token":"xxxxxxx","scope":["create"]}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] SENDING:
{"time":1700608653479,"method":"Home.getGeneralInfo"}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] RECEIVED:
{"code":"000000","time":1700608653597,"msgid":1700608653597,"method":"Home.getGeneralInfo","desc":"Success","data":{"id":"xxxxxxx"}}
[11/21/2023, 11:17:33 PM] [YoLink] Starting interval timer to refresh accessToken every 6480 seconds
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] YoLinkAPI.getDeviceList
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] YoLinkAPI.getAccessToken
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] SENDING:
{"time":1700608653674,"method":"Home.getDeviceList"}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] RECEIVED:
{"code":"000000","time":1700608653807,"msgid":1700608653807,"method":"Home.getDeviceList","desc":"Success","data":{"devices":[{"deviceId":"xxxxxxxxxxx9d","deviceUDID":"xxxxxxxxxxxea05","name":"Garage Motion Sensor","token":"xxxxxxxxxxx707A","type":"MotionSensor","parentDeviceId":null,"modelName":"YS7805-EC"},{"deviceId":"xxxxxxxxxxx040","deviceUDID":"xxxxxxxxxxx0edf","name":"Garden Motion Sensor","token":"xxxxxxxxxxxBF03","type":"MotionSensor","parentDeviceId":null,"modelName":"YS7805-EC"},{"deviceId":"xxxxxxxxxxx69f","deviceUDID":"xxxxxxxxxxx4d5","name":"YoLink Hub","token":"xxxxxxxxxxx083F","type":"SpeakerHub","parentDeviceId":null,"modelName":"YS1604-EC"}]}}
[11/21/2023, 11:17:33 PM] [YoLink] YoLinkAPI.getDeviceList found 3 devices [lite]
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] {
  "deviceId": "xxxxxxxxxxx9d",
  "deviceUDID": "xxxxxxxxxxxea05",
  "name": "Garage Motion Sensor",
  "token": "xxxxxxxxxxx707A",
  "type": "MotionSensor",
  "parentDeviceId": null,
  "modelName": "YS7805-EC"
}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] Restoring accessory from cache: Garage Motion Sensor (xxxxxxxxxxx9d)
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] Data refresh timer for Garage Motion Sensor (xxxxxxxxxxx9d) fired
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] {
  "deviceId": "xxxxxxxxxxx040",
  "deviceUDID": "xxxxxxxxxxx0edf",
  "name": "Garden Motion Sensor",
  "token": "xxxxxxxxxxxBF03",
  "type": "MotionSensor",
  "parentDeviceId": null,
  "modelName": "YS7805-EC"
}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] Restoring accessory from cache: Garden Motion Sensor (xxxxxxxxxxx040)
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] Data refresh timer for Garden Motion Sensor (xxxxxxxxxxx040) fired
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] {
  "deviceId": "xxxxxxxxxxx69f",
  "deviceUDID": "xxxxxxxxxxx4d5",
  "name": "YoLink Hub",
  "token": "xxxxxxxxxxx083F",
  "type": "SpeakerHub",
  "parentDeviceId": null,
  "modelName": "YS1604-EC"
}
[11/21/2023, 11:17:33 PM] [YoLink] Not registering device YoLink Hub (xxxxxxxxxxx69f) as config 'hide=true'
[11/21/2023, 11:17:33 PM] [YoLink] Create MQTT client to connect to YoLink message service
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] MQTT options: {"clean":true,"username":"xxxxxxxxx","reconnectPeriod":2000}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:17:33 PM] [YoLink] YoLinkAPI.getDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) [lite]
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:17:33 PM] [YoLink] YoLinkAPI.getDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) [lite]
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] YoLinkAPI.getAccessToken
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] SENDING:
{"time":1700608653898,"method":"MotionSensor.getState","targetDevice":"xxxxxxxxxxx9d","token":"xxxxxxxxxxx707A"}
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] YoLinkAPI.getAccessToken
[11/21/2023, 11:17:33 PM] [YoLink] [verbose] SENDING:
{"time":1700608653898,"method":"MotionSensor.getState","targetDevice":"xxxxxxxxxxx040","token":"xxxxxxxxxxxBF03"}
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] RECEIVED:
{"code":"000000","time":1700608654026,"msgid":1700608654026,"method":"MotionSensor.getState","desc":"Success","data":{}}
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] Battery level for Garage Motion Sensor (xxxxxxxxxxx9d) is: 100%
[11/21/2023, 11:17:34 PM] [YoLink] Device offline or other error for Garage Motion Sensor (xxxxxxxxxxx9d)
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] Set data refresh timer for Garage Motion Sensor (xxxxxxxxxxx9d) to run in 14499 seconds
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] MQTT connect: subscribe to messages for 'yl-home/36cc7a54fc05441895566e2e3e927980/+/report'
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] RECEIVED:
{"code":"000000","time":1700608654348,"msgid":1700608654348,"method":"MotionSensor.getState","desc":"Success","data":{}}
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] Battery level for Garden Motion Sensor (xxxxxxxxxxx040) is: 100%
[11/21/2023, 11:17:34 PM] [YoLink] [verbose] Set data refresh timer for Garden Motion Sensor (xxxxxxxxxxx040) to run in 14499 seconds
[11/21/2023, 11:17:34 PM] [YoLink] Device offline or other error for Garden Motion Sensor (xxxxxxxxxxx040)
[11/21/2023, 11:17:34 PM] [YoLink] MQTT subscribed: yl-home/36cc7a54fc05441895566e2e3e927980/+/report
[11/21/2023, 11:22:33 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:22:33 PM] [YoLink] Device offline or other error for Garden Motion Sensor (xxxxxxxxxxx040)
[11/21/2023, 11:22:34 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:22:34 PM] [YoLink] [verbose] Battery level for Garden Motion Sensor (xxxxxxxxxxx040) is: 100%
[11/21/2023, 11:22:34 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:22:34 PM] [YoLink] Device offline or other error for Garage Motion Sensor (xxxxxxxxxxx9d)
[11/21/2023, 11:22:34 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:22:34 PM] [YoLink] Device offline or other error for Garden Motion Sensor (xxxxxxxxxxx040)
[11/21/2023, 11:23:01 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:23:01 PM] [YoLink] [verbose] Battery level for Garage Motion Sensor (xxxxxxxxxxx9d) is: 100%
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] Battery level for Garage Motion Sensor (xxxxxxxxxxx9d) is: 100%
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:24:31 PM] [YoLink] Device offline or other error for Garage Motion Sensor (xxxxxxxxxxx9d)
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] Battery level for Garden Motion Sensor (xxxxxxxxxxx040) is: 100%
[11/21/2023, 11:24:31 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:24:31 PM] [YoLink] Device offline or other error for Garden Motion Sensor (xxxxxxxxxxx040)
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] Battery level for Garage Motion Sensor (xxxxxxxxxxx9d) is: 100%
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] checkDeviceState for Garage Motion Sensor (xxxxxxxxxxx9d) (refresh after 14500 seconds)
[11/21/2023, 11:25:22 PM] [YoLink] Device offline or other error for Garage Motion Sensor (xxxxxxxxxxx9d)
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] Battery level for Garden Motion Sensor (xxxxxxxxxxx040) is: 100%
[11/21/2023, 11:25:22 PM] [YoLink] [verbose] checkDeviceState for Garden Motion Sensor (xxxxxxxxxxx040) (refresh after 14500 seconds)
[11/21/2023, 11:25:22 PM] [YoLink] Device offline or other error for Garden Motion Sensor (xxxxxxxxxxx040)

Plugin Config:

{
    "name": "YoLink",
    "platform": "YoLink",
    "tokenURL": "https://api.yosmart.com/open/yolink/token",
    "apiURL": "https://api.yosmart.com/open/yolink/v2/api",
    "mqttPort": 8003,
    "userAccessId": "xxxxxxxx",
    "secretKey": "xxxxxx",
    "refreshAfter": 14500,
    "verboseLog": true,
    "liteLog": true,
    "allDevices": true,
    "excludeTypes": [
        "Hub",
        "SpeakerHub"
    ],
    "enableExperimental": false,
    "_bridge": {
        "username": "0E:C5:86:2B:C6:BB",
        "port": 32248
    }
}

Screenshots:

Environment:

  • Plugin Version:homebridge-yolink v1.4.0
  • Homebridge Version: v1.7.0
  • Node.js Version: node-v20.9.0
  • NPM Version: 10.2.4
  • Operating System: MACOS
@r1chards r1chards added the question Further information is requested label Nov 21, 2023
@dkerr64
Copy link
Owner

dkerr64 commented Nov 22, 2023

This is a strange one....

[11/21/2023, 11:17:34 PM] [YoLink] [verbose] RECEIVED:
{"code":"000000","time":1700608654026,"msgid":1700608654026,"method":"MotionSensor.getState","desc":"Success","data":{}}

We are receiving a successful response, but I have never seen one where the data field is empty,{}
My message that device is offline is based on value in the data, so if it is empty I assume it is offline. However it is clearly not offline as we are receiving a valid response. So I can "fix" my code logic to not print that warning.

But...
Of more interest is whether any MQTT messages are received on motion. For my device I receive...

[11/21/2023, 7:59:29 PM] [YoLink] [verbose] MQTT message: yl-home/d3d51dfc169c4f7aa02b1bf5901a92db/abcdef0123456789/report
{"event":"MotionSensor.Alert","time":1700614768972,"msgid":"1700614768971","data":{"state":"alert","battery":4,"version":"050e","ledAlarm":false,"alertInterval":1,"nomotionDelay":1,"sensitivity":2,"loraInfo":{"netId":"010205","signal":-83,"gatewayId":"abcdef0123456789","gateways":1},"stateChangedAt":1700614768971},"deviceId":"abcdef0123456789"}

whenever there is motion. Are you seeing that whenever you trigger motion?

Thanks

@r1chards
Copy link
Author

Absolutely, no change in the logs when then motion is detected, just an nofication from the iOS app.

Are there any setting on the app for the motion sensor or the speaker hub that needed to enabled to push the alerts into the api?

thanks

Richard
IMG_2557
IMG_2558

@r1chards
Copy link
Author

r1chards commented Nov 22, 2023

Hi ya
I’ve just re-read the install instructions and it does mention… “The plugin registers as a MQTT client and subscribes to reports published by YoLink for real time alerts and status updates.”

Do I have to install something to register as a MQTT client?

Update: I’ve installed homebridge-mqtt and Mosquitto broker for macOS and it seems to be running, listening to port: 1883

Log says: [mqtt] connected (url = mqtt://127.0.0.1)

But still no updates in the logs when motion is detected.

thanks

Richard

@dkerr64
Copy link
Owner

dkerr64 commented Nov 23, 2023

You don't need to do anything for MQTT, the plugin registers automatically and that part is working, your log reports...

[11/21/2023, 11:17:34 PM] [YoLink] [verbose] MQTT connect: subscribe to messages for 'yl-home/36cc7a54fc05441895566e2e3e927980/+/report'
[11/21/2023, 11:17:34 PM] [YoLink] MQTT subscribed: yl-home/36cc7a54fc05441895566e2e3e927980/+/report

With that, and your log level, we should see receipt of MQTT messages whenever motion is triggered. But it seems like nothing is being received.

I'm still thinking if I should tolerate empty data field on responses to getState. It is very unusual.

@r1chards
Copy link
Author

Not sure if this will help, the setup mentioned above is directly with MacOS. I've also created today a version within my UTM app, Linux, Debian within Docker. This is up and working and says: "This plugin threw an error from the characteristic 'Motion Detected': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'state'). See https://homebridge.io/w/JtMGR for more info."

[11/23/2023, 1:42:36 PM] [YoLink] Login to YoLink API with credentials from config
[11/23/2023, 1:42:37 PM] Homebridge v1.7.0 (HAP v0.11.1) (YoLink) is running on port 57792.
[11/23/2023, 1:42:38 PM] [YoLink] Starting interval timer to refresh accessToken every 6480 seconds
[11/23/2023, 1:42:39 PM] [YoLink] Not registering device YoLink Hub (d88b4c160400a69f) as config 'hide=true'
[11/23/2023, 1:42:39 PM] [YoLink] Create MQTT client to connect to YoLink message service
[11/23/2023, 1:42:39 PM] [YoLink] MQTT subscribed: yl-home/36cc7a54fc05441895566e2e3e927980/+/report
[11/23/2023, 1:42:39 PM] [YoLink] Device offline or other error for Garden Motion Sensor (d88b4c010004f040)
[11/23/2023, 1:42:39 PM] [YoLink] Device offline or other error for Garage Motion Sensor (d88b4c010004f09d)
[11/23/2023, 1:43:28 PM] [homebridge-yolink] This plugin threw an error from the characteristic 'Motion Detected': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'state'). See https://homebridge.io/w/JtMGR for more info.
[11/23/2023, 1:43:28 PM] [homebridge-yolink] This plugin threw an error from the characteristic 'Motion Detected': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'state'). See https://homebridge.io/w/JtMGR for more info.
[11/23/2023, 1:43:28 PM] [YoLink] Device offline or other error for Garage Motion Sensor (d88b4c010004f09d)
[11/23/2023, 1:43:28 PM] [YoLink] Device offline or other error for Garden Motion Sensor (d88b4c010004f040)
[11/23/2023, 1:43:34 PM] [homebridge-yolink] This plugin threw an error from the characteristic 'Motion Detected': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'state'). See https://homebridge.io/w/JtMGR for more info.
[11/23/2023, 1:43:34 PM] [homebridge-yolink] This plugin threw an error from the characteristic 'Motion Detected': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'state'). See https://homebridge.io/w/JtMGR for more info.
[11/23/2023, 1:43:34 PM] [YoLink] Device offline or other error for Garden Motion Sensor (d88b4c010004f040)
[11/23/2023, 1:43:34 PM] [YoLink] Device offline or other error for Garage Motion Sensor (d88b4c010004f09d)

@dkerr64
Copy link
Owner

dkerr64 commented Nov 25, 2023

The errors are all related, that no data is coming back from the device is causing the cannot read properties of undefined error. I can suppress that error by checking if the variable is defined first, but that doesn't solve the problem. We need to get to the root cause.

The only thing I am noticing as different is that your motion detector is reporting modelName as YS7805-EC. When I look at my own logs, my motion detector is reporting that it is a YS7805-UC. But the only difference is the frequency they operate on (some countries may use different frequencies).

I will ask YoLink team on Discord and see if they have any ideas.

@dkerr64
Copy link
Owner

dkerr64 commented Nov 25, 2023

One other thought... What firmware does your motion detector have? Mine is at 050E. If the mobile app states that an update is available you could try updating.

@matrixd2
Copy link

@dkerr64 Model Name ends with EC not support for UAC and MQTT now, we are working on it

@r1chards
Copy link
Author

One other thought... What firmware does your motion detector have? Mine is at 050E. If the mobile app states that an update is available you could try updating.

Mine says it's the latest Firmware at 50A.

Again many thanks for looking into this.

@dkerr64
Copy link
Owner

dkerr64 commented Nov 25, 2023

@r1chards given the response from @matrixd2, your device is not going to work with this plugin until YoLink add support to their API for all devices that model name ends in -EC.

Nothing I can do, sorry.

@r1chards
Copy link
Author

OK thanks for trying.

Richard

@r1chards
Copy link
Author

r1chards commented Dec 4, 2023

This can be closed now, maybe just a note in the read documents that EC devices are not currently supported by their API.

Thanks
Richard

@r1chards r1chards closed this as completed Dec 4, 2023
@dkerr64
Copy link
Owner

dkerr64 commented Dec 5, 2023

Yes, I have updated the README to note that -EC devices are currently not supported.

@matrixd2
Copy link

matrixd2 commented Dec 5, 2023

Yes, I have updated the README to note that -EC devices are currently not supported.

api.yosmart.com for UC devices
api-eu.yosmart.com for EC devices

@dkerr64
Copy link
Owner

dkerr64 commented Dec 5, 2023

@matrixd2 so, if I point my requests at the 2nd URL then -EC devices will work?

Which leads to question... would you expect any environment with a mix of -UC and -EC devices (so I would have to handle connections to both at the same time), or could I assume that a user would have all of one or the other (so I only need to connect to the one service, and can configure which at initialization) ?

Thanks

@dkerr64
Copy link
Owner

dkerr64 commented Dec 5, 2023

@matrixd2 also, are -EC devices only sold in select regions/countries, like Europe? I'm just trying to think through how to document this in a manner a user would understand. Thanks.

@dkerr64 dkerr64 changed the title Motion Sensor - Device offline or other error Add support for YoLink -EC devices Dec 5, 2023
@dkerr64 dkerr64 reopened this Dec 5, 2023
@dkerr64 dkerr64 added enhancement New feature or request and removed question Further information is requested labels Dec 5, 2023
@matrixd2
Copy link

matrixd2 commented Dec 5, 2023

@matrixd2 also, are -EC devices only sold in select regions/countries, like Europe? I'm just trying to think through how to document this in a manner a user would understand. Thanks.

Yes, different countries/regions have different restrictions on radio communication.

@dkerr64
Copy link
Owner

dkerr64 commented Dec 5, 2023

@r1chards can you please try the URL suggested by @matrixd2. You can do this by updating your config so that....

  "tokenURL": "https://api-eu.yosmart.com/open/yolink/token",
  "apiURL": "https://api-eu.yosmart.com/open/yolink/v2/api",

You can do this in the plugin settings user interface or the config editor... save and then restart the plugin bridge.

I tested this myself and get the same symptoms that you see when using the other URL... the data field returns empty. That is because I have -UC devices.

So long as a user has all -EC or all -UC devices then the plugin support already exists... but I need to update the instructions in README.md to document the different servers.

Thank you.

@dkerr64
Copy link
Owner

dkerr64 commented Dec 10, 2023

Closing as this is believed to be working once user updates the API URL.

@dkerr64 dkerr64 closed this as completed Dec 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants