HomeKitLink New Version 0.6.61 Indigo 2023.2 Release

A plugin to integration Indigo devices into HomeKit (and Siri)
User avatar
GlennNZ
Posts: 1629
Joined: Sun Dec 07, 2014 3:33 pm
Location: Central Coast, Australia

HomeKitLink New Version 0.6.61 Indigo 2023.2 Release

Post by GlennNZ »

Happy New Year!

0.6.61 Release

https://www.indigodomo.com/pluginstore/270/

New Release for Indigo 2023.2 API 3.4 Only. (Keep up with the times people...)

Downgrade orjson to 3.8.10 to maintain compatiblity with older OSX versions and not require rust for compiling.

Notably Changes:

No need for xattr commands after install. Automatically manages quarantine aspects
No need for terminal install of any dependencies.
Create, and use pypi library homekitlink_ffmpeg for downloading binaries of ffmpeg for camera streams
(https://pypi.org/project/homekitlink-ffmpeg/)
Move to using orjson which is substantially faster (admittedly may not notice difference)

Xcode command line tools

You may need xcode command line tools installed to 'build wheels' for some libraries used here but also across other plugins.

This is a one time install. Once installed - binaries sit there doing nothing until needed. e.g no overhead, takes up a small amount of HDD space and Free

To install, or check installed

Code: Select all

xcode-select --install
This should install the command line tools only, or if already installed give messaging like

Code: Select all

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
See here for more Info
viewtopic.php?f=366&t=27750

If you have errors, realise the above and install command line tools.
Ideally - would re-install the plugin by redownloading and double clicking - this will reset Packages to nil and redownload them
(alternatively can delete the plugins Packages directory and reload)


Changes:

1. Apple TV 17.2 OS Changes

AppleTV 17.2 now includes a Home shortcut button, power and then left twice. This opens all Camera streams, including the first Tab which displays all cameras. You can left-right to select individual cameras.
The implementation here is new as it opens a Live Stream for every camera, all at once.
This differs from iPad/iOS which shows snapshots and live stream one at a time.

This update supports this multiple (tested up to 21 streams at once) and also fixes some stream related issues particularly related to this appleTV

Any device notification - motion if enabled, and Doorbell - opens these streams on AppleTV when in use and enabled.

Updates for BlueIris and Security Spy Cameras and OS17.2,

2. Camera Handling Updates

Refactor ffmpeg and camera handling - BlueIris working well, hard to test SecuritySpy, reports all good.
Use tcp for rtp_transport avoids error and slight slowdown from ffmpeg
Speed up streams and checking whether needed, or should already be closed.

3. Add new Camera Settings:

These are within Plugin Config Menu. Above Advanced Settings.

Image

Camera Max Refresh Time:

The Maximum frequency for which images will be pulled from Camaers.

This enables setting of Maximum Image refresh time per camera. Home App can request whatever it likes but if camera/Mac can't handle request gets a long que of never able to be filled images.
Defaults to 30 seconds, but can be as low as like.
Lower numbers may impact CPU usage and BI/SS System CPU usage, as this is the frequency

Passive Camara Update Image Time

This needs a shortened name!
This refers to what timeframe HKLS (the Plugin) will let pass before passively updated the stored images.

Remembering that we need, and use a image buffer so this can be served to Home immediately when requested. At plugin startup this is the default camera image.
If the Home app is not opened for hours or days, the initial image seen before updated will be very old. (day/night etc.)

This setting sets a limit as to how often HKLS will update these stored images when Home app is NOT requesting an image.
e.g
1 hour - so oldest image seen when reopening app after sometime will be an hour old.
& Every hour in background Plugin will pull Camera images and update the stored image so this is then used.

Width setting, refers to the Width of the image requested.


4. Add Support for BlueIris Camera Group Streams

Update BlueIris Plugin to latest >1.2.5 to enable. (https://www.indigodomo.com/pluginstore/149/)
This updates BlueIris plugin to create (with plugin Configuration menu generate Cameras button) BlueIris Camera Groups.

BlueIris allows you to group 1-any cameras together into multiple groups. eg. frontdoor, outside, inside, admin cameras etc.

This update to both plugins allows these Groups to be seperate Homekit cameras. eg. can group 2 cameras together and see stream live.

Also adds:
BlueIris Camera Cycle - which shows either all cameras, or current detected motion camera(s) as a single updating stream.
(This lacks audio)

& Last, but by not means least:

5. Adds Action Group for Notification to HomeKit Devices.

Currently: Camera DoorBell and Camera Motion (False or True) notifications

Enables DoorBell Notification as a Action Group for all Cameras. Turns on Doorbell switch as requeted.
&
Motion enable/disable for all Cameras.

Image

Allows Setting Motion Detected True or False to every BlueIris and SecuritySpy Camera.

It appears Home does not default back to False with Motion and needs to be manually set.
Enables action Group to trigger Motion Detection within any Camera. For Motion Notifications this needs to be enabled within Home settings for each Camera = "Activity Notifications: ON"
Allows use of DeepQuest/CodeProject AI or multiple triggers to decide whether wish to be notified regarding Motion, or event.,

Adds DoorBell Notifications for any Camera.
Allows manual Action Group Doorbell press - notification in iphones/AppleTV/Watch click to open stream.
Doorbell is activation only, motion is False or True, with notification occuring when goes from False-->True
To support, adds (de)selection item for BlueIris cameras to enable or disable BlueIris Plugin motion detection.
Defaults to True which is current. But if wish to use action Groups for motion notification would suggest republishing camera to Home app with Motion Detection set to False.

Potential to add notification via Action group for other supported HomeKit devices - but does seem a limited number of devices that support notifications currently.

Other Fixes:
Fix for long standing verification Plugin Config incorrect entry checking
Remove Debug line if Debug2 not selected.
Add Debug 11 For Debugging Action Groups :P

Other changes from last Release:

Camera Streams:
Remove audio from stream if not requested, may have lead to stream failure when trying to publish
Show ffpmeg logging menu item details
Fixes for bugs introduced with 0.,6.47 with stream closing/killing/logging ffmpeg output
Adds a async_ffmpeg_watcher running every 5 seconds checking stream up if not closes appropriate processes, including itself.
Fix for ffmpeg logging bug introduced as check for audio lacking. (bytes vs strings difference)
Re-add stdin for ffmpeg to allow controls

Further info for Blue Iris users, regarding BI Web Server options, to get best homekit camera stream

Fine tuning Blue Iris Web Server settings
Home App requests a bitrate of 802kps when AppleTV or when ipad streams requested. 299kps when on mobile networks.

Few pointers:

HomekitLink uses Stream2 from BlueIris Web Settings:
(This is from Web Server, Advanced, Encoder Profiles, Streaming 2 : Configure)

Below settings eeems ideal (but if improvements please post)

Image

Rate Control
Limit bitrate (best for streaming)

When unselected/Disabled - appears to give best image when local streaming (almost perfect). But Home app fails to start the stream when low bit rate request when on mobile networks (annoyingly)
Set to 802 kps gives a reasonable image - however it appears that any conversion of stream makes it compatible with Home app - here I have set it to 2600kps. Higher may improve further, and works at both 802 and 299 kps Home requests.

Return to “HomeKitLink Siri”