Skip to content
Homebridge TestFlight
Protocols and bridges

HTTP Switch

homebridge-http-switch · v0.5.36

Local

Adds HomeKit switches that forward on/off requests to any HTTP server, stateful or stateless.

What it says it supports

Devices it names

  • Arduino Wi-Fi boards
  • custom HTTP devices

Shows up in Apple Home as from its README

What people report

Generic HTTP switch plugin; works with Shelly and Tasmota via statusPattern regex. Last version reported working on Homebridge 2.0.2.

  • Works3
  • Partly works1
DeviceStatusWhat they saidSource
Flo by MoenWorksCustom HTTP switch config against Flo API controls shutoff; no auth built in
Saved copy
So Flo my Moen announced that they are dropping IFTTT integration. Quite a bummer for me as there is no other way to set my Flo to Away when my Alarm is armed. I also can't control it via homekit without using IFTTT as a workaround. Until now. There is no public API documentation for Flo by Moen but I figured out what was necessary and got to work. I used homebridge-http-switch Plugin. I configured a switch like so the example below. { "accessory": "HTTP-SWITCH", "name": "Flo", "switchType": "stateful", "statusCache": 10, "pullInterval": 5000, "debug": true, "statusPattern": …

Excerpt saved from Arctic Shift Reddit archive on 2026-10-22.

Reddit thread · 2020-07
Shelly 2 relayWorksWorks with statusPattern matching ison property after config help
Saved copy
… the other properties change in runtime? Thats right, "ison" is the relevant property.. I don't think the other parameters would change that way. https://shelly-api-docs.shelly.cloud/#shelly-switch-relay-index

Excerpt saved from GitHub on 2026-10-22.

Issue #20 · 2018-11
Shelly 2.5 running TasmotaWorksWorks with statusPattern on POWER1 ON
Saved copy
[code] not work?

Excerpt saved from GitHub on 2026-10-22.

Issue #73 · 2020-11
Petkit Feeder MiniPartly worksWorks via captured HTTP POST with Charles proxy; others failed, maybe API changed
Saved copy
… headers like Content-Length and testing. Ensure in Postman you are using the raw mode for the body and copy it all in a single text line. I am using the PETKIT FRESH ELEMENT. Looks like there are slight variations in the url for other feeder models, i.e. http://api.petkt.com/latest/feedermini/save\_dailyfeed. Config JSON: "accessories": \{"accessory": "HTTP-SWITCH","name": "Dog Feeder","switchType": "stateless","timeout": 1000,"onUrl": {"url": "[http://api.petkt.com/latest/feeder/save\_dailyfeed","method": "POST","body": "amount=20&day=20200704&deviceId=123456789&time=-1","headers": {"Host": …

Excerpt saved from Arctic Shift Reddit archive on 2026-10-22.

Reddit comment · 2020-05

Gathered from the plugin’s GitHub issues, pull requests, discussions, wiki and docs, and from r/homebridge. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Local

HTTP requests to a user-defined URL; push updates via http-notification-server

Compatibility

Verified by HomebridgeNo
Homebridge versions>=0.4.8
Homebridge 2.0No
Node.js>=10.17.0
Settings in Homebridge UINo
MatterNo
LicenseISC

Community signals

Downloads a week46
Downloads a month442
GitHub stars231
Open issues22
Closed issues102
Last code push2024-02-22
Latest version0.5.36 (2022-09-20)
First published2017-07-28
Releases56

In ReReHome

Whatever this plugin publishes reaches Apple Home as a normal HomeKit accessory behind your Homebridge bridge, so ReReHome shows and controls it like any other.

Bridges get their own settings page listing the accessories behind them.

Caveats from the README

  • Stateless and stateless-reverse variants

HomeKit services in its code

Found by scanning the published npm package. A plugin can register a service only for some devices.

  • Switch