Z-Wave - Gladys v4 - Windows WSL

Hello,

Now that my configuration works and my Z-Wave key is recognized!
I was able to check why not all information was coming from my Fibaro Motion Sensor and it was quite simple…

In the file server/services/zwave/lib/constants.js I added:

// motion sensor Fibaro FGMSZW5 FIBARO Motion Sensor (FGMS-001)
{
CATEGORY: DEVICE_FEATURE_CATEGORIES.MOTION_SENSOR,
COMMAND_CLASSES: [COMMAND_CLASSES.COMMAND_CLASS_SENSOR_BINARY],
INDEXES: [INDEXES.INDEX_SENSOR_BINARY_MOTION],
TYPE: DEVICE_FEATURE_TYPES.SENSOR.BINARY,
PRODUCT_IDS: [‹ 0x1001 ›],
PRODUCT_TYPES: [‹ 0x0801 ›],
},

There was already a « default motion sensor »:

// motion sensor
{
CATEGORY: DEVICE_FEATURE_CATEGORIES.MOTION_SENSOR,
COMMAND_CLASSES: [COMMAND_CLASSES.COMMAND_CLASS_SENSOR_BINARY],
INDEXES: [INDEXES.INDEX_SENSOR_BINARY_MOTION],
TYPE: DEVICE_FEATURE_TYPES.SENSOR.BINARY,
},

I just added the information related to the product ID and product type that I found here:

However, I don’t understand why the data is not updated after modifying an event… on the server side, we can see that something is happening when a movement is detected:
2021-05-10T22:01:02+0200 zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {« value_id »:« 8-113-1-256 »,« node_id »:8,« class_id »:113,« type »:« byte »,« genre »:« user »,« instance »:1,« index »:256,« label »:« Previous Event Cleared »,« units »:«  »,« help »:« Previous Event that was sent »,« read_only »:true,« write_only »:false,« min »:0,« max »:255,« is_polled »:false,« value »:3}
2021-05-10T22:01:02+0200 zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:0->3
2021-05-10T22:01:02+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:315:20)
at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
at OZW.emit (events.js:315:20)
2021-05-10T22:01:02+0200 zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {« value_id »:« 8-113-1-7 »,« node_id »:8,« class_id »:113,« type »:« list »,« genre »:« user »,« instance »:1,« index »:7,« label »:« Home Security »,« units »:«  »,« help »:« Home Security Alerts »,« read_only »:true,« write_only »:false,« min »:0,« max »:0,« is_polled »:false,« values »:[« Clear »,« Tampering - Cover Removed »,« Motion Detected at Unknown Location »],« value »:« Clear »}
2021-05-10T22:01:02+0200 zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Home Security:Tampering - Cover Removed->Clear
2021-05-10T22:01:02+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:315:20)
at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
at OZW.emit (events.js:315:20)
2021-05-10T22:01:12+0200 index.js:80 (WebsocketManager.userDisconnected) User André connected in websocket
2021-05-10T22:01:13+0200 index.js:56 (WebsocketManager.userConnected) User André connected in websocket
2021-05-10T22:01:18+0200 bluetooth.scanPresence.js:24 (BluetoothManager.scanPresence) Bluetooth: 0 presence sensor features
2021-05-10T22:01:25+0200 zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {« value_id »:« 8-113-1-256 »,« node_id »:8,« class_id »:113,« type »:« byte »,« genre »:« user »,« instance »:1,« index »:256,« label »:« Previous Event Cleared »,« units »:«  »,« help »:« Previous Event that was sent »,« read_only »:true,« write_only »:false,« min »:0,« max »:255,« is_polled »:false,« value »:8}
2021-05-10T22:01:25+0200 zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:3->8
2021-05-10T22:01:25+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:315:20)
at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
at OZW.emit (events.js:315:20)
2021-05-10T22:01:25+0200 zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {« value_id »:« 8-113-1-256 »,« node_id »:8,« class_id »:113,« type »:« byte »,« genre »:« user »,« instance »:1,« index »:256,« label »:« Previous Event Cleared »,« units »:«  »,« help »:« Previous Event that was sent »,« read_only »:true,« write_only »:false,« min »:0,« max »:255,« is_polled »:false,« value »:8}
2021-05-10T22:01:25+0200 zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Previous Event Cleared:8->8
2021-05-10T22:01:25+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:315:20)
at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
at OZW.emit (events.js:315:20)
2021-05-10T22:01:25+0200 zwave.valueChanged.js:14 (ZwaveManager.valueChanged) Zwave : Value Changed, nodeId = 8, comClass = 113, value = {« value_id »:« 8-113-1-7 »,« node_id »:8,« class_id »:113,« type »:« list »,« genre »:« user »,« instance »:1,« index »:7,« label »:« Home Security »,« units »:«  »,« help »:« Home Security Alerts »,« read_only »:true,« write_only »:false,« min »:0,« max »:0,« is_polled »:false,« values »:[« Clear »,« Tampering - Cover Removed »,« Motion Detected at Unknown Location »],« value »:« Clear »}
2021-05-10T22:01:25+0200 zwave.valueChanged.js:16 (ZwaveManager.valueChanged) node8: changed: 113:Home Security:Clear->Clear
2021-05-10T22:01:25+0200 device.newStateEvent.js:20 (DeviceManager.newStateEvent) NotFoundError: DeviceFeature not found
at DeviceManager.newStateEvent (/home/tagcash/gladys/server/lib/device/device.newStateEvent.js:16:13)
at EventEmitter.emit (events.js:315:20)
at Event.emit (/home/tagcash/gladys/server/lib/event/index.js:8:16)
at ZwaveManager.valueChanged (/home/tagcash/gladys/server/services/zwave/lib/events/zwave.valueChanged.js:25:23)
at OZW.emit (events.js:315:20)
2021-05-10T22:01:28+0200 zwave.getNodeNeighbors.js:14 (ZwaveManager.getNodeNeighbors) Zwave : Getting node neighbors…
2021-05-10T22:01:30+0200 zwave.getInfos.js:14 (ZwaveManager.getInfos) Zwave : Getting informations…
2021-05-10T22:01:30+0200 zwave.getNodeNeighbors.js:14 (ZwaveManager.getNodeNeighbors) Zwave : Getting node neighbors…
2021-05-10T22:02:18+0200 bluetooth.scanPresence.js:24 (BluetoothManager.scanPresence) Bluetooth: 0 presence sensor features

But unfortunately no update on the front end :frowning:

I don’t think what you added is useful @tagcash :slight_smile:

Actually, this file works in two ways:

  • The Z-Wave comclasses that are easy to retrieve, we declare them as is (case of the motion sensor), without putting product_ids/product_types, because it’s still the original purpose of the comclasses: being able to detect what the product does regardless of its brand.
  • For very specific cases where generic comclasses are not sufficient to deduce the functionality, we add a filter by product_ids or product_types, but it’s really for specific cases.

In your case, adding the product_type/product_ids didn’t add anything, because the motion sensor was already correctly identified, right?

From what I understood, the bug you have is that the movement data is not coming back, right?

What I would do in your case is look at the file events/zwave.valueChanged, and see what is being sent for this sensor in particular to successfully map it with Gladys.

Normally, for a motion sensor, it’s quite simple: the service needs to emit to Gladys the integer value 1 when a movement is detected, that’s all :slight_smile:

So by reading your logs, it would explain what’s wrong, your device is sending a value « 3 », Gladys doesn’t know what « 3 » means!

After that, I don’t think your event 3 is related to a movement, on the contrary, I think it’s the opposite event (which we don’t care about so much).

Try to properly retrieve the event during a movement and see the value, to map it with Gladys :slight_smile:

Yes and no, in any case since I added it, I now have all the data coming back, unlike before when I only had the temperature and brightness, now I have the battery status, brightness, motion detection, temperature, seismic value, and other information that is not used.

You added what? Just the part you showed before? The part you showed before is related to movement, I’m surprised that it added the battery, brightness, and other things.

I just added

PRODUCT_IDS: [‘0x1001’],
PRODUCT_TYPES: [‘0x0801’],

And I got the battery, motion detection, seismic value all at once, and if I remove it, it goes back to normal.

But I will look and see what this 3 corresponds to, it might be useful in certain circumstances it would be good to handle it too :innocent:

Ok, we need to understand this because, in my opinion, it’s more of a side effect that you’ve discovered than the normal behavior :grinning_face_with_smiling_eyes:

Have you found a way to make the movement work?

No, I haven’t had time to work on it, I’m taking care of my baby full-time today :innocent:. Maybe tonight and definitely tomorrow

Hi @tagcash, how are you doing? :slight_smile:

Back on the integration of this device to Gladys?

For information, we have a new Z-Wave user helping us integrate devices, it would be great to have a Z-Wave session with multiple limits to integrate all your devices into Gladys :slight_smile:

The discussion:

https://community.gladysassistant.com/t/integration-zipato-mini-keypad/6325

I haven’t tried again since, but in January, I had inclusion issues with my LED Bulb. And as a result, I also have a Door sensor that I have never tried to include, but if things move on the zwave side, I will try this weekend.

LED BULB Issue

So far, there weren’t many people on the Zwave side, but recently there’s been some enthusiasm, so if we can motivate ourselves together to add these devices to Gladys, that would be great :slightly_smiling_face:

Sure, we can definitely have a session :+1: On my side, I looked to see if I could spot the issues with openzwave, but I didn’t find anything and I couldn’t fix anything. I thought to change things up, let’s try integrating zwavejs… Well, it appears in the integrations, I have a good start but there’s still the entire integration and… I’m stuck :sweat_smile: I clearly don’t have the level for this, I’ll keep digging, it’s good but for now I don’t understand much. On the other hand, creating a service is super simple on Gladys and it’s cool :+1: it’s the integration of something that has been done by others that makes the task difficult for me.

Hello everyone,
I put Gladys aside because I have all my heating in Z-Wave. I switched back to Domoticz for this winter :wink:
I’ve been waiting for one thing since I switched to Gladys, the Z-Wave… So I’m waiting.
My equipment:
Dongle: Z-Stick GEN5
Heating: QUBINO ZMNHJD1
Roller Shutters: Fibaro FGR-222 « Roller Shutter 2 » with Schneider Odace switches
Motion Detector: ZIPATO (VISION) ZP3102+
Remote Control: NodOn « Octan Remote »
Wireless Switch: NodOn « Wall Switch »
Telerupter: QUBINO « Flush 1 Relay » ZMNHAD1
Light Dimmer: Qubino « Flush Dimmer » ZMNHDD1

The website where I usually buy my equipment keeps offering deals on this equipment, so I’m not investing.

@++

@tagcash @ArMour85

Are you available now (or in the next hour) to call and talk about Z-Wave? :slight_smile:

Otherwise, we can call later in the week, I’m available on Thursday and Friday!

@gaetanb76 I know, it’s frustrating, but unfortunately without the equipment, it’s not easy to integrate blindly ^^ I have high hopes that someone here can help you with your equipment, it will come!

Otherwise, have you thought about using Domoticz for Z-Wave control of the devices you’re missing, and then using Domoticz’s API from Gladys to propagate the « commands »?

Sorry Pierre-Gilles, I’m not available this afternoon. Tomorrow from 2 PM and Wednesday from 9 AM.
No, I haven’t looked into the API yet.
Not much time at the moment.

Not available tomorrow or Wednesday for me.

Available:

  • Thursday morning at any time before noon (even at 6:00 a.m.)
  • Friday morning at any time before 11:00 a.m. (even at 6:00 a.m.)

I am mostly available in the evening or on the weekend, the rest of the time I work and my free time is rare.

After that, we can also chat, I use Discord a lot for work and other things. Is it possible to have a Gladys channel on Discord, that would be great to move forward and share our screens to set up the configurations.

Okay, I suggested a call if that was more convenient for you, but asynchronous communication via messages is fine with me too! So, it’s best to stick with the forum :slight_smile:

Edit: Now it’s up to you regarding my last message on the other topic.

Do you talk about the integration of the Keypad Zipato?

I added devices to the Zwave issue because my door sensors are not working → Integration zwave non fonctionelle · Issue #905 · GladysAssistant/Gladys · GitHub.