Automated pushing of Apps and Drivers to HE from VSC

Continuing the discussion from Offline editing of apps/device drivers:

After having been brought up by @loghound I mentioned the Python classes I have written to handle pushing Apps and Drivers to HE from VSC. I wrote this code for my own use and as such it doesn't have any documentation. It will probably also need some additional changes to be easier to use by others as well as be moved to a separate repo. loghound is working on writing some simple instructions on how to use this and if more devs are interested maybe this could become a more full-fledged dev toolkit for HE.
There is still a very glaring gap in this: there is no Unit test functionality. This being a hobby I haven't really prioritized this, but it really should be done some day.

Main features:

  • Checks for and keeps a logged in session with the hub.
  • If a logged in session gets to be stale, it logs in again.
  • Only sends the code for an app or driver if the checksum has changed from the last successful upload to the hub.
  • Support for multiple hubs (different sets of apps/drivers per hub)
  • Separate checksum and app/driver id per hub.
  • Separate checksum per github branch
  • Can re-use code to insert into multiple Apps/drivers
  • Generate App and driver lists as well as Hubitat Package manager manifests.
  • + a bunch more I forgot I added

Current code can be found here:

3 Likes

Wiki post