Zum Hauptinhalt springen

IPX800 Smart-Home-Integration, kostenlos und Open Source

IPX800-Integration für Gladys Assistant

GCE IPX800 V4 and V5 on your network: relays, inputs, pilot wire (X-4FP), X-THL sensors.

Info

Die Dokumentation dieser Integration wird von ihrem Autor geschrieben und ist bisher nur auf Englisch verfügbar.

Brings a GCE Electronics IPX800 V4 or V5 into Gladys through its local HTTP API: its relays, its digital inputs, the pilot-wire zones of its X-4FP extensions and its X-THL sensors (temperature, humidity, luminosity).

Never tested with a real device: written from the GCE documentation of the V4 API and from the open-source libraries of the Home Assistant integrations (pypx800, pypx800v5). Please report what you see on yours. Not affiliated with GCE Electronics.

Setup​

  1. In the IPX800, create an API key: V5 under System > API, V4 under Network > API (tick the API access).
  2. In Gladys, Integrations > IPX800: choose the model (V5 or V4), type the address of the IPX800 (e.g. 192.168.1.50, give it a fixed address in your router) and the API key, then save.
  3. "Test the connection" reads the IPX800 now (once an interval has passed since the last read) and shows what it found.
  4. In Discover, create the devices you want.

The IPX800 wants the API key in the address of every request, over plain http: anyone who can watch your local network can read it, as with the IPX800's own apps. The key is kept by Gladys in its database, never shown again, sent only to the IPX800, and never written in the logs nor in the files of the integration.

What you get​

On the IPX800In GladysCode (in the name)
Relay (V4 1-56, V5 1-8)read only, or a switch / light if you list itR3
X-8R output (V5)the sameX8R12-3 (12: its id)
Digital input (V4 1-56, V5 1-8)a binary input (read only)D3
X-8D / X-24D input (V5)the sameX8D5-2, X24D6-10
X-4FP zonepilot wire (Off, Frost protection, Eco, Comfort, Comfort -1, Comfort -2)FP5 (V4), X4FP7-2 (V5)
X-THLtemperature (°C), humidity (%), luminosity (lux)THL1 (V4), XTHL9 (V5)

V5: the integration lists the extensions itself. V4: the API answers 56 relays and 56 inputs whether they are wired or not; the integration shows the 8 relays and 8 inputs of the IPX, and what you list in "Extensions of an IPX800 V4", e.g. R9-R16, D9-D16, FP1-FP4, THL1 (pilot-wire zone n of the V4 is zone z of X-4FP e: n = 4 × (e − 1) + z).

The IPX800 is read every 10 seconds by default (5 s at least). A value the IPX800 does not give (absent, a text, out of range) is not published: never as 0.

Relays: read only unless you list them​

Every relay is read only by default. To drive one from Gladys, list it in "Relays Gladys may drive", e.g. R1, R3:light, X8R12-2 (:light makes it a light, otherwise a switch). A switch or a light obeys every "turn everything off" of Google, Alexa, the MCP and the scenes: never list a pump, a freezer, a ventilation, a heating, a door strike nor a valve. A relay you remove from the list is read only again at once: its commands are refused, and a switch-off the integration was still holding for it is dropped (in memory and in /data, also at a restart). Its old feature in Gladys stays: delete it if you want.

Pilot wire​

  • Off and Frost protection need no option and go before everything else: during a pause after failed reads, with a refused API key, with the queue of commands full, and before the first read after a restart (the V5 ids are kept in /data). Clicked, they interrupt any request in progress (a read, a read back, a command, a resend), except another Off or Frost protection clicked just before. The same goes for switching off a relay you listed.
  • Eco, Comfort, Comfort -1, Comfort -2 drive the heating: they are off by default. Tick "Allow Eco and Comfort from Gladys" to allow them; every Gladys user, every scene and the Gladys app can then choose them. They are refused while the state cannot be written to /data.

An Off or Frost protection is refused only when: the address or the API key is missing; the zone is not known (V4: not listed in the extensions; V5: never read, even before a restart); the value is not one of the six modes. Off for a relay is refused when the relay is not listed. Clicked before the configuration is read from Gladys (the API key is kept there only, never in /data), it asks Gladys for it at once and waits 3 s; if it has not come, it is kept in memory and sent as soon as the API key is known (read again 5 s later, then every minute at most), before anything is sent to Gladys; if the output turns out unknown or not listed, the status says so. An Off kept in /data leaves the same way at start, without waiting for Gladys. When the IPX800 does not take it within 3.5 s (no connection), it is kept and sent again as soon as the IPX800 is free, before the read backs, by the next reads that show another mode, and after a restart. An Off clicked while another one gets no answer for 1 s interrupts it. A resend interrupted by a click before it left goes again right behind that click.

An Off or Frost protection that the reads do not show is sent again, 3 times at most; then the status says so (check on site). A V5 zone with several modes on is shown as such in the status and gets the Off again. It stays held until a later command on that zone leaves (your click), another Off / Frost protection, or, once applied, another mode read twice in a row (changed on the IPX800 itself, by its scenarios or its page): never by the time. Anything asked before an Off on the same zone and not yet sent is cancelled, a Frost protection waiting to be tried again included: it never leaves after it. A mode the integration sent before the Off and that got no answer (cut by the Off, say), if the IPX800 still applies it in the 5 s after it left, is not a change on the IPX800: the Off is sent again.

Commands​

A command is written within 3.5 s of the click or refused with "nothing was sent". It is then read back from the IPX800: the value asked is a success; another value is "not applied yet"; no answer in time is "sent, without confirmation". Two more reads follow after 5 s and 20 s. The commands of a scene are written one after the other, then read back once.

Pauses and refusals​

A failed read pauses 10 s, 30 s, 1 min, 2 min then 5 min (one minute at least when the IPX800 answers 429 or 503), kept across restarts; Eco, Comfort and switching a relay on are refused until the pause ends. An API key refused by the IPX800 (401, 403) stops the reads until you change the key or "Test the connection" succeeds.

Limits​

  • X-8R, X-8D, X-24D, X-4FP and X-THL only; counters, X-4VR shutters, dimmers, X-PWM, virtual inputs and outputs are not in this version.
  • One IPX800 per integration.
  • http only (the IPX800 answers http on the local network).

Konfigurationseinstellungen​

Diese Einstellungen fragt IPX800 in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Your IPX800sectionNeinBrings a GCE Electronics IPX800 V4 or V5 into Gladys through its local HTTP API and its API key: relays (read only unless you list them below), digital inputs, pilot-wire zones of the X-4FP and X-THL sensors. Pilot wire: Off and Frost protection go first, without any option (see the guide for their limits); Eco and Comfort only once allowed below. Never tested with a real device. Not affiliated with GCE Electronics.
ModelselectNein
Address of the IPX800stringJaIts IP address (or name) on your network, without path nor key; give it a fixed address in your router.
PortnumberNein80 unless you changed the port of its web server.
API keysecretJaCreated in the IPX800 (V5: System > API, V4: Network > API). The IPX800 wants it in the address of every request, over plain http: anyone who can watch your network can read it, as with the IPX800's own apps. Kept by Gladys in its database, never shown again, sent only to the IPX800, never written in the logs.
Relays Gladys may drivestringNeinThe other relays are read only. Codes as in the device names: R1 to R8 (V4: up to R56), X8R<id>-<n> for an X-8R of the V5; add :light for a light, e.g. "R1, R3:light, X8R12-2". A relay listed here obeys every "turn everything off" of Google, Alexa, the MCP and the scenes: never list a pump, a freezer, a ventilation, a heating, a door strike nor a valve.
Extensions of an IPX800 V4stringNeinV4 only (the V5 lists its extensions itself): what your IPX800 V4 has beyond its 8 relays and 8 inputs, e.g. "R9-R16, D9-D16, FP1-FP4, THL1" (FP: pilot-wire zones 1 to 16, four per X-4FP).
Pilot wiresectionNeinOff and Frost protection need no option and go before everything else, during a pause or before the first read; they are refused only when the IPX800 or the zone is not known yet (see the guide). Eco, Comfort, Comfort -1 and Comfort -2 drive the heating: they are off by default. Once allowed, every Gladys user, every scene and the Gladys app can choose them.
Allow Eco and Comfort from GladysbooleanNein
Read every (seconds)numberNeinHow often the IPX800 is read: 10 s by default, 5 s at least.
Language of the namesselectNeinUsed for the names of the devices and features added from now on.

So installierst du IPX800 in Gladys​

  1. Öffne in Gladys Integrationen: IPX800 erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/lm1lc3n7/gladys-ipx800:0.1.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/LM1LC3N7/gladys-ipx800.

IPX800 benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

IPX800 ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von LM1LC3N7 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂