[RELEASE - BETA] - "YoLink™ Device Service" app and drivers to connect Hubitat™ to YoLink™ devices

The updated drivers for the Finger and Door Sensor are available via HPM.

  1. Install the updates via HPM
  2. Open the Finger device and do an "Unbind"
  3. Perform the bind again

The log should show the bind occurring in the Finger and Door Sensor:
dev:(finger) 2023-10-10 02:46:51.502 PM info
Bound to 'Garage Door Sensor', DNI=yolink_DoorSensor_x)

dev:(doorsensor) 2023-10-10 02:46:51.497 PM info
Bound to 'YoLink Finger', DNI=yolink_Finger_x

I would suggest dedicating the C8 Hub for the YoLink devices and keeping it out of the Hubitat mesh.

Frankly, I don't see any great advantage of putting the hubs in a mesh. It seems like just a lot more network traffic. Also, inter-Hub updates - as I understand it - are not instantaneous (2 mins by default). There are a lot of caveats on its usage. I see the latest C8 firmware has an update to it because of mesh restart issues.

But I'm definitely no Hubitat expert, In fact, the funny thing is that supporting all of these devices just grew from me wanting to figure out how to use a couple of YoLink temperature sensors in my refrigerators and freezers. :rofl:

1 Like

I use the mesh because of the amount of devices I have and to distribute the load, there's no delay when I use anything, but then again I don't have an ordinary home network. I would not advise any home user my setup, everything works great, but I do have to do adjustments sometimes as I'm always making changes.

Thanks for the update, I will do this now on the first hub. The second hub is stable after 24 hours, so the disconnects I had were related to the Internet Outage. We can assume that everything from first hub was hub load, all the unifi devices, and Yolink was a bit too much for it to handle.

I love the Yolink for the fridges and freezers too! Tracking 8 various Freezers and Fridges in my house and it's solid. Thanks again Steve for making this integration!

Is there anyway to change the name of the outlets in the multi-outlet. I am using the outdoor outlet and have changed the name of one in the Yolink app but it doesn't reflect in Hubitat nor does there appear to be a way to rename them as they don't display as child devices. Thanks.

The outlet names from the YoLink app are not sent to the Device Service so they can't be changed on Hubitat that way.

You can change the names through the Outdoor plug device on the Hubitat:

  1. Open the Devices on Hubitat and click on the Outdoor Plug Device:

  2. Scroll down until you locate the Component Devices, i.e., the outlets, and click on the one you want to rename:

  3. Scroll down to the Device Label:

  4. Change the Device Label and then click the "Save Device" button:

  5. Scroll to the top of the Device and click on "Parent Device":

  6. The Device should now show the new name:

Alternatively, you can click on the drop-down arrow on the device:

Then click on the outlet device to access it.

Awesome - Thanks.

Quick question. With temp sensors. In the IOS app it shows that polling is 10 minutes.

For the YoLink Hubitat app it says polling is 5 mins.

Will the Hubitat app update the temp every 5 minutes?

If not, if I made a rule that polled the temp device in Hubitat every 5 minutes would this go to the device and get the temp every 5 minutes?

Basically can I get temp sensors to poll every 5 minutes? Thanks.

Reducing the YoLink Device Service polling interval doesn't gain you anything in regards to the temperature sensors and most devices in general. During the Poll, the Service is just reading the device's last reported values from the YoLink cloud servers, not the actual device. The devices automatically update the cloud servers via the YoLink Hub, which in turn sends a notification to my service which updates the Hubitat device.

Most battery operated devices have their own predefined update interval and/or parameters as to when it will update the cloud. This prolongs its battery life. In the case of the temperature sensors it seems that a change of about 0.5°F causes an update.

During my early app development, I noticed that there were some types of devices that were updating the YoLink cloud, but weren't always sending out the notification. The polling catches those updates for which no notification was sent and also determines whether or not the device is still online.

I don't know if the lack of certain notifications is still an issue as YoLink is constantly improving their services and device firmware. I haven't heard of anyone not being satisfied with the 5 minute default and some have actually increase it.

Hi @SteveBarcus,
While gathering metrics from the hub, I noticed that the YoLink Manipulator device I have is by far the most time consuming device I have

Alone, it uses up 7% of all of the busy time, with an average call time of over 1 second per event. Yet, this is a device that does nothing unless it is actionated.

Do you know why it requires this much time to process each event ?

I just added a few devices to my yolink hub. I ran through the setup again in hubitat app and checked off the new device but they don't seem to show under devices in hubitat

Each time a Manipulator device is polled it reports back more information on its status then the Leak Sensors do. This requires more processing.

The Manipulator driver handles a lot more work than the Leak Sensor driver in response to changes via the YoLink app. For example, any time you make a change to a schedule, the driver is notified and then it must make a call to the YoLink cloud to get the new schedule.

You can display the Manipulator device on the Hubitat and then use the "Events" button to see what is driving the work. My Manipulator's signal strength seems to be very variable vs the leak sensors which causes additional work to constantly update the values. Also, look for any other overhead events like reporting events to dashboards.

Lastly, you can increase the polling time in the Device Service app to poll slower.

Try this:

  1. Run the YoLink Device Service app again from start to finish without changing anything.
  2. Open the Hubitat log.
  3. Select "Past logs".
  4. Filter on "YoLink Device Service".
  5. Look for any errors.

Thanks Steve I should have done that from the beginning. I needed to install the driver for the water sensor. One thing I didn't see was the yolink valve. Is that something you could add?

YoLink calls it a "Manipulator", that's the driver you need.