# Control IPX800-v5 in Gladys

**URL:** <https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784>\
**Category:** Configuration\
**Created:** [January 12, 2022, 3:31pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784 "2022-01-12T15:31:41Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 25, 2022, 11:53am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/21 "2022-01-25T11:53:39Z")

</div>

Ok so actually:

`gladys/device/mqtt:commutateur/feature/mqtt:commutateur/state`

When Gladys publishes, the topic on Mosquitto is gladys and the keys are  
device/commutateur/feature  
device/commutateur/state

`gladys/master/device/mqtt:commutateur/feature/mqtt:commutateur/state`

When Gladys receives, the topic on Mosquitto is always gladys and the keys are  
master/commutateur/feature  
master/commutateur/state

> [@Shiftmaj](#):
>
> In the first case, **Gladys** publishes it on Gladys/device (to the device). In the second case, it’s the **device** that publishes on Gladys/master (to Gladys this time), for example to return a status.

Actually, it’s the device/master side (since there’s no indication of the data sending direction) that’s misleading 🤯, slave/master (not great) or publish/suscribe (more consistent because it implicitly indicates the direction of the data sending since the «&nbsp;device&nbsp;» like «&nbsp;master&nbsp;» is both master and slave in behavior!

> [@Shiftmaj](#):
>
> The switch position on this page will not change the operation of the two addresses, it’s just a visual element.

In this case, I think everyone will agree that both addresses should be displayed by default and if you check «&nbsp;Is this a sensor?&nbsp;», only the corresponding line is displayed!  
Indeed, it’s when it’s implemented in node-red that you have to be careful to put the correct line in the mqtt objects! 😉

---

<div class="post-metadata">

**Author:** ![Shiftmaj](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/s/e9c0ed/32.png) [@Shiftmaj](https://community.gladysassistant.com/u/Shiftmaj)\
**Post date:** [January 25, 2022, 12:21pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/22 "2022-01-25T12:21:11Z")

</div>

> [@cce66](#):
>
> Actually, it’s the device/master side (since there’s no indication of the data transmission direction) that’s misleading 🤯, slave/master (not great) or publish/subscribe (more coherent as it implies the direction of data transmission, as the «&nbsp;device&nbsp;» like «&nbsp;master&nbsp;» is both master and slave in behavior!).

In essence, I agree with your analysis.  
However, in our case with Gladys, we can assume that our central point (home automation box) controls the rest and manages all the logical/scheduling aspects. In this context, it is quite logical to name this main node «&nbsp;master&nbsp;».  
I don’t want to jump the gun, but I think that’s the logic that led to choosing these terms.

> [@cce66](#):
>
> In this case, I think everyone will agree that both addresses should be displayed by default and that if you check «&nbsp;Is this a sensor?&nbsp;», only the corresponding line should be displayed!

I support this part; I think this button is often a source of confusion on the forum. Maybe we should create another topic to discuss it?

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 25, 2022, 1:42pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/23 "2022-01-25T13:42:49Z")

</div>

> [@Shiftmaj](#):
>
> However, in our case, with Gladys, we can assume that it is our central point (home automation box) that controls the rest and manages all the logical/scheduling aspects. In this context, it is quite logical to name this main node «&nbsp;master&nbsp;».

Yes, if Gladys and Mosquitto are indeed hosted on the same machine, we can see it as a central point, but the Mosquitto server deployed by Gladys on the machine on which it runs also serves as a server for other clients that do not go through Gladys. And if Gladys goes through another Mosquitto server (which is possible since it is configurable, for example, in my case, I have another NUC on which Home Assistant is hosted and Mosquitto runs). And if the main node is «&nbsp;master&nbsp;», the logic would have wanted the devices to be …slave! 🙄

> [@Shiftmaj](#):
>
> I agree with this part, it seems to me that this button is regularly a source of misunderstanding on the forum.

I confirm, I took some time to understand this point, although I deployed a flow node-red on Home Assistant without any problems, which interacts with my IPX800V5 home automation module (this module integrates MQTT objects «&nbsp;subscribe&nbsp;» and «&nbsp;publish&nbsp;»).

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [January 25, 2022, 2:37pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/24 "2022-01-25T14:37:50Z")

</div>

> [@cce66](#):
>
> In this case, I think everyone will agree that both addresses should be displayed by default and that if you check «&nbsp;Is this a sensor?&nbsp;», only the corresponding line should be displayed!

Yes, 100% agree, it’s a UX issue 🙂 There is already a GitHub issue that has been created →

> <https://github.com/GladysAssistant/Gladys/issues/1401>
>
> When adding an MQTT device, when is the option "is this a sensor?" is disabled, …only the Gladys order subscription topic is visible.
> It would be nice to also see the publication topic of the sensor.

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 25, 2022, 5:46pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/25 "2022-01-25T17:46:27Z")

</div>

Well, almost good news (now I have no more hair! 🤣)  
I finally managed to get the two-way functionality working (IPX800V5 relay \<=\> Gladys) by using «&nbsp;switches&nbsp;» (adding the relay would be good because for me switch=switch 🤔)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/9/9bd27b6b23eb34ef35b791dc38666dc8e07c3aab.png)

And the same on the IPX800V5 side

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/6/6aff339501ccb8bb1f3faaf8312fe3c01f2405ce.png)

MQTT subscriptions on the IPX800V5 side

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/2/2a300b6a7bea9f138954a1af414d5d5a560b8f5e.png)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/c/c0a096583f9709fa53de90b6fd23f0dcad26a268.png)

MQTT publications on the IPX800V5 side

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7814e2fb89b1e9c6b1a4e5985348e1af876cef39.png)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/8/856a712e1f65db0e64b0517ffc3e5d2233624ee3.png)

The graphical flow

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/5/5412cd75644c7a31d16d0a97745caad687965d69.png)

And the debug in order:  
Relay 1 «&nbsp;On&nbsp;» from IPX800V5

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/e/e4e47effd6f15da5007efb8e1d4f556d9ed845fc.png)

Relay 1 «&nbsp;Off&nbsp;» from IPX800V5

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/8/87ed792a7ce3210941d3020d5a9fb60619186d73.png)

Relay 1 «&nbsp;On&nbsp;» from Gladys

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/a/a5272e21caa3e5ec1a31bbdbe553818564ffdaaf.png)

Relay 1 «&nbsp;Off&nbsp;» from Gladys

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/b/be88febe1b3ad2a16a956bf2e7a46b66fbd1524b.png)

And the flow in JSON format

```json
[{"id":"cf6dc2aae7c8ab92","type":"tab","label":"Flow 3","disabled":false,"info":"","env":[]},{"id":"91ee9c360eac6d43","type":"mqtt out","z":"cf6dc2aae7c8ab92","name":"IPX800_V5-1","topic":"IPX800_V5-1","qos":"1","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"291914c5c9c68f02","x":1230,"y":100,"wires":[]},{"id":"c2659b7b2ff21d6e","type":"function","z":"cf6dc2aae7c8ab92","name":"according to payload \"[IPX]Relay state x\" true/false => 0/1","func":"var msg1,msg2;\n\nswitch (msg.payload) {\n \n case \"{\\\"[IPX]Relay state 1\\\":true}\":\n msg1 = {payload:\"1\" }; \n break; \n case \"{\\\"[IPX]Relay state 1\\\":false}\":\n msg1 = {payload:\"0\" }; \n break; \n \n case \"{\\\"[IPX]Relay state 2\\\":true}\":\n msg2 = {payload:\"1\" }; \n break; \n case \"{\\\"[IPX]Relay state 2\\\":false}\":\n msg2 = {payload:\"0\" }; \n break; \n \n default:\n break;\n}\n\nreturn[msg1,msg2];\n","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":220,"wires":[["d7e02d71312aa03e"],["6ea07d03df94f62e"]]},{"id":"d9a7d3602448c88a","type":"mqtt in","z":"cf6dc2aae7c8ab92","name":"IPX800_V5-1","topic":"IPX800_V5-1","qos":"1","datatype":"auto","broker":"291914c5c9c68f02","nl":false,"rap":true,"rh":0,"inputs":0,"x":150,"y":220,"wires":[["c2659b7b2ff21d6e"]]},{"id":"d7e02d71312aa03e","type":"mqtt out","z":"cf6dc2aae7c8ab92","name":"gladys/master/device/mqtt:IPX800_5-1_Relais1/feature/mqtt:IPX800_5-1_Relais1/state","topic":"gladys/master/device/mqtt:IPX800_5-1_Relais1/feature/mqtt:IPX800_5-1_Relais1/state","qos":"1","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"291914c5c9c68f02","x":1000,"y":180,"wires":[]},{"id":"6ea07d03df94f62e","type":"mqtt out","z":"cf6dc2aae7c8ab92","name":"gladys/master/device/mqtt:IPX800_5-1_Relais2/feature/mqtt:IPX800_5-1_Relais2/state","topic":"gladys/master/device/mqtt:IPX800_5-1_Relais2/feature/mqtt:IPX800_5-1_Relais2/state","qos":"1","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"291914c5c9c68f02","x":1000,"y":260,"wires":[]},{"id":"4dc3520e0af08d51","type":"mqtt in","z":"cf6dc2aae7c8ab92","name":"gladys/device/mqtt:IPX800_5-1_Relais1/feature/mqtt:IPX800_5-1_Relais1/state .","topic":"gladys/device/mqtt:IPX800_5-1_Relais1/feature/mqtt:IPX800_5-1_Relais1/state","qos":"1","datatype":"auto","broker":"291914c5c9c68f02","nl":false,"rap":true,"rh":0,"inputs":0,"x":350,"y":80,"wires":[["1bedbf53cbd0b7c2"]]},{"id":"e51228ced7b818c2","type":"mqtt in","z":"cf6dc2aae7c8ab92","name":"gladys/device/mqtt:IPX800_5-1_Relais2/feature/mqtt:IPX800_5-1_Relais2/state","topic":"gladys/device/mqtt:IPX800_5-1_Relais2/feature/mqtt:IPX800_5-1_Relais2/state","qos":"1","datatype":"auto","broker":"291914c5c9c68f02","nl":false,"rap":true,"rh":0,"inputs":0,"x":360,"y":140,"wires":[["1bedbf53cbd0b7c2"]]},{"id":"658e6d08a9bfa70c","type":"mqtt in","z":"cf6dc2aae7c8ab92","name":"#","topic":"#","qos":"2","datatype":"auto","broker":"291914c5c9c68f02","nl":false,"rap":true,"rh":0,"inputs":0,"x":130,"y":300,"wires":[["0b066345aae7ddb9"]]},{"id":"0b066345aae7ddb9","type":"debug","z":"cf6dc2aae7c8ab92","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":340,"y":300,"wires":[]},{"id":"1bedbf53cbd0b7c2","type":"function","z":"cf6dc2aae7c8ab92","name":"according to topic => [IPX]Relay cmd x: true/false","func":"var msg1,msg2;\n\nswitch (msg.topic) {\n case \"gladys/device/mqtt:IPX800_5-1_Relais1/feature/mqtt:IPX800_5-1_Relais1/state\":\n \n switch (msg.payload) {\n case \"0\":\n msg1 = {payload:\"{\\\"[IPX]Relay cmd 1\\\":false}\" }; \n break; \n case \"1\":\n msg1 = {payload:\"{\\\"[IPX]Relay cmd 1\\\":true}\" }; \n break; \n default:\n break; \n }\n break; \n \n case \"gladys/device/mqtt:IPX800_5-1_Relais2/feature/mqtt:IPX800_5-1_Relais2/state\":\n\n switch (msg.payload) {\n case \"0\":\n msg1 = {payload:\"{\\\"[IPX]Relay cmd 2\\\":false}\" }; \n break; \n case \"1\":\n msg1 = {payload:\"{\\\"[IPX]Relay cmd 2\\\":true}\" }; \n break; \n default:\n break; \n }\n break; \n \n default:\n break; \n}\n\nreturn[msg1,msg2];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":860,"y":100,"wires":[["91ee9c360eac6d43"]]},{"id":"291914c5c9c68f02","type":"mqtt-broker","name":"mqtt://localhost","broker":"mqtt://localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

```

I have latencies or even non-acknowledgment if the orders are made too quickly but if you wait, it works very well. However, from a node red in Home Assistant, so Home Assistant \<=\> IPX800V5 no latency!  
On the other hand, from Gladys, it generates 4 messages on the debug instead of 2 when it’s from the IPX800V5.

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 25, 2022, 7:56pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/26 "2022-01-25T19:56:06Z")

</div>

@pierre-gilles  
Well, I’m going to make a tutorial on the Gladys website and on the GCE website to show how to create a gateway via node-red between gladys and the IPX800V5 (it doesn’t work directly in the IPX800V5, the MQTT string is too long). Otherwise, do you know [https://www.youtube.com/watch?v=jTeJxQFD8Ak](https://www.youtube.com/watch?v=jTeJxQFD8Ak) made by one of the members of the MQTT specifications committee. However, for the rosbeef buttoners, it’s not subtitled 🤣

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [January 26, 2022, 7:23pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/27 "2022-01-26T19:23:22Z")

</div>

> [@cce66](#):
>
> I have latencies or even non-consideration if the orders are made too quickly, but if you wait, it works very well. However, from a node red in Home Assistant, so Home Assistant \<=\> IPX800V5, no latency!

Very strange! You confirm that the conditions are the same (Home Assistant/node-red/Gladys are on the same machine?), Gladys wasn’t doing anything special?

> [@cce66](#):
>
> Well, in this case, I will make a tutorial on the Gladys website and on the GCE website to show how to create a gateway via node-red between Gladys and the IPX800V5

Great, thanks @cce66! 🙏

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 26, 2022, 10:55pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/28 "2022-01-26T22:55:59Z")

</div>

@pierre-gilles

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/4/4b7e15a2ea49a2b92035b1c88a378221cb8554d9.png)  
I think it would also be simpler not to include the «&nbsp;mqtt:&nbsp;» part of the «&nbsp;External Feature ID&nbsp;» in the topic, it doesn’t make sense to me and it lengthens the topic and on the ipx800v5 it becomes too long! (I couldn’t find if there is a limit for the topic)  
For example, by renaming IPX800V5-1 to IPX800V5

```auto
gladys/device/mqtt:IPX800V5_Relais1/feature/mqtt:IPX800V5_Relais1/state

```

would become

```auto
gladys/device/IPX800V5_Relais1/feature/IPX800V5_Relais1/state

```

or even (according to the MQTT standard)

```auto
gladys/device/IPX800V5_Relais1/state

```

Similarly

```auto
gladys/master/device/mqtt:IPX800V5_Relais1/feature/mqtt:IPX800V5_Relais1/state

```

would become

```auto
gladys/master/device/IPX800V5_Relais1/state

```

Doesn’t that make more sense right away? 😉

And like the Duponts and Duponts, I would even say more:

IPX800V5 subscribes to **«&nbsp;Gladys\switch\state&nbsp;»** (payload 0 or 1 / on or off / true or false)  
Gladys publishes on **«&nbsp;Gladys\switch\state&nbsp;»** (payload 0 or 1 / on or off / true or false)  
If by scene or in the discussion I tell Gladys «&nbsp;open the relay&nbsp;» Gladys opens the switch  
and publishes the state of the switch, the IPX800V5 is informed and switches its relay and Versailles high school!

Gladys subscribes to **«&nbsp;IPX800V5\Relais1\state&nbsp;»** (payload 0 or 1 / on or off / true or false)  
IPX800V5 publishes **«&nbsp;IPX800V5\Relais1\state&nbsp;»** (payload 0 or 1 / on or off / true or false)  
If the relay of the IPX800V5 is switched by programming in the IPX800V5, it publishes the state of its relay, Gladys is informed and switches its switch  
All with QOS at 1 to avoid loops

So in Gladys we have

- a subscription **to** the state of Relais1 of the IPX800V5 ( **«&nbsp;IPX800V5\Relais1\state&nbsp;»** )
- a publication **of** the state of the Gladys switch ( **«&nbsp;Gladys\switch\state&nbsp;»** )

And in the IPX800V5 we have

- a subscription **to** the state of the Gladys switch ( **«&nbsp;Gladys\switch\state&nbsp;»** )
- a publication **of** the state of Relais1 of the IPX800V5 ( **«&nbsp;IPX800V5\Relais1\state&nbsp;»** )

We understand this better if we consider that the mosquito broker only serves to store and transmit messages that clients (publishers) send to other clients (subscribers) and that therefore the clients can indifferently be both publisher and subscriber but it is necessary to specify each time the id of the client sending the publication and the id of the client receiving the publication (Gladys and IPX800V5) 🤯

All this being valid only if there is no objective reason to do otherwise! 🤔  
So even if Gladys plays a ‹&nbsp;master&nbsp;› role and controls the ‹&nbsp;slave&nbsp;› peripherals associated with it from an mqtt point of view, it remains a client of mosquitto like the other peripherals!

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [January 27, 2022, 5:32pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/29 "2022-01-27T17:32:24Z")

</div>

> [@cce66](#):
>
> I think it would also be simpler not to put the «&nbsp;mqtt:&nbsp;» part of the «&nbsp;External ID&nbsp;» in the topic, it doesn’t make sense to me and it makes the topic longer, and on the ipx800v5 it becomes too long! (I didn’t find out if there is a limit for the topic)

Actually, you want to remove the mandatory «&nbsp;mqtt:&nbsp;» prefix from the external ID, it’s more of an external ID question than an MQTT topic.

Originally, we added this prefix because this external ID is unique in the DB for all devices in all of Gladys, and we don’t want multiple integrations to collide, since the MQTT integration is the only integration where the user chooses this external ID.

After that, I agree that in terms of readability it’s less clean, and it causes problems with topics that are too long. To be discussed with the team. @AlexTrovato What do you think? (Remove the mandatory «&nbsp;mqtt:&nbsp;» prefix for new MQTT devices)

> [@cce66](#):
>
> clients can indifferently be both publishers and subscribers

That’s exactly it 🙂

> [@cce66](#):
>
> So even if Gladys plays the role of a ‹&nbsp;master&nbsp;›

Actually, the idea of a master is not that Gladys is the «&nbsp;master&nbsp;», I think you misunderstood this notion of the API because you don’t have all the history of the design: one of the future developments of v4 (well, it’s very long term), was to have a notion of a «&nbsp;master&nbsp;» instance, and «&nbsp;pod&nbsp;» instances.

The idea was to theoretically have «&nbsp;mini gladys&nbsp;» that could run on other machines to control remote devices.

Thus, Gladys would not just be an instance but a network of several instances, one master and X pods.

We designed the API to indicate that you are talking to Gladys «&nbsp;master&nbsp;»:

`gladys/master/**`

Or to a pod instance:

`gladys/pod/POD_ID/**`

However, since this notion is not developed, I didn’t tell you about it to avoid confusing you 🙂

But I assure you that all this API is months of reflection and work, nothing is left to chance! I invite you to reread the discussions on the design forum, everything is public.

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [January 27, 2022, 10:05pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/30 "2022-01-27T22:05:23Z")

</div>

> [@pierre-gilles](#):
>
> remove the mandatory «&nbsp;mqtt:&nbsp;» prefix for new MQTT devices)

I didn’t find this requirement in the MQTT documentation? Is it in version 5? In any case, it works perfectly without it in the example above between the IPX800 and Node-RED!

> [@pierre-gilles](#):
>
> one master and X pods.

Okay, that makes sense «&nbsp;gladys\master&nbsp;» «&nbsp;gladys\pods&nbsp;» and «&nbsp;gladys\device&nbsp;» with properties and methods afterwards! We are indeed in the Internet of Things! 😀  
By the way, thinking about it 🤔 given this information… the IPX800V5 is somehow… a mini-pod! 😏

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [February 10, 2022, 12:16am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/31 "2022-02-10T00:16:44Z")

</div>

Hello @pierre-gilles

After a lot of effort, I finally managed to control the IPX800V5 from Gladys, here’s the tutorial!

> [@Mini Tuto - Interaction Gladys - IPX800V5 via node-red](https://community.gladysassistant.com/t/mini-tuto-interaction-gladys-ipx800v5-via-node-red/6917):
>
> Le but de ce tuto est de montrer comment piloter des relais de la plate-forme domotique IPX800V5 de GCE avec Gladys Allez dans l’onglet « Système » [image] Cliquez sur « MQTT » [image] Paramétrez comme suit, avec pour « Serveur: " l’ip du broker mosquito (IP du raspberry ou du Nuc sur lequel est installé Gladys, en « Client ID » le nom que vous voudrez (j’ai mis ici IPX800V5 c’est important pour les paramétrage des Topic dans Node-red) [image] Ensuite on va dans l’onglet « Liens » [image…

And the same on the GCE forum to make Gladys known to IPX800V5 owners, I think the Gladys Plus part could really interest them! 😉

> **[Mini tuto Gladys Nore-red IPX800V5](https://forum.gce-electronics.com/t/mini-tuto-gladys-nore-red-ipx800v5/14906)**
>
> Bonjour à tous, Un mini tuto pour mettre en œuvre une liaison entre l’IXP800V5 et une solution domotique open source qui s’appelle Gladys Assistant (Le logiciel de domotique open-source qui respecte votre vie privée | Gladys Assistant). Elle a...

I hope I published in the right place.  
On the other hand, regarding voice recognition, I saw this, it’s recent and it looks powerful

> **[alphacep/kaldi-vosk-server - Docker Image](https://hub.docker.com/r/alphacep/kaldi-vosk-server)**

> **[alphacep/kaldi-fr - Docker Image](https://hub.docker.com/r/alphacep/kaldi-fr)**

[![](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/0/024e51d3c895ad8362005ed87062ef188f1386ff.jpeg "Créer sa propre reconnaissance vocale. Librairie python : vosk") ](https://www.youtube.com/watch?v=DDqUEjeDyUo)

It would be interesting to study the possibility of deploying it in Gladys! I will try to deploy it on my NUC and see how to «&nbsp;play&nbsp;» with it. It’s true that it’s missing compared to v3!

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [February 10, 2022, 7:09pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/32 "2022-02-10T19:09:42Z")

</div>

> [@cce66](#):
>
> I hope I posted in the right place.

I moved the tutorial to the «&nbsp;tutorial&nbsp;» category of the forum 🙂

Great job on the tutorial, it’s awesome!

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [February 10, 2022, 7:36pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/33 "2022-02-10T19:36:16Z")

</div>

If this can move the schmilblick forward 👍 and the IPX side coupled with Zigbee via Gladys is complementary (only missing voice recognition… 🤪)

I’m going to do another one because on node-red there is a sun-calc module that allows you to calculate the sun’s position and coupled with temperature sensors, it can create interesting scenarios with the GCE roller shutter module [https://www.gce-electronics.com/fr/carte-relais-ethernet-module-rail-din/1097-ipx800-v4-extension-4-volets-roulants-x-4vr-3760309690094.html](https://www.gce-electronics.com/fr/carte-relais-ethernet-module-rail-din/1097-ipx800-v4-extension-4-volets-roulants-x-4vr-3760309690094.html) which is controllable via MQTT through the IPX800V5! 😉

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [February 10, 2022, 11:36pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/34 "2022-02-10T23:36:04Z")

</div>

However @pierre-gilles, are there any buttons that could do the job for the roller shutters?

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [February 11, 2022, 8:46am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/35 "2022-02-11T08:46:05Z")

</div>

No! There are 2 feature requests going in this direction:

> [@Bouton poussoir sur le tableau de bord](https://community.gladysassistant.com/t/bouton-a-impulsion/6780):
>
> Je propose d’ajouter un bouton à impulsion dans les fonctionnalités des Appareils. Par exemple, un des premiers équipement que l’on souhaite contrôler est le ou les volets roulants électriques. Une des possibilités est d’utiliser les fonctionnalités proposées ici : [Gestion des volets roulants - #13 par syper](https://community.gladysassistant.com/t/gestion-des-volets-roulants/5693/13) Une autre possibilité est d’utiliser uniquement un bouton à impulsion (toujours le même message) qui permet de monter, de stopper ou de descendre le volet. Derrière bien sûr il faut gérer…

And more complete:

> [@Gestion des volets roulants](https://community.gladysassistant.com/t/gestion-des-volets-roulants/5693):
>
> Ce sujet fait suite à l’issue GitHub : @AlexTrovato on peut en parler ici en français car j’ai l’impression qu’on ne se comprend pas en anglais là bas smiley En fait le problème c’est de stocker l’information sur les capacités du volet roulant. Imaginons 3 marques de volets hypothétique : La première est contrôlée par une télécommande avec 3 boutons: ouvrir les volets à 100%, ouvrir à 50%, et ouvrir à 0% (position fermé) La deuxième est contrôlée par une télécommande avec un bouton …

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [February 11, 2022, 10:03am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/36 "2022-02-11T10:03:26Z")

</div>

> [@cce66](#):
>
> With the GCE roller shutter module [Roller Shutter Control - X4VR](https://www.gce-electronics.com/fr/carte-relais-ethernet-module-rail-din/1097-ipx800-v4-extension-4-volets-roulants-x-4vr-3760309690094.html)

That’s why I preferred to automate my shutters with my IPX because I have status feedback that I can manage via MQTT and therefore use in Gladys!

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/b/b16bc7493241a18779623166e4055a33a821463c.png)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/2/28f140be10904a83eed2c60e149765116bd3abe9.png)

And with Node-RED, there is also this module that allows many possibilities to manage the roller shutters. In the end, the integration of Node-RED with Gladys is 👍

![](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/e/ef2d9dc083cc93920602dbe4a523cb91298c6f85.png) [flows.nodered.org](https://flows.nodered.org/node/node-red-contrib-blindcontroller-v2)

 ![](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7ba0952a09f9375e8f39bea1b54ef6186086c6fb.png)

### [node-red-contrib-blindcontroller-v2](https://flows.nodered.org/node/node-red-contrib-blindcontroller-v2)

A collection of Node-Red nodes that automates the control of household roller blinds based on the current position of the sun

And we can know the position of the sun on the shutters here [Calcul de la position du soleil dans le ciel pour chaque localisation à importe quel moment](https://www.sunearthtools.com/dp/tools/pos_sun.php?lang=fr)

All that’s missing is the right button in Gladys!

As they say, all that’s missing from Gladys is speech… and voice recognition! 😉

---

<div class="post-metadata">

**Author:** ![Fabic](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/f/a698b9/32.png) [@Fabic](https://community.gladysassistant.com/u/Fabic)\
**Post date:** [February 12, 2022, 9:07am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/37 "2022-02-12T09:07:35Z")

</div>

To manage the shutters and motors, there is also Tasmota: [Shutters and Blinds - Tasmota](https://tasmota.github.io/docs/Blinds-and-Shutters/)

In this case, the integration with Gladys is automatic, but to be perfect, either the push button or the «&nbsp;Up and Down&nbsp;» buttons are missing, as proposed by @syper in this integration request: [Gestion des volets roulants - #16 par pierre-gilles](https://community.gladysassistant.com/t/gestion-des-volets-roulants/5693/16)

The only downside for me in Tasmota mode 1 is that the switching time between «&nbsp;Up&nbsp;» and «&nbsp;Down&nbsp;» is hardcoded in the code to 50 ms. A bit tight for relays, and in some assemblies with triac and even mosfet.

---

<div class="post-metadata">

**Author:** ![cce66](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/8797f3/32.png) [@cce66](https://community.gladysassistant.com/u/cce66)\
**Post date:** [February 12, 2022, 10:14am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/38 "2022-02-12T10:14:58Z")

</div>

I don’t know tasmota, is there a VR module? Because I prefer a solution that works in case of problems (fire) because insurances in this case always try to smoke you 😭 by saying you did some DIY! 😤

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [March 4, 2022, 9:37am UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/39 "2022-03-04T09:37:58Z")

</div>

> [@cce66](#):
>
> In this case, I think everyone will agree that both addresses should be displayed by default and that if you check «&nbsp;Is this a sensor?&nbsp;», only the corresponding line should be displayed!

I confirm that I have just improved the UX of the MQTT view by displaying both topics when the option is disabled 🙂

Actuator:

 ![Screenshot 2022-03-04 at 09.18.17](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/b/bfd0ef6439cf980bcf253f800a37f5f81e08bde4.png)

Sensor:

 ![Screenshot 2022-03-04 at 09.17.51](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/7/7592737639011dab1ea7da3069cab5f086719fde.png)

For now, it’s in a PR, it will go out in the next update of Gladys.

> <https://github.com/GladysAssistant/Gladys/pull/1449>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[\] If your changes affects code, did your write the tests?
> \- \[\] Are tests passing? (\`npm test\` on both front/server)
> \- \[\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[\] If you are adding a new features/services, did you run integration comparator? (\`npm run compare-translations\` on front)
> \- \[\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to \[the community\](https://community.gladysassistant.com/) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[\] Did you add fake requests data for the demo mode (\`front/src/config/demo.js\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> \<img width="439" alt="Screenshot 2022-03-04 at 09 29 31" src="https://user-images.githubusercontent.com/7365207/156737466-78744882-2e9c-4eef-b7f2-006d8b13054c.png"\>
> \<img width="426" alt="Screenshot 2022-03-04 at 09 29 25" src="https://user-images.githubusercontent.com/7365207/156737476-069b04b5-e837-4ff5-a699-189d4ea226ee.png"\>

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [March 8, 2022, 9:31pm UTC](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784/40 "2022-03-08T21:31:41Z")

</div>

I confirm that the UX improvement is available in Gladys Assistant 4.8:

> [@Gladys Assistant 4.8 est disponible et permet d'utiliser les calendriers dans les scènes ! rocket](https://community.gladysassistant.com/t/gladys-assistant-4-8-est-disponible-et-permet-dutiliser-les-calendriers-dans-les-scenes/7036):
>
> Hello à tous, Suite au live, je suis heureux de lancer Gladys Assistant 4.8 officiellement slight_smile Vous trouverez toutes les nouveautés dans un article récapitulatif sur le blog : Le replay du live est dans l’article slight_smile Merci à tous ceux qui étaient là, et tous ceux qui ont contribués à cette nouvelle version !

[Previous page](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784.md?page=1)

[Next page](https://community.gladysassistant.com/t/piloter-ipx800-v5-dans-gladys/6784.md?page=3)
