npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

myqcontroller

v1.1.3

Published

MyQ integration for SmartThings

Downloads

1

Readme

MyQController

SmartThings integration for MyQ Garage Doors and Switches Based on ady642/HomeCloudHub

Installation

1. Install the SmartApp

  1. Go to your SmartThings IDE
  2. Go to My SmartApps link
  3. Click on Settings button
  4. Click Add new repository
  5. Enter owner aromka, name MyQController, branch master.
  6. Click Save
  7. Click on the Update from Repo button
  8. Select the MyQController (master) repository
  9. Check the application, check Publish, and click Execute Update

2. Install Device Handlers

  1. Go to My Device Handlers
  2. Click on Update from Repo button and select MyQController (master)
  3. Select devices that you want to install (Garage Door, Switch)
  4. check Publish, and click Execute Update

3. Installing Local Server

Prerequisites: You must have node and npm installed on your system.

  1. Run git clone https://github.com/aromka/myqcontroller.git from directory where you want the server installed
  2. Run npm install
  3. Find out the IP and Port of your SmartThings hub
    • either from your router,
    • or go to My Hubs in SmartThings IDE and look for localIP and localSrvPortTCP
  4. Copy server/config/config.json.example to server/config/config.json
  5. Open server/config/config.json file and set ip and port variables
  6. Save and close config file

4. Running and Using SmartThings App

  1. Run the server node server from myqcontroller directory

  2. Open SmartThings app

  3. Go to Marketplace -> SmartApps tab

  4. Scroll down and go to MyApps

  5. Select MyQ Controller

  6. Enter the IP of your local server (This should be pc/mac that's running node server. You can find this out by going to Network Preferences, usually it's something like 192.168.0.5. If you have firewall enabled, make sure to open port 42457)

  7. Enter your MyQ username and password (Your credentials are stored in your SmartThings account, and never used or shared outside of this SmartApp)

  8. Press Next

  9. If you entered everything correctly, you should see success confirmation message

  10. Press Done

  11. Your devices should appear in My Home -> Things

  12. You should also see all the devices that were found, as well as any commands sent in your console running the server

Raspberry Pi setup

Installing on a fresh copy of Raspbian NOOB on Raspberry Pi 3

You can either do this through Raspberry Pi's console, or ssh to it from your mac / pc.

If you want to ssh and run the commands from your mac, the default "Raspbian" OS will automatically broadcast its presence on your network under the mDNS name raspberrypi. If you are using Mac or Linux, you can reach your Pi easily:

ssh [email protected]

The default username for Raspbian is pi and the password is raspberry.

Once you login, update the system and install npm:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get npm

Optionally create a folder where you want to store MyQController app

mkdir ~/Apps
cd ~/Apps
git clone https://github.com/aromka/myqcontroller.git
cd myqcontroller && npm install

Update config.json file

cd ~/Apps/myqcontroller/server/config
cp config.json.example config.json
nano config.json

And set your SmartThings Hub's IP and port. Now run the server. Find out your Raspberry Pi's IP address on your local network (you will need to set it in the app)

hostname -I

Run the server

node server

And update the IP in MyQ Controller SmartApp in the SmartThings app.

Running the server on the background / after bootup

You can add a command to your /etc/rc.local

sudo nano /etc/rc.local

and add the following content right before exit 0

exec 2> /tmp/rc.local.log      # send stderr from rc.local to a log file
exec 1>&2                      # send stdout to the same log file
set -x                         # tell sh to display commands before execution

node /home/pi/Apps/myqcontroller/server &

This will run the MyQController server after raspberry pi boots up, and will log the output to /tmp/rc.local.log file.

Restart the system

sudo reboot

You can tail the logs to make sure everything works as expected

tail -f /tmp/rc.local.log 

Known issues

  • When you PC / Mac restarts when running a node server, you might get a different IP address, so app settings need to be update to assign the new IP.

  • If you run a server first time, and shortly kill it, and run it again - duplicate devices might be created, as it seems like ST doesn't return newly created devices within first few minutes. You can simply go and delete those duplicate devices to solve this.