Code Monkey home page Code Monkey logo

hubitat's Introduction

Hubitat stuff

This repository contains the local drivers and apps that are currently loaded onto my Hubitat, along with a script to interact with the Hubitat. Some of the apps and drivers are my own, some are from other sources, and a few are ones from other sources that I cleaned up and/or modified.

WeMo support

This repo contains an application and drivers supporting several WeMo devices:

  • Dimmer
  • Insight Switch
  • Switch
  • Motion
  • Maker (still in development)

To use the WeMo drivers:

  1. Add apps/jason0x43-wemo_connect.groovy to Apps Code
  2. Add all of the drivers/jason0x43-wemo_*.groovy files (or at least the ones for your devices) to Drivers Code
  3. In Apps, click Add User App and select WeMo Connect
  4. In the Device Discovery page, wait for the app to detect any WeMo devices on your network. This can take anywhere from a few seconds to a couple of minutes.
  5. Select the WeMo devices you want to use with Hubitat, and click the Done button at the bottom of the page.

After clicking Done, new Hubitat devices will be created for each of the selected WeMo devices. By default their labels will be the same as their WeMo names, and their types will start with Wemo.

Nest Integration

This repo contains an integration app and driver to control Nest thermostats. See the Nest Integration app source for setup instructions.

hubitat script

The hubitat application is TypeScript application that allows some degree of interaction with the Hubitat through the command line. The hubitat script in the root of this repo is a small bash script that will run the hubitat application, rebuilding it as necessary.

At the moment, hubitat supports 4 commands:

  • list - List apps, devices, or drivers
  • log - Log messages emitted by apps or devices
  • pull - Pull code from the hubitat into the local repo
  • push - Push code from the local repo to the hubitat

License

Unless otherwise stated in a given file, everything in here uses the The Unlicense.

hubitat's People

Contributors

dependabot[bot] avatar jason0x43 avatar kris2k2 avatar samstreak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hubitat's Issues

issue when copying driver into hubitat

I am using hubitat 2.2.8.156 (hardware version c-5).

When I create a new driver and copy the code into hubitat and go to save, I get this error:

×No signature of method: Script1.definition() is applicable for argument types: (java.util.LinkedHashMap) values: [[name:WeMo Connect, namespace:jason0x43, author:Jason Cheatham, ...]] on line 25

Feature Request: View current state

Just got this working. It appears that I can see whether the fan is auto or not, and I can see that the thermostat is in heat-cool mode, but I don't see that this exposes the current state (heating, cooling, fanOnly, etc.).

The rules that I'm trying to port from WebCore to Rule Manager tie the state and speed of my ceiling fan to the thermostat's state. Am I missing where this is exposed, or is this a request for new data?

Feature: Import url updating

Now that the hub keeps track of the import url it'd be sweet if the manifest had the importUrl be auto discovered from the hub, and then a new command to reimport all could be implemented.

I also like to setup the app to automatically import all app/drivers so it's more of a backup of what's in my hub at the moment. You can see what I changed to make that happen in my DTTerastar/hubitat. It'd be nice if we could just make the hubitat command a npm package that could be installed globally and keep it seperate from the actual app/driver folder.

New Wemo Devices not detected (Mini & Outdoor Smart Plug)

I've had your code working great for my older Wemo plugs. Just got new mini plug and their latest outdoor smart plug. Neither are detected.

I only have the Switch driver installed.

If this helps, I also have a Flic Hub and it also does not detect these new devices. Perhaps they changed how they respond?

Request: Option to manually add a child device

I'm not sure why you've recently removed the manual IP change option that I worked with you on last year, but with that removal I will need some way to add devices that are not on my ethernet LAN where my Hubitat sits. My WLAN is in a different subnet so the SSDP requests aren't getting forwarded. I'd like to be able to add a device manually since I can no longer just update the IP (drop a temporary AP in the main VLAN to get the child device registered and then move it to the main WLAN VLAN and update it's IP)

Wemo miniPlug

When another controller (Alexa) Switches on/off the mini, Hubitat does not see the change.
I also have Caseta and when Alexa Switches it on/off I can see the effect in Hubitat. What am I missing?

Wemo Wrong logger method

Thanks for making these apps/device handlers!

Somehow I lost connection with a Wemo device and your code tried to throw the error but failed.

Line 239: info.warn("Error parsing child address: $t");
should be log.warn(...)

Thermostats not in devices

Disregard had to complete additional app setup. Devices found.
Now, how to get them in the dashboard for control...

Thanks

Hubitat script should handle external scripts

The hubitat script should provide some basic handling of external apps and drivers (ones I'm using as-is). For example, if I'm using the homebridge app from https://github.com/tonesto7/homebridge-hubitat-tonesto7, I would like to be able to run a habitat command to check for updates.

A simple way to handle this, for now at least, would be to expand the hubitat manifest format to support external scripts. Currently, app and driver entries look like:

{
  "filename": "namespace-myapp.groovy",
  "version": 4,
  "hash": "abcdef123459..."
}

The entry could be modified to support GitHub repo paths (assuming everything is on GH):

{
  "filename": "org/repo/path/to/myapp.groovy",
  "version": 4,
  "hash": "abcdef123459..."
}

The script would determine from the filename that the file was stored in an external repo vs locally. Pulling would no longer save these files anywhere; instead, hubitat would emit a warning if an externally managed file had been updated on the hubitat. Pushing would push from a local clone of the repo. The script file wouldn't be saved in this repo.

Wemo - Dimmer not found.

WeMo Connect App installed.

  1. Wemo Dimmer Driver installed.
  2. Wemo Insight Switch Driver installed.
  3. Wemo Maker Driver installed
  4. Wemo Motion Driver installed.
  5. Wemo Switch Driver installed.

21 out of 22 switches found and working fine.
App cannot find the last Wemo switch, the dimmer.

Please advise on what to do next.

Thank you.

Error with Wemo?

I just tried to put this in the driver, and then when saving, I got this error:

No signature of method: Script1.definition() is applicable for argument types: (java.util.LinkedHashMap) values: [[name:WeMo Connect, namespace:jason0x43, author:Jason Cheatham, ...]]

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.