Z-Wave JS UI integration

Hi everyone!

I talked with @_Will_71 and @Brisou, both want to contribute to a potential Z-Wave JS UI integration, so that’s super positive :slight_smile:

That said, the first step to develop an integration (setting up the whole project, UI, tests, etc…) is a big step, so I offered my help by doing a live stream like I did for Sonos. Then I’ll pass the baton to whoever wants to add devices little by little, a bit like we do on Zigbee2mqtt!

So I propose, this Sunday, December 17 at 10:00, a YouTube live to code together in one day a first MVP of a Z-Wave JS UI integration!

Follow on YouTube here:

On my end, I equipped myself with hardware this week with this duo:

The idea will of course be to make a minimal integration; I won’t be too greedy so as not to repeat the mistakes of that integration :smiley:

Then, after this development, I’ll launch the integration with a single device (this Fibaro sensor), and afterward the work will be to add support for all compatibilities.

Thanks to everyone who will follow the live — I’d welcome your help in the comments because I’m not very familiar with the Z-Wave protocol nor with Z-Wave JS UI.

9 Likes

I think you’ve got something really interesting with those « first step » live streams.
We saw it on the forum, some people discovered talents!! :grin:

2 Likes

A three-person livestream?

1 Like

For sure, I didn’t expect that! All the better if it helps to « kick off development » :slight_smile:

No, just me!

1 Like

He tried but I’m not available this weekend and I’m not at the same level as @pierre-gilles

3 Likes

Great, Sunday 10am… oh well I’m not a fan of mass so I’ll be listening in and since it’s Sunday I’ll bring the croissants! :rofl:

3 Likes

If we can get on the same page, I’m happy to get my hands dirty again :wink:

4 Likes

Thanks to everyone who came to watch this live :partying_face:

The bet was met again, with a functional integration, complete PR with tests, translations, assets and Docker image, in 7h30 !! :metal:

The list of integrations with Z-Wave :

The configuration page that allows adding an external MQTT broker :

The « Discovery » page that lets you see detected Z-Wave devices :

The « Devices » page that lets you see Z-Wave devices added to Gladys :

The dashboard with a Z-Wave sensor added :slight_smile:

The replay of the live stream is available here :

The PR is on GitHub (would appreciate your review!):

A test Docker image is being built with the tag :

gladysassistant/gladys:zwavejs-ui-integration

(Available in about 30 minutes, around 6:20 PM or so)

Thanks to everyone who was there, I hope it was interesting and that it gave you motivation to contribute to Gladys!

6 Likes

That’s definitely the time to remember ^^
Well done @pierre-gilles, couldn’t follow everything but that will make a good dynamic and sound wallpaper for my next week :sweat_smile: :sweat_smile:

[quote=« pierre-gilles, post:28, topic:8573 »]
![Screenshot 2023-12-17 at

Correction: « […] re-pair the device in Gladys. » or « […] pair the device again in Gladys. »

I didn’t catch the live stream, but well done. :clap:

Is this integration intended to be merged as-is?
If that’s the case, I can prepare test feedback.

Thanks for the feedback @Terdious I’ll fix it!

Thanks @_Will_71 :pray:

Yes! I’d be happy to get your review :slight_smile:

  1. The information saved in the MQTT configuration is not displayed when you return to the configuration page.
  2. My devices don’t have a « location » but are still discovered

Otherwise I can’t go any further, I don’t have any compatible devices at the moment :slight_smile:

Oh really? I can’t reproduce it!

Ah! I’ll change that

Yet I do have devices in the « Discovery » tab.

Ah, I think I understand, I was wrong — I didn’t scope the variables by service in the front-end!! my bad, I’ll fix it!

localisation rather than location
Because, as the late, much-missed Coluche used to say: « we say ‹ God be praised › but we didn’t say how much! » :blush:

No, as said in the live stream, the term on the Z-Wave JS UI side is « location » and not localisation, so I prefer to keep their jargon so that the user understands where it comes from

1 Like