Coder Social home page Coder Social logo

allow2 / allow2automate Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 2.0 25.31 MB

Example of using Allow2 to control access and quotas for electricity via home automation devices

Home Page: https://github.com/Allow2/Allow2node

License: Other

JavaScript 86.41% Shell 12.05% HTML 1.48% CSS 0.06%
parental controls control quota freedom children child parental-control parent wemo-devices

allow2automate's Introduction

Allow2Automate

This is a userspace app for Mac OSX, Linux and Windows that can be deployed to all relevant App Stores for these platforms.

[https://apps.apple.com/au/app/allow2automate/id1369546793?mt=12](Download for Mac)

The intention is:

  1. Provide a base, self contained Electron User Space App that:
    • Provides a fully self-contained app to run in user space with no elevated privileges.
    • Manages an overall user connection to the API back end (rest based)
    • Allows the user to see and monitor Wemo, Homekit and other devices on the local network
    • Allows to "connect" (pair) devices selectively to (and remove them from) the currently active Allow2 account
    • May allow some other basic functions in future
  2. Provide a separate capability to detect (and authenticate against?) a separate elevated daemon service that runs on system boot.
  3. Includes the ability to automatically install the elevated daemon service where the relevant App Store allows the binary to provide that capability.
  4. Includes a reference to how to download and install the separate daemon installer for those App Stores that do not permit the background process to be included in the installer (Yes Apple, I am looking at you!).

The base operation is intended to show a "Network Wide" view of all detected automation devices, and provide the ability to link/authenticate with them directly, with bridges and otherwise, and de-duplicate any that may come through separate channels (ie: direct wemo connections and the same device via a homekit bridge).

Screenshots

Allow2Automate on OSX

Development notes

The following provides more detail on the structure and intent of the application and components.

Installation

This is a standard electron app, to get started simply clone the repo and run npm install.

git clone https://github.com/Allow2/Allow2Automate.git
cd Allow2Automate
npm install

To run in dev mode (launch the user space app with hot-loader):

npm run develop

Deployment

To build for all platforms:

npm run pack

or for a specific platform:

Mac App Store

npm run pack:mac
./sign.sh

Then upload with Application Loader

Windows App Store

NOTE: cannot currently build on Mac without using a Paid pro version of Parallel. So need to do that, or build on a VM

npm run pack:win

Then drag into https://developer.microsoft.com/

Linux Snap

npm run pack:linux
snapcraft push dist/Allow2Automate_1.1.0_amd64.snap

Notes

For installation of the daemon helper: https://www.npmjs.com/package/electron-sudo

allow2automate's People

Contributors

allow2ceo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

allow2automate's Issues

Switch to Windows/Mac/Linux installer

is nsm the best option?

Should also handlee code signing and be able to install the daemon and the user space app.

Ideally we should have an installation wizard? Then the user can select some installation options?

Add an electron user interface to run in user space

And provide elevated access to the daemon for admin users

The intention is the daemon should run in the service space and not be able to be touched by non-privileged users. There should be an installer which installs the daemon and the user space app. Then the userspace app communicates with the daemon with an auth token specific for the platform to authorise access to control the daemon.

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.