Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
  1. Home
  2. How-To
  3. [HowTo] Using HABridge with Reactor
[HowTo] Using HABridge with Reactor
therealdbT
If you’re like me and still running HABridge to control your devices locally via Alexa, you might need to tweak your endpoints to call Reactor via HTTP. Here’s the best way to do it, IMO: Insert the Reactor Canonical ID (e.g., zwavejs>71-1) into the MapID field, but make sure it’s URL-encoded like this: zwavejs%3E71-1. Then, configure these endpoints as needed: On: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.on Off: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.off Dim: For lights: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/dimming.set?level=${intensity.decimal_percent} For roller shutters: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/position.set?value=${intensity.decimal_percent} Color: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/rgb_color.set_rgb?red=${color.r}&green=${color.g}&blue=${color.b} Just replace [ReactorIP] with your actual IP address. By using these placeholders, you can standardize your endpoints across all devices, making maintenance easier. This setup works with any device mapped under MSR, regardless of the controller (ZWaveJS, Vera, HASS, OpenSprinkler, virtual, MQTT, DynamicEntities, etc.). If you need different calls, just go to the entities, get the action and parameters, and adjust accordingly. Enjoy super fast access to your devices via Alexa! If you're migrating from Vera, the endpoints are (URL-encoded) in a file called device.db, in JSON format, under your config. You'd write a script to align the new endpoints to the new one, if you prefer to do it automatically. YMMV.
How-To
Apple Home Automation Issue
J
I’ve set up an automation in Apple Home to turn on the lights when the first person arrives. However, the lights also turn on when I leave for work. It seems like the automation is triggered when I cross the geofence, whether arriving or leaving. I’m using Matter-compatible Tapo smart plugs. Is there a way to fix this behavior?
How-To
[Reactor] Use VirtualEntityController actions to drive a Reolink spotlight
therealdbT
Build 24343 has fully HTTP actions, so cool things could be created (see docs). I've recently changed a couple of cams because better definition and I've found tha Reolink has a couple of cams that have spotlights. While the spotlights are driven by motion (so the cam could record in color), I wanted to drive them directly, so in case of any "security" event, like alarm on, door open, etc, I could use the lights to have a better video and make - you know - light. So, if you want to use HTTP actions in VirtualController, just go to config, entities under your VirtualEntityController section in reactor.yaml, and add this: - id: cams_retro_spotlights name: "Retro Cam - Spotlights" template: Binary Switch # update the status at interval http_request: interval: 900 # 15m url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "GetWhiteLed", "action": 0 , "param": { "channel": 0 }}]' capabilities: power_switch: attributes: state: expr: "isnull( response ) ? null : response[0]?.value?.WhiteLed?.state == 1" default: false actions: "on": http_request: url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "SetWhiteLed", "param": { "WhiteLed": {"bright" : 100, "channel": 0, "mode": 1, "state": 1}}}]' target: state expr: "isnull( response ) ? null: response[0]?.value?.rspCode == '200'" "off": http_request: url: "http://192.168.1.31/cgi-bin/api.cgi?user=foo&password=foo" method: "POST" force_json: true headers: "Content-Type": "application/json" "Accept": "application/json" body: '[{"cmd": "SetWhiteLed", "param": { "WhiteLed": {"bright" : 100, "channel": 0, "mode": 1, "state": 0}}}]' target: state expr: "isnull( response ) ? null : response[0]?.value?.rspCode == '200' ? false : null" Reolink has API where you have to post a JSON and the response will give you a JSON (in theory). It's not really JSON, so force_json: true will do the trick for you. I'm lefting this as an example of cool things you could do with the new capabilites added/documented in 24343. HTH.
How-To
[How-to] Managing holidays in Reactor
therealdbT
I've switched to a virtual entity with both power_switch and string_sensor capabilities to represent the current holiday. The power switch is used to indicate if it's a public holiday (so, no school/work), while the string sensor is a string with the actual holiday (Easter, Christmas, Halloween, etc - we don't have thanksgiving), mostly to drive lights. I build it with some static dates (mostly birthdays/anniversaries) and then the dynamics ones are taken from webcal.guru. My lights/scenes are linked to events this way and it's easier to manage it in the long run: just a bunch of group action in the reaction driving the lights. This part is outside Reactor for me (because, legacy), but it's not difficult to completly drive it off a virtual sensor or a custom controller. I don't know how people are doing this, but I'm lefting a note for the ones looking for a working solution.
How-To
[How-To] Migrate from Vera to Zwave.me and then ZwaveJS in 2024
therealdbT
So, it was time for me to move from Vera to something modern. It served me well, but I have new devices I want to add and old that I want to fully use. I have 3 weeks off in August, so plenty of times to tweak things. Long story short, I moved and turned off my two Veras (one prod, one dev). Hardware: Zwave.me controller, updated to FW 5.39, SDK 6.28.1 (it is necessary, since my Veras have the latest FW available). I opted for a 500 controller because of all the drama with 700/800 and the need to stay on something stable. I have 60 Zwave devices, so starting from scratch was a big no for me. I started from this famous guide, after taking a backup from the Vera Prod to the Vera Dev: https://github.com/rafale77/Z-Way But it was not working. So, the route I went is: Go the Vera UI and go under Settings/Z-wave settings, take a screenshot (HouseId in particular). take a backup from the prod system extract the file /etc/cmh/user_data.json.lzo from the backup move the file to the /tmp directory of your dev system execute pluto-lzo d /tmp/user_data.json.lzo /tmp/user_data.json open and edit the file, looking for a port node with something like /dev.. and put /dev/ttyACM0 inside. save the file. run pluto-lzo c /tmp/user_data.json /tmp/user_data.json.lzo copy the .lzo file to the backup, in the same position insert the Zwave key into the USB of your dev Vera reboot the dev Vera wait a lot for it to finish ️ it will probably say that it cannot start ZWave, don't worry Go the Vera UI and go under Settings/Z-wave settings, you should see the old HouseId. Anyway, double check with the screenshot you took previously: if it matches, you've moved your Zwave Network to the new controller! Shutdown the Veras, take the USB Key with your ZWave network and move it to ZwaveJS! I've installed it via Docker, very easy. Go for ZwaveJS UI, so you got the UI as well. Interview the nodes, have patience. Some battery nodes will need wake-ups, others will complete automatically. I had to re-pair a couple of devices because of incorrect pairing with Vera (security and non-security mixed together). In this case, pro tip: reset the device, and then use the replace function from ZWave JS, to have the same node id. Now, if you're already running under Reactor, you'll need to rewrite all your logic. I asked ChatGPT to write me a Powershell script to get the device from the Veras and build the new naming convention. The logic is that AltId in Vera is in fact the ZWave Node ID, and on Reactor you'll get device like zwavejs>nodeid-endpoint (ie: 95-0, 95-1, etc). So, I built a script that replaced all the occurrences from the storage of Reactor (did I mentioned to do a lot of backups?) and set the name via ZwaveJS MQTT apis. Then, I build an Excel file (thanks ChatGPT!) and renamed all the endpoints in Reactor (manually, no APIs to do so). It took me about an hour. Now, no more trip/untrip lost along the radios, and a blazing fast ZWave network to enjoy. Since a couple of devices are recognized in a different way, I had to re-write a couple of rules (and wait a couple of fix here and there by @toggledbits for devices not properly recognized, thanks!), but I was OK in a couple of days, and ready to run by the first afternoon, so I maintained an high WAF. Now, I could experiment the joy of SmartStart and proprietary commands. Thanks to the people that moved before me, inspired me and to @toggledbits for the incredible platform that has built in the latest years! Feel free to ask question if you need help.
How-To
Temperature monitoring using Python and Zigbee
B
I made a video here on how I use Python to store temperature readings from sensors in a database!
How-To
HTTPS
S
How to add MSR to Home Assistant?
How-To
Wanting to install in Proxmox.. what’s the best way?
X
I’m moving a lot of my home automation Raspberry Pi’s to Proxmox virtualisation and really enjoying it. I would like to install Reactor that way too. Having researched this forum I’m surprised more people haven’t ventured into this. Although I use HomeAssistant in Proxmox I don’t want to use the HAOS path addin one user has tried as it seems to be unsupported now. What would be the best way to install Reactor under Proxmox? As a Linux VM (flavour?) with manual install or as a Docker install or even following the Portainer write up with Docker install underneath? Proxmox tend to recommend you away from Docker where possible. Keeping Reactor upto date easily would be a big consideration too. Thanks for any recommendations and anyone running Reactor within Proxmox already ? There’s a growing number of helper scripts for Proxmox that one click install home automation favourites as a prebuilt Linux container (LXC) . It would be nice to get Reactor listed and installed this way too…under the automation category https://tteck.github.io/Proxmox/
How-To
How to choose the right microcontroller/controller before starting the development of the SMART-house
D
Hi guys, I have started searching for some information about the microcontrollers/controllers with which I can develop my own controller and the SMART-house. It is needed for my research work. I am new to this, and it is hard for me to find the necessary information. I have found that such controllers as Arduino, Raspberry PI, ESP32, etc can be used. However, how can I find the model of the controller which can suit my requirements? They are the following: 2-stage building with a garage (so it is +-400 sq.m.) with some number of SMART devices that are responsible for security (cameras, fire alarm, etc), temperature control, radiators, leakage control, opening/closing control, etc. I am interested in the hardware area at first. Any advices, links to the resources, researches, and articles with a similar topic will be really appreciated. PS: sorry for my not clear English (just in case) Thank you in advance.
How-To
Any interest in Groovy programming?
LibraSunL
I know this Forum has never focused much on SmartThings or Hubitat, thus not surprisingly I find virtually nothing here concerning the Groovy programming language or creating drivers/apps for those platforms. I'm curious: Is there any interest at all for co-authoring a "Definitive Guide to Coding Drivers & Apps for Hubitat" among our motley crew?
How-To
Super newbie here. Need help with lots of stuff
A
Hello guys. I'm currently building my own home and i want it to be kind of high tech and cool but i have actually never owned a smart device other than a smartphone and an old smart TV so i don't even know what exactly am i looking for. I will explain my idea and i am looking forward to somebody shining some light. Sooo - i was thinking about getting a WiFi controlled AC, TV, Washing machine, Dryer and smart switches for the lights. I suppose i need some kind of a assistant that connects to the wifi and can control all of these. Also i want an audio system - for the TV in the living room aaaand i also want to have 2 speakers in the bathroom which i have no idea where i would connect. I guees i need some kind of a receiver and amplifier for them to work correctly. But i also want that reciever to be hidden somewhere so it ahould be small and it also should be able to connect to the wifi i guess. So wgat exactly do i need so far. Would any wifi device connect to any assistant? Or am i lookng for particullar stuff... Will i be able for example to turn on my AC from outside the household for example when im at work? And can i also connect an alarm system of some type?
How-To
Problem with LED Panel + Motion Sensor
?
Hello everyone, I am new here and also the conversion to smart home is new territory for me. I have a problem with an LED panel. This is coupled with a motion detector in my hallway. As soon as you enter the room it lights up, so far so good. However, it always lights up in a bright purple, even though my setting calls for gold. Now I select the lamp via the Hue app and drag my finger across the color palette, the panel changes to those colors and I have to keep selecting the preset hue. Can someone explain to me how I can keep this setting permanently without having to tediously reset? With kind regards Loorrd
How-To
HOW TO BALANCE LIGHT LEVELS AT A GIVEN SPOT
LibraSunL
Having spent years as a professional portrait photographer, I came by many tricks of the trade involving readily available materials. One such trick is known as an "Oil Spot Photometer", which can help you equalize the brightness of two or more light sources. For simple setup instructions, visit: https://www.exploratorium.edu/snacks/oil-spot-photometer The implications for Home Automation, of course, is knowing the preset dim levels needed to balance a room's lighting, without guessing. Just bear in mind that dimmer levels and bulb output are rarely linear, so you may have to take photometer readings at various brightness levels to create a lookup table (for use in MSR, etc.).
How-To
Car integration
rafale77R
Topic thumbnail image
How-To

[HowTo] Using HABridge with Reactor

Scheduled Pinned Locked Moved How-To
9 Posts 3 Posters 364 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • therealdbT Offline
    therealdbT Offline
    therealdb
    wrote on last edited by therealdb
    #1

    If you’re like me and still running HABridge to control your devices locally via Alexa, you might need to tweak your endpoints to call Reactor via HTTP. Here’s the best way to do it, IMO:

    Insert the Reactor Canonical ID (e.g., zwavejs>71-1) into the MapID field, but make sure it’s URL-encoded like this: zwavejs%3E71-1.

    Then, configure these endpoints as needed:

    • On: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.on
    • Off: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.off
    • Dim:
      • For lights: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/dimming.set?level=${intensity.decimal_percent}
      • For roller shutters: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/position.set?value=${intensity.decimal_percent}
    • Color: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/rgb_color.set_rgb?red=${color.r}&green=${color.g}&blue=${color.b}

    Just replace [ReactorIP] with your actual IP address. By using these placeholders, you can standardize your endpoints across all devices, making maintenance easier.

    This setup works with any device mapped under MSR, regardless of the controller (ZWaveJS, Vera, HASS, OpenSprinkler, virtual, MQTT, DynamicEntities, etc.). If you need different calls, just go to the entities, get the action and parameters, and adjust accordingly. Enjoy super fast access to your devices via Alexa!

    If you're migrating from Vera, the endpoints are (URL-encoded) in a file called device.db, in JSON format, under your config. You'd write a script to align the new endpoints to the new one, if you prefer to do it automatically. YMMV.

    --
    On a mission to automate everything.

    My MS Reactor contrib
    My Luup Plug-ins

    CatmanV2C 1 Reply Last reply
    0
    • therealdbT therealdb referenced this topic
    • CatmanV2C Offline
      CatmanV2C Offline
      CatmanV2
      wrote last edited by
      #2

      OK that's gonna be helpful I think!

      Thanks!

      C

      The Ex-Vera abuser know as CatmanV2.....

      1 Reply Last reply
      0
      • therealdbT therealdb

        If you’re like me and still running HABridge to control your devices locally via Alexa, you might need to tweak your endpoints to call Reactor via HTTP. Here’s the best way to do it, IMO:

        Insert the Reactor Canonical ID (e.g., zwavejs>71-1) into the MapID field, but make sure it’s URL-encoded like this: zwavejs%3E71-1.

        Then, configure these endpoints as needed:

        • On: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.on
        • Off: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.off
        • Dim:
          • For lights: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/dimming.set?level=${intensity.decimal_percent}
          • For roller shutters: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/position.set?value=${intensity.decimal_percent}
        • Color: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/rgb_color.set_rgb?red=${color.r}&green=${color.g}&blue=${color.b}

        Just replace [ReactorIP] with your actual IP address. By using these placeholders, you can standardize your endpoints across all devices, making maintenance easier.

        This setup works with any device mapped under MSR, regardless of the controller (ZWaveJS, Vera, HASS, OpenSprinkler, virtual, MQTT, DynamicEntities, etc.). If you need different calls, just go to the entities, get the action and parameters, and adjust accordingly. Enjoy super fast access to your devices via Alexa!

        If you're migrating from Vera, the endpoints are (URL-encoded) in a file called device.db, in JSON format, under your config. You'd write a script to align the new endpoints to the new one, if you prefer to do it automatically. YMMV.

        CatmanV2C Offline
        CatmanV2C Offline
        CatmanV2
        wrote last edited by
        #3

        @therealdb OK so I'm doing something wrong 🙂

        Testing on my Garage lights which I believe has canonical ID
        switch.garage_lights
        Screenshot 2026-01-05 at 10.46.10.png

        Which I don't think needs URL encoding. (Well the URL encoder I checked didn't make any changes)

        So I have this in my HA Bridge:

        http://192.168.70.249:8111/api/v1/entity/switch.garage_lights/perform/power_switch.on

        On testing HA bridge suggests all is well, but nada happens to the the switch

        Reactor logs the request

        [latest-25325]2026-01-05T10:48:19.404Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/entity/switch.garage_lights/perform/power_switch.on
        

        I've set the type as HTTP in HA Bridge (and tried as Vera)

        Please forgive my idiocy...

        C

        The Ex-Vera abuser know as CatmanV2.....

        therealdbT 1 Reply Last reply
        0
        • toggledbitsT Online
          toggledbitsT Online
          toggledbits
          wrote last edited by
          #4

          Sigh. People, let's make 2026 the year we stop posting one line from the logs. Almost everything we have in the logs requires context. Posting it up-front increases the chances that, if you haven't already figured it out yourself from what's there, someone else can without further back-and-forth in the thread.

          Odds are, there's a bunch of interesting stuff following the line you posted, @CatmanV2 that tells how the system is responding to the HTTP request. Let's have a look at it!

          Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

          1 Reply Last reply
          0
          • CatmanV2C Offline
            CatmanV2C Offline
            CatmanV2
            wrote last edited by
            #5

            Well, OK but I'm pretty sure there isn't (or I would have, or at least tried to diagnose it myself)

            [latest-25325]2026-01-05T14:15:08.186Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/netstatus
            [latest-25325]2026-01-05T14:15:08.193Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:15:41.714Z <Rule:INFO> Cinema Is Occupied (rule-m4ocf1di in Cinema Environment) starting rule state evaluation; because entity-changed BinarySensor#hass>binary_sensor_cinema_presence_presence
            [latest-25325]2026-01-05T14:15:53.631Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:15:53.635Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:15:53.638Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:15:53.643Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:16:03.261Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/netstatus
            [latest-25325]2026-01-05T14:16:03.264Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            
            
            
            [latest-25325]2026-01-05T14:16:40.341Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/entity/switch.garage_lights/perform/power_switch.on
            [latest-25325]2026-01-05T14:16:41.721Z <Rule:INFO> Cinema Is Occupied (rule-m4ocf1di in Cinema Environment) starting rule state evaluation; because timer-trigger Timer#rule-m4ocf1di
            [latest-25325]2026-01-05T14:16:41.722Z <Rule:INFO> Cinema Is Occupied (rule-m4ocf1di in Cinema Environment) evaluated; rule state transition from SET to 'RESET'
            [latest-25325]2026-01-05T14:16:41.729Z <Engine:INFO> Enqueueing "Cinema Is Occupied<RESET>" (rule-m4ocf1di:R)
            [latest-25325]2026-01-05T14:16:41.742Z <Engine:NOTICE> Starting reaction Cinema Is Occupied<RESET> (rule-m4ocf1di:R)
            [latest-25325]2026-01-05T14:16:41.743Z <HassController:INFO> HassController#hass perform power_switch.off on Switch#hass>switch_cinema_heater with {  }
            [latest-25325]2026-01-05T14:16:41.744Z <HassController:INFO> HassController#hass service homeassistant.turn_off target data is {  } (empty), assuming default entity target
            [latest-25325]2026-01-05T14:16:41.745Z <HassController:INFO> HassController#hass: sending payload for power_switch.off on Switch#hass>switch_cinema_heater action: { "type": "call_service", "service_data": {  }, "domain": "homeassistant", "service": "turn_off", "target": { "entity_id": "switch.cinema_heater" } }
            [latest-25325]2026-01-05T14:16:41.754Z <HassController:INFO> HassController#hass action power_switch.off({  }) on Switch#hass>switch_cinema_heater succeeded
            [latest-25325]2026-01-05T14:16:41.756Z <Engine:INFO> Resuming reaction Cinema Is Occupied<RESET> (rule-m4ocf1di:R) from step 1
            [latest-25325]2026-01-05T14:16:41.757Z <Engine:INFO> Cinema Is Occupied<RESET> all actions completed.
            [latest-25325]2026-01-05T14:16:53.631Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:16:53.637Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:16:53.640Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:16:53.644Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:17:08.399Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/netstatus
            [latest-25325]2026-01-05T14:17:08.403Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:17:53.632Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            [latest-25325]2026-01-05T14:18:03.470Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/netstatus
            [latest-25325]2026-01-05T14:18:03.476Z <Rule:INFO> Internet Check (rule-m6z41xhd in Office Environment) starting rule state evaluation; because entity-changed System#reactor_system>system
            

            Apologies anyway

            C

            The Ex-Vera abuser know as CatmanV2.....

            1 Reply Last reply
            0
            • CatmanV2C Offline
              CatmanV2C Offline
              CatmanV2
              wrote last edited by
              #6

              (PS Cinema was occupied as the cat had just walked in there... 😉 )

              C

              The Ex-Vera abuser know as CatmanV2.....

              toggledbitsT 1 Reply Last reply
              0
              • CatmanV2C CatmanV2

                (PS Cinema was occupied as the cat had just walked in there... 😉 )

                C

                toggledbitsT Online
                toggledbitsT Online
                toggledbits
                wrote last edited by toggledbits
                #7

                @CatmanV2 said in [HowTo] Using HABridge with Reactor:

                (PS Cinema was occupied as the cat had just walked in there... )

                😹

                Actually, what's not there is equally telling. The HTTP request itself probably returned a (failed) result code, so however you made that request, that's the tool that will log that result. The possible HTTP results for that endpoint are:

                • 200: The request succeeded, which it did not, because the action itself would have caused more log info that we don't see here;
                • 400: The request failed because the action failed. This is not it either, because that is also logged on the Reactor side, and we don't see it here;
                • 404: The entity was not found. This isn't logged in Reactor, it's just a fast return.

                It's a 404, because you did not give it a canonical ID for the entity in the request URL. A canonical ID includes both the entity ID and it's parent controller's iD — different controllers can have an entity with the same ID, so you have to specify which controller's entity you are targeting. Canoncal IDs take the form controller-id>entity-id (note > between the two parts). The absence of this also explains why the URL encoder didn't make any changes, because that > must be escaped.

                So for troubleshooting API calls, remember, if it doesn't work, look at the Reactor log for messages; if nothing is logged on the Reactor side, look at the logs/messages for the tool that made the request to Reactor.

                Ref: API docs

                Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                1 Reply Last reply
                0
                • CatmanV2C CatmanV2

                  @therealdb OK so I'm doing something wrong 🙂

                  Testing on my Garage lights which I believe has canonical ID
                  switch.garage_lights
                  Screenshot 2026-01-05 at 10.46.10.png

                  Which I don't think needs URL encoding. (Well the URL encoder I checked didn't make any changes)

                  So I have this in my HA Bridge:

                  http://192.168.70.249:8111/api/v1/entity/switch.garage_lights/perform/power_switch.on

                  On testing HA bridge suggests all is well, but nada happens to the the switch

                  Reactor logs the request

                  [latest-25325]2026-01-05T10:48:19.404Z <httpapi:INFO> HTTPAPI(#1) API request from ::ffff:192.168.70.249: GET /api/v1/entity/switch.garage_lights/perform/power_switch.on
                  

                  I've set the type as HTTP in HA Bridge (and tried as Vera)

                  Please forgive my idiocy...

                  C

                  therealdbT Offline
                  therealdbT Offline
                  therealdb
                  wrote last edited by
                  #8

                  @CatmanV2 said in [HowTo] Using HABridge with Reactor:

                  Which I don't think needs URL encoding. (Well the URL encoder I checked didn't make any changes)

                  Nope, canonical IDs in HASS always require encoding. Ask me why I know this...
                  The request is failing otherwise. Trust me 😼

                  --
                  On a mission to automate everything.

                  My MS Reactor contrib
                  My Luup Plug-ins

                  1 Reply Last reply
                  1
                  • CatmanV2C Offline
                    CatmanV2C Offline
                    CatmanV2
                    wrote last edited by
                    #9

                    Ahh well I rather assumed that someone smart (like you two) would look at my URL in HA bridge and immediately spot the fault 🙂

                    As ever, appreciated and working 🙂

                    C

                    The Ex-Vera abuser know as CatmanV2.....

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Recent Topics

                    • Copying a global reaction
                      toggledbitsT
                      toggledbits
                      0
                      3
                      47

                    • [HowTo] Using HABridge with Reactor
                      CatmanV2C
                      CatmanV2
                      0
                      9
                      364

                    • [Reactor] Bug when sending MQTT boolean payloads
                      toggledbitsT
                      toggledbits
                      0
                      4
                      117

                    • Genuinely impressed with Zigbee and HA / Reactor
                      therealdbT
                      therealdb
                      1
                      8
                      271

                    • Difficulty defining repeating annual period
                      G
                      gwp1
                      0
                      5
                      71

                    • Need help with sequence
                      therealdbT
                      therealdb
                      0
                      3
                      42

                    • Possible feature request?
                      therealdbT
                      therealdb
                      0
                      5
                      153

                    • Logic Assistance: Exterior Lights on when Illuminance Below Threshold
                      CatmanV2C
                      CatmanV2
                      0
                      11
                      322

                    • Time series documentation
                      tunnusT
                      tunnus
                      0
                      11
                      379

                    • MQTT templates for ZIgbee scene controller, or a better way?
                      CatmanV2C
                      CatmanV2
                      0
                      3
                      148

                    • Reset a delay
                      CatmanV2C
                      CatmanV2
                      0
                      8
                      212
                    Powered by NodeBB | Contributors
                    Hosted freely by 10RUPTiV - Solutions Technologiques | Contact us
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Unsolved