Skip to main content

ismartgate smart home integration, free and open source

ismartgate integration for Gladys Assistant

ismartgate and GogoGate2 garage doors and gates, locally: state, open, close, sensors.

This integration shows in Gladys the garage doors and gates driven by an ismartgate (PRO, LITE, Mini) or GogoGate2 gateway, and adds buttons to open and close them, through the local API of the gateway, on your network, without its cloud.

Never tested with a real device: the integration follows the ismartgate library (the one of the Home Assistant "Gogogate2 and ismartgate" integration), but nobody has tried it on a real gateway yet. This local API is not documented by the maker. Your feedback is welcome.

Unofficial integration, not affiliated with ismartgate.

In Gladys​

One device per door set up on the gateway (a door that has a name in its app):

FeatureDetail
Garage door, Gateopening sensor, read only (open / closed)
Open, Closebuttons (only for an output in garage door or pulse mode)
Temperaturewireless sensor only
Sensor batteryin %, wireless sensor only

Installation​

  1. Give the gateway a fixed IP address in your router.
  2. In the ismartgate app, preferably create a user for Gladys, with only the doors it may command.
  3. In Gladys, install the ismartgate integration from the store, pick the family (ismartgate or GogoGate2), type the IP address, the user name and the password.
  4. Add the doors from the Discovery tab.

The password is kept by Gladys in its database, never shown again, sent only to your gateway. The local API carries it scrambled (AES) in the address of the request, over HTTP: on an ismartgate the key comes from the user name and the password, but on a GogoGate2 the key is the same for every gateway and public: anyone who captures the traffic of your local network can read the user name and the password. Use a dedicated user, with a password you use nowhere else.

Command safety​

The gateway only knows one command: a pulse on the relay of the door, the same to open and to close, like the button of a remote control. A pulse while the door moves may stop it or send it back. So:

  • a door is never a switch: a "turn everything off" of a voice assistant or a scene cannot reach it;
  • opening and closing are off by default: closing and opening are the same pulse (on a moving door, "Close" may reopen it), hence one option; without it, Gladys neither opens nor closes. Turn on "Allow opening and closing" so that the dashboard, the scenes and the voice assistants can open and close. The permission is checked when the command arrives, after the fresh read and right before sending;
  • every command reads the gateway just before acting: the gateway must be the same one (its id), the door set up, in garage door or pulse mode, with a known state. "Open" only pulses a door read closed, "Close" only a door read open; in the wanted state, nothing is sent; with no state (sensor missing or faulty), nothing is sent;
  • an (allowed) close never waits behind the openings, and gets one try even during a pause asked by the gateway or after refused credentials; a close, even refused, cancels at once an opening of the same door not sent yet;
  • one pulse at a time per door, and after each pulse no other one on that door until it is read in the other state, or until the "travel time" (30 s by default) plus 5 s has passed;
  • a command that cannot leave within 3.5 seconds is refused unsent; a pulse sent without an answer is reported "sent, without confirmation", then the door is read again.

Limit (option on): the gateway does not say whether a door is closing (the sensor stays "open" until the end of the travel). If someone has just started closing with a remote and a close leaves Gladys at the same moment, the pulse may stop the door or send it back towards opening, as a second press on the remote would. Gladys never does it twice in a row itself (the guard above, kept across a restart too). A door without a sensor gives no state: Gladys sends it no pulse.

There is no "Stop" button: the gateway has no stop command.

Failures​

  • Credentials refused: the gateway is no longer asked, then again after 15 min, 1 h, 6 h and every 24 h, even after a restart; saving other credentials tries again at once, "Test the connection" once the refresh interval has passed.
  • A gateway that asks to wait (HTTP 429 or 5xx) is paused for one minute to six hours, even after a restart: no read, no opening; an allowed close still gets one try.
  • A door removed from the gateway (no name) is shown unreachable and named in the status.
  • A gateway that does not answer is read again after 30 s, 1, 2 then 5 min, never faster than the refresh interval. "Test the connection", a reconnection of Gladys or a restart never read faster than the interval.
  • If another gateway answers at the address (DHCP lease), its doors show up in the Discovery tab and the old ones are shown unreachable.

Limits​

  • No automatic search on the network: type the IP address.
  • No camera, no outputs in on/off mode (shown read only), no access through the ismartgate cloud.

Configuration settings​

These are the settings ismartgate asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your ismartgate or GogoGate2 gateway, on your local networksectionNoReads the doors of the gateway (open or closed, temperature and battery of the wireless sensors) through its local API, without its cloud, and adds "Open" and "Close" buttons. Give the gateway a fixed IP address in your router, type it below with the user name and password of its app, then add the doors from the Discovery tab. Never tested with a real device. Unofficial integration, not affiliated with ismartgate.
GatewayselectNoThe family of your gateway: ismartgate (PRO, LITE, Mini) or the older GogoGate2.
IP address of the gatewaystringNoFor example 192.168.1.30 (add :port if it is not 80).
User namestringNoA user of the gateway (its app or web page). A user of its own for Gladys is best, with only the doors it may use.
PasswordsecretNoKept by Gladys in its database, never shown again, sent only to your gateway, scrambled the way its local API asks (with the fixed key of every GogoGate2, so readable by anyone who captures your local network traffic).
Refresh interval (s)numberNoHow often the gateway is read, in seconds.
Opening and closingsectionNoThe gateway only knows one command: a pulse on the relay of the door, the same for opening and closing. So each door is shown with buttons, never as a switch, and Gladys sends a pulse only from the other end: "Open" from a door read closed just now, "Close" from a door read open, nothing when the sensor gives no state. As a pulse on a moving door may stop it or send it back open, opening AND closing are refused until you allow them below. A close always cancels an opening still waiting to leave. After a pulse, no other one on that door until it is seen moving, or until the travel time has passed: a second pulse would stop it or send it back.
Allow opening and closingbooleanNoOff by default: Gladys then neither opens nor closes (closing is the same pulse). On: the dashboard, the scenes and the voice assistants can open and close the doors and gates.
Travel time (s)numberNoHow long your slowest door or gate takes to open or close, in seconds. After a pulse, no other pulse on that door for this time plus 5 s, unless it is seen moving.
Language of the feature namesselectNoUsed for the names of the features added from now on, and for the command errors.

How to install ismartgate in Gladys​

  1. In Gladys, open Integrations: ismartgate appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/lm1lc3n7/gladys-ismartgate:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/LM1LC3N7/gladys-ismartgate.

ismartgate requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

ismartgate is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by LM1LC3N7, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂