[ST Edge] Server-Sent Events

Has anyone ventured into Server-Sent Events (SSE) on Edge? I am looking to use an EventSource to get events from a device that implements SSE.

Hi, @blueyetisoftware, SSE it’s not included in the ST libraries yet.
The engineering team is working on that implementation, an example will be provided later on with the Edge Driver for Hue port (there’s no ETA yet).
Once I get an update, I’ll let you know.

Thanks. I have been digging around looking for it and trying to port something over from nginx. Glad they are working on it. That would be a great addition for Edge.

1 Like

I just caught that you mentioned Hue. I am also working on a Hue driver. Is the ST team releasing one for Edge? Do you know what it will include for features? I’d be interested in collaborating with them if they are interested. I have a working driver other than SSE missing. Please let me know.

Yep, @doug.stephen has been working on that driver recently and it is under internal review now but will be making its way into the beta set and part of the open source repo in time and will include the pieces built out to support SSE used for supporting that portion of the V2 Bridge API. The initial drop for hub-connected will provide feature parity with what is provided today (support for lights only) though I believe that is likely to expand in the future (the SSE Stream should help to support sensors).

The driver we will be publishing will be dropping support for older (deprecated/unsupported by Philips) bridges so a community driver to support that is definitely something we would love to see to support older bridges or other pieces of software that present only the legacy bridge APIs to the world.

I have an edge driver that supports rooms, zones and scenes so it sounds like they may fit together. My driver is also on the V2 Hue API. The only downside to what I have now is that I have to do some amount of polling without the SSE support. With SSE, all of the above would essentially be feature complete. If all of the actions are taken from inside ST, the polling isn’t needed either.

The next addition to my driver was going to be lights/sensors, so it sounds like a good time to hold off on those.

I would be happy to connect offline to see if we can bring these together.

@posborne / @doug.stephen Any updates on your Hue LAN driver? I have scenes / rooms / zones / motion detectors all ready to go. Just need to connect SSE to make them sync to changes made outside ST. If there is a code base for this, even if in dev, I could take this driver to beta and flesh out the Hue support.

I also plan to add button support once SSE is available to allow Hue integrated switches and buttons to be used in ST for automations.

@nayelyz or @robert.masen Do you happen to have any insight into the SSE framework discussed above. I know my Hue driver may be a “competitor” for this work, but it would add support for more devices (buttons, motion sensors, etc.).

2 Likes

Sorry about the late response
I’m checking with the team if there’s an update about this. I’ll get back to you as soon as possible.

1 Like

Any updates yet on SSE? I have a bunch of users that are excited for the Hue driver to go live. Alpha testing is going pretty well so far.

Hi!
The team mentioned the release is still pending as they’re working on some details of the integration, there’s no ETA yet.
Once we know more about it, we’ll let you know.
Also, you can be pending on the official drivers’ repository to see when the driver is merged:

I have a solid integration with the Hue API. Please let them know I am willing to collaborate with rooms, zones, motion sensors and buttons. I just need their SSE implementation for the comms

@nayelyz I have been using the SSE implementation recently released by the team and have found a few bugs in the implementation. Do they have a mechanism for reporting bugs in that code? It doesn’t look like anyone monitors the issues list in Github. These bugs will definitely crop up once their Hue driver goes fully live.

You can create an issue in the repo (it’s helpful because you can make references to the code) and share the link here in the Community tagging us. This way, we’ll filter those that are actually an issue and that there’s someone to help us follow up during the investigation.