Code Monkey home page Code Monkey logo

porch_light's Introduction

porch_light

CodeQL GitHub

Intro

This guide assumes you own a Hubitat Elevation home automation controller.

If you are interested in purchasing one, you can purchase a unit from the manufactures website at hubitat.com or from Amazon.com

How to use

STEP 1:

  • Setup env file
cp .env.example .env
  • Fill in API keys in the .env file
    • See Maker API Documentation for how to add the MakerAPI application and to generate new API keys
    • If you are using the cloud API endpoint for access, you will ALSO need to include the Cloud API key as well

STEP 2:

  • You will need to deploy the application on a Linux VM with Docker installed
  • The easiest thing to do is to copy your .env file and let Docker Compose handle the rest
  • Just make sure to remove it after you've deployed, so you don't leave your API keys lying around :-)
  • Having SSH keys setup will make the deployment easier
  • You can also just copy the whole repo over manually and run the below docker commands
# You can run this from the repo root, just fill in your VM name
rsync -av --filter=':- .gitignore' . root@YOUR_VM:/pl_dev/
rsync .env root@YOUR_VM:/pl_dev/.env
ssh root@YOUR_VM 'cd /pl_dev/; docker-compose build; docker-compose up -d;' # Setup Env on remote box
rsync -av --delete --filter=':- .gitignore' . root@YOUR_VM:/pl_dev/

STEP 3:

  • You will need to setup a Rule Machine action on the Hubitat itself https://docs2.hubitat.com/en/apps/rule-machine
    • This action should do a GET request to the HTTP API Server running on Docker
    • You will want to GET to the /start endpoint img.png

STEP 4:

  • Profit!
  • You now have a color changing light bulb based on image keywords! img.png

<3 Lazydocker

Open Issues

GitHub issues GitHub pull requests

See https://github.com/Jelloeater/porch_light/issues

Dev Setup

Install Go-Task --> https://taskfile.dev/installation/

task setup
task docker_build_and_run

Testing

task test

porch_light's People

Contributors

jelloeater avatar

porch_light's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.