All Projects → chrszlz → homebridge-switcheroo

chrszlz / homebridge-switcheroo

Licence: MIT License
Simple on/off or multiswitch radio buttons for http reqs. Useful for lights, A/V systems, home automation, whatever

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to homebridge-switcheroo

Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (+928.95%)
Mutual labels:  smarthome, home, homebridge, homekit
homebridge-freeathome
Platform Plugin to manage free@home accessories via HomeBridge
Stars: ✭ 50 (+31.58%)
Mutual labels:  smarthome, homebridge, homekit
Homebridge Http Switch
Powerful http switch for Homebridge: https://github.com/homebridge/homebridge
Stars: ✭ 111 (+192.11%)
Mutual labels:  homebridge, switch, homekit
homebridge-roomba
Roomba plugin for Homebridge
Stars: ✭ 13 (-65.79%)
Mutual labels:  smarthome, homebridge, homekit
Homebridge Homematic
Homematic plugin for homebridge: https://github.com/nfarina/homebridge
Stars: ✭ 163 (+328.95%)
Mutual labels:  smarthome, homebridge, homekit
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (+755.26%)
Mutual labels:  smarthome, homebridge, homekit
Homebridge Cmd4
CMD4 Plugin for Homebridge - Supports ~All Accessory Types & now all Characteristics too
Stars: ✭ 92 (+142.11%)
Mutual labels:  homebridge, switch, homekit
homebridge-konnected
A Homebridge plugin for Konnected Alarm Panel devices
Stars: ✭ 25 (-34.21%)
Mutual labels:  smarthome, homebridge, homekit
Homebridge Raspbian Image
Official Homebridge Raspberry Pi Image based on Raspbian Lite.
Stars: ✭ 534 (+1305.26%)
Mutual labels:  smarthome, homebridge, homekit
homebridge-bravia-tv
Homebridge dynamic platform plugin for Sony Bravia Android TVs
Stars: ✭ 34 (-10.53%)
Mutual labels:  smarthome, homebridge, homekit
homebridge-tradfri-plugin
Ikea Tradfri plugin for Homebridge
Stars: ✭ 56 (+47.37%)
Mutual labels:  homebridge, homekit
homebridge-nello
Homebridge plugin for the smart intercom nello.io.
Stars: ✭ 26 (-31.58%)
Mutual labels:  homebridge, homekit
homebridge-yeelight-platform
Homebridge plugin for Yeelight Lights supporting Scenes/Moods/Color Flow/Custom Presets/Music Flow/Night Mode
Stars: ✭ 53 (+39.47%)
Mutual labels:  homebridge, homekit
homebridge-wink3
Homebridge plugin for wink.com
Stars: ✭ 53 (+39.47%)
Mutual labels:  homebridge, homekit
HomeKit-Bridge
Enabled HomeKit integration via Homebridge for Indigo Home Automation
Stars: ✭ 43 (+13.16%)
Mutual labels:  homebridge, homekit
homebridge-tahoma
Homebridge plugin for TaHoma, Connexoon, Cozytouch, Energeasy Connect.
Stars: ✭ 100 (+163.16%)
Mutual labels:  homebridge, homekit
esp8266 homekit temp
Small project to send data from a temperature sensor connected to an esp8266 to a HomeKit server, running on a Raspberry Pi.
Stars: ✭ 38 (+0%)
Mutual labels:  homebridge, homekit
homebridge-tion
Homebridge plugin to control Tion breezers
Stars: ✭ 32 (-15.79%)
Mutual labels:  smarthome, homebridge
awesome-homebridge
Popular list of Homebridge Plugins
Stars: ✭ 106 (+178.95%)
Mutual labels:  homebridge, homekit
homebridge-dyson-fan
A Homebridge plugin for controlling a Dyson fan.
Stars: ✭ 17 (-55.26%)
Mutual labels:  homebridge, homekit

npm version

homebridge-switcheroo

User defined switches for http requests. Simple on/off or multiswitch radio buttons. Useful for lights, A/V systems, home automation, whatever

Switch Types

Switch (standard on/off)

Meant to be used as a simple on/off switch. ==> light, projector, fan, garage door, car ignition (bad idea)

{
        "accessory": "Switcheroo",   // remember this *must* be 'Switcheroo'
        "type": "switch",
        "name": "Kitchen Light",
        "host": "http://192.168.0.XXX/kitchen",
        "on"  : "/light/on",
        "off" : "/light/off"
}

Multiswitch (radio buttons)

Works like a switcher - only one input can ever be on at one time. ==> A/V input switcher, KVM control, temperature settings, really bad piano

Define your multiswitch with whatever name you want to appear as the input title on Homekit controls. Then, the appropriate endpoint path to call. Complete http endpoints are constructed as host + path. Currently only built to support one http method per switch service, meaning, all endpoint calls will be either GET (default) or POST etc.

{
    "accessory": "Switcheroo",
    "type": "multiswitch",
    "name": "My HDMI Switcher",
    "host": "http://192.168.0.10X:8080",   // don't forget to specify a port, if necessary
    "multiswitch": [
       { "name" : "Apple TV"     , "path" : "/switcher/appletv" },
       { "name" : "HDMI"         , "path" : "/switcher/aux"     },
       { "name" : "Chromecast"   , "path" : "/switcher/chrome"  },
       { "name" : "PS4"          , "path" : "/switcher/ps4"     },
       { "name" : "Raspberry Pi" , "path" : "/switcher/pi"      }
    ]
}

Configuration Params

Parameter Description Required
name name of the accessory
type switch or multiswitch
host url for whatever is receiving these requests
on / off (only switch) endpoint paths for the on/off states
on_body / off_body (only switch) bodies for on/off state requests
multiswitch (only multiswitch) list of inputs for the multiswitch - name and endpoint path
http_method GET (default), POST, PUT, DELETE
username username for request
password password for request
send_immediately option for request
manufacturer will show in Home app description of this Homekit accessory, ex. 'LG'
model will show in Home app description of this Homekit accessory, ex. 'HD 2000'

Debug logging

Running homebridge manually will allow you to see the Switcheroo console logs.

Switcheroo logging

Tips

  • Run Homebridge on startup and have it restart if crashed, read my notes
  • Make sure specify a port in the if necessary. (i.e. "base_url" : "http://192.168.0.XXX:2000")
  • Must prepend 'http://' to your host
  • Verify the correct http_method is begin used. Switcheroo defaults to GET

Installation

Read about an example Raspberry Pi + Homebridge setup guide with this package here

  1. Install homebridge using: npm install -g homebridge
  2. Install homebridge-http using: npm install -g homebridge-switcheroo
  3. Update your config file

Changes from 1.X.X

New

  • define unique paths for each multiswitch item
  • manufacturer, model params

Renamed

  • switch_type -> type
  • Switch -> switch
  • Multiswitch -> multiswitch
  • base_url -> host
  • on_url -> on
  • off_url -> off
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].