Edgebridge

I’m creating a new, dedicated topic for my Edgebridge application, which was originally discussed in this topic:

Edgebridge is an application you run on an always-on computer on your LAN that provides two useful functions:

  1. Gives you the ability to send HTTP(s) messages to endpoints outside your LAN (similar to a Proxy)

    • Normally, Edge drivers can only communicate with endpoints on your LAN
    • Initiate these requests from either my webrequestor (github | topic) driver or from a custom Edge driver
    • Use cases: need to retrieve info from any internet endpoint that provides a RESTful API, e.g. SmartThings API, weather data, etc.
  2. Provides a simple mechanism for LAN-based applications and devices to integrate with Edge drivers.

    • Use cases: motion notification from external sources such as Blue Iris, device monitors such as phone presence trackers or pingers, generic triggers from applications or devices
    • Edge device drivers are available for easy integration for motion, presence, and basic triggers

Edgebridge supports both http and https request forwarding.

Please see my readme file on github for complete details.


Today I’m announcing an update to edgebridge with the following new features:

  • standardized logging output with control of console vs file logging
  • configurable timeout for forwarded requests
  • forwarding of request body data now supported in POST and GET requests
  • Optional SmartThings Edge device to monitor edgebridge online/offline status

If you are a current user of edgebridge, you can download the new files from the github repository when you are ready. Be sure to update your edgebridge.cfg file, as it can contain new options.

Please note that the updated edgebridge application is required to use the optional SmartThings edgebridge online/offline monitoring device.

I have also added instructions to the readme file for setting up autoloading at boot time on a Raspberry Pi.

8 Likes

@brbeaird is creating something similar for his MyQ integration. It looks like his will be purpose built, but there may be some overlap. I saw it in this thread [RELEASE] MyQ Lite Door and Lamp Control (for Liftmaster/Chamberlain) - #2720 by brbeaird

2 Likes

Is a version that could run on an Android phone or tablet possible? Many of us Android devices that are aways running and could serve as a bridge.

I’m sure it’s possible, but outside my know-zone right now.

2 Likes

Pydroid 3?

They have Python library on Android? That would interesting. I have iOS so can’t experiment.

2 Likes

Yeah I saw this early on and considered it, but I really don’t want users to have to enter in IP address, so I ended up using SSDP for discovery, which then auto handles the IP.

I definitely share the sentiment of feeling like there should be a way to consolidate this since there is going to be a ton of overlap in LAN drivers that are all basically doing the same thing, but I’m just not sure things are set up well to really do that cleanly.

2 Likes

I’ve heard that the ST team is planning to release SSDP in the driver SDK at some point, but you can’t really wait on it. May allow some cleanup down the road.

works great and it starts when my pi reboots ,the edgebridge monitor works well
thanks very much for all the hard work ,
much apreciated
martin

1 Like

FYI, my UPnP driver and library provides full UPnP specification support on Lua (including SSDP) for anyone wanting to write a driver that uses it. It certainly is an option for developers, but not a solution for end-users.

Edgebridge provides a much simpler solution for anyone that can send an http request to integrate with SmartThings. There are lots of applications that provide this option (Blue Iris, for example), so this fits the need of non-programmers.

Another alternative, of course is MQTT, which I have available as well.

3 Likes