Z-wave JS UI Fibaro FGR221

Hi everyone, I was using Z-wave JS fully working and I’m trying to migrate to zwave JS UI. In zwave JS my Fibaro roller shutters FGR221 where recognized as covers, but in JS UI they are recognized as a switch and dimmer.
As seen in picture device appear to be fully configured and manual control works

any idea?
Thanks

Z-Wave JS UI exposes the “raw” Z-Wave values. It has no concept of “entities”. Your device supports those command classes and HA treats it as a cover entity.

Thanks for the reply.
I’ve been debugging and it seems that if connecting the Zwave JS integration using WS, HA recognizes the Fibaro as cover, but the same instance using MQTT gateway finds a dimmer.
I’ve been trying to modify the JSON provided to HA by the UI addon but no luck.
If entities are assigned by HA, I don’t understand why recognition is different depending on communication channel
Any help in making that in mqtt entity Fibaro works as a cover?

The Z-Wave integration is implemented as part of HA by HA developers or volunteers. It uses a completely different protocol and API (zwave-js-server via WebSocket), and the integration decides how entities are created. MQTT Discovery is implemented by Z-Wave JS UI, which has no connection to HA and is a different developer. In this case, it’s Z-Wave JS UI that decides how the entities are created by using the discovery configurations.

If you want to use MQTT discovery (why?) you will need to implement some of the device customization yourself. MQTT discovery is not maintained much. You can probably customize the device to report as a cover: https://zwave-js.github.io/zwave-js-ui/#/homeassistant/homeassistant-mqtt?id=home-assistant-using-mqtt-discovery. As it says, you can submit a PR to zwave-js-ui if you get it working to benefit others. Otherwise you’ll need to submit an issue to ZUI because it’s unrelated to HA.

I prefer using z-wave integration, but with it the Aeon DSC14 roller motor only shows buttons to up and down, not stop, making it unusable.

With MQTT gateway the DSC14 works perfecty, but the Fibaro don’t, and I thought that it would easier to make changes in ZUI because the JSON to HA was accesible at entity level

Maybe you can help me with the original issue, the Aeon DSC14 showing just up and down buttons instead of up-stop-down

Post the device diagnostic file which can be downloaded from the Device page, ... menu.

Attached image file without the stop button and dagnostic. Thanks for your help.

imagen

{"home_assistant":{"installation_type":"Home Assistant OS","version":"2023.11.2","dev":false,"hassio":true,"virtualenv":false,"python_version":"3.11.6","docker":true,"arch":"x86_64","timezone":"Europe/Madrid","os_name":"Linux","os_version":"6.1.59","supervisor":"2023.11.0","host_os":"Home Assistant OS 11.1","docker_version":"24.0.6","chassis":"vm","run_as_root":true},"custom_components":{"hacs":{"version":"1.33.0","requirements":["aiogithubapi>=22.10.1"]},"huawei_solar":{"version":"1.2.8","requirements":["huawei-solar==2.2.9"]},"nodered":{"version":"3.1.1","requirements":[]},"pvpc_hourly_pricing":{"version":"1.1.1","requirements":["aiopvpc>=4.2.1"]},"solcast_solar":{"version":"4.0.12","requirements":["aiohttp>=3.6.2","datetime>=4.3","isodate>=0.6.1"]},"illuminance":{"version":"4.1.0","requirements":[]},"sonoff":{"version":"3.5.3","requirements":["pycryptodome>=3.6.6"]},"adaptive_lighting":{"version":"1.19.0","requirements":["ulid-transform"]},"balance_neto":{"version":"0.1.0","requirements":[]}},"integration_manifest":{"domain":"zwave_js","name":"Z-Wave","codeowners":["@home-assistant/z-wave"],"config_flow":true,"dependencies":["http","repairs","usb","websocket_api"],"documentation":"https://www.home-assistant.io/integrations/zwave_js","integration_type":"hub","iot_class":"local_push","loggers":["zwave_js_server"],"quality_scale":"platinum","requirements":["pyserial==3.5","zwave-js-server-python==0.53.1"],"usb":[{"vid":"0658","pid":"0200","known_devices":["Aeotec Z-Stick Gen5+","Z-WaveMe UZB"]},{"vid":"10C4","pid":"8A2A","description":"*z-wave*","known_devices":["Nortek HUSBZB-1"]}],"zeroconf":["_zwave-js-server._tcp.local."],"is_built_in":true},"data":{"versionInfo":{"driverVersion":"12.3.0","serverVersion":"1.33.0","minSchemaVersion":0,"maxSchemaVersion":33},"entities":[{"domain":"sensor","entity_id":"sensor.micro_motor_controller_power","original_name":"Power","original_device_class":"power","disabled":false,"disabled_by":null,"hidden_by":null,"original_icon":null,"entity_category":null,"supported_features":0,"unit_of_measurement":"W","value_id":"26-49-0-Power","primary_value":{"command_class":49,"command_class_name":"Multilevel Sensor","endpoint":0,"property":"Power","property_name":"Power","property_key":null,"property_key_name":null}},{"domain":"sensor","entity_id":"sensor.micro_motor_controller_electric_consumption_kwh","original_name":"Electric Consumption [kWh]","original_device_class":"energy","disabled":false,"disabled_by":null,"hidden_by":null,"original_icon":null,"entity_category":null,"supported_features":0,"unit_of_measurement":"kWh","value_id":"26-50-0-value-65537","primary_value":{"command_class":50,"command_class_name":"Meter","endpoint":0,"property":"value","property_name":"value","property_key":65537,"property_key_name":"Electric_kWh_Consumed"}},{"domain":"sensor","entity_id":"sensor.micro_motor_controller_electric_consumption_w","original_name":"Electric Consumption [W]","original_device_class":"power","disabled":false,"disabled_by":null,"hidden_by":null,"original_icon":null,"entity_category":null,"supported_features":0,"unit_of_measurement":"W","value_id":"26-50-0-value-66049","primary_value":{"command_class":50,"command_class_name":"Meter","endpoint":0,"property":"value","property_name":"value","property_key":66049,"property_key_name":"Electric_W_Consumed"}},{"domain":"switch","entity_id":"switch.micro_motor_controller","original_name":"","original_device_class":null,"disabled":false,"disabled_by":null,"hidden_by":null,"original_icon":null,"entity_category":null,"supported_features":0,"unit_of_measurement":null,"value_id":"26-37-0-currentValue","primary_value":{"command_class":37,"command_class_name":"Binary Switch","endpoint":0,"property":"currentValue","property_name":"currentValue","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_send_notifications_to_associated_devices_group_1","original_name":"Send Notifications to Associated Devices (Group 1)","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-80","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":80,"property_name":"Send Notifications to Associated Devices (Group 1)","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_external_switch_type","original_name":"External Switch Type","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-120","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":120,"property_name":"External Switch Type","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_motor_start_delay_time","original_name":"Motor Start Delay Time","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-4","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":4,"property_name":"Motor Start Delay Time","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_opening_time","original_name":"Opening Time","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-5","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":5,"property_name":"Opening Time","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_closing_time","original_name":"Closing Time","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-6","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":6,"property_name":"Closing Time","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_state_after_power_failure","original_name":"State After Power Failure","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-7","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":7,"property_name":"State After Power Failure","property_key":null,"property_key_name":null}},{"domain":"select","entity_id":"select.micro_motor_controller_count_of_external_buttons_switches","original_name":"Count of External Buttons/Switches","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-8","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":8,"property_name":"Count of External Buttons/Switches","property_key":null,"property_key_name":null}},{"domain":"number","entity_id":"number.micro_motor_controller_device_tag","original_name":"Device Tag","original_device_class":null,"disabled":true,"disabled_by":"integration","hidden_by":null,"original_icon":null,"entity_category":"config","supported_features":0,"unit_of_measurement":null,"value_id":"26-112-0-254","primary_value":{"command_class":112,"command_class_name":"Configuration","endpoint":0,"property":254,"property_name":"Device Tag","property_key":null,"property_key_name":null}},{"domain":"cover","entity_id":"cover.micro_motor_controller","original_name":"","original_device_class":"window","disabled":false,"disabled_by":null,"hidden_by":null,"original_icon":null,"entity_category":null,"supported_features":7,"unit_of_measurement":null,"value_id":"26-38-0-currentValue","primary_value":{"command_class":38,"command_class_name":"Multilevel Switch","endpoint":0,"property":"currentValue","property_name":"currentValue","property_key":null,"property_key_name":null}}],"state":{"nodeId":26,"index":0,"status":4,"ready":true,"isListening":true,"isRouting":true,"isSecure":false,"manufacturerId":134,"productId":14,"productType":3,"firmwareVersion":"1.23","name":"Persiana","location":"**REDACTED**","deviceConfig":{"filename":"/data/db/devices/0x0086/dsc14.json","isEmbedded":true,"manufacturer":"AEON Labs","manufacturerId":134,"label":"DSC14","description":"Micro Motor Controller","devices":[{"productType":3,"productId":14}],"firmwareVersion":{"min":"0.0","max":"255.255"},"preferred":false,"associations":{},"paramInformation":{"_map":{}}},"label":"DSC14","interviewAttempts":0,"isFrequentListening":false,"maxDataRate":40000,"supportedDataRates":[40000],"protocolVersion":2,"supportsBeaming":true,"supportsSecurity":false,"nodeType":1,"deviceClass":{"basic":{"key":4,"label":"Routing Slave"},"generic":{"key":17,"label":"Multilevel Switch"},"specific":{"key":5,"label":"Motor Control Class A"},"mandatorySupportedCCs":[32,38,37,114,134],"mandatoryControlledCCs":[]},"interviewStage":"Complete","deviceDatabaseUrl":"https://devices.zwave-js.io/?jumpTo=0x0086:0x0003:0x000e:1.23","statistics":{"commandsTX":25,"commandsRX":6,"commandsDroppedRX":0,"commandsDroppedTX":0,"timeoutResponse":0,"rtt":1109.2,"lastSeen":"2023-11-13T19:21:57.793Z"},"highestSecurityClass":-1,"isControllerNode":false,"keepAwake":false,"lastSeen":"2023-11-13T19:21:57.793Z","values":{"26-37-0-currentValue":{"endpoint":0,"commandClass":37,"commandClassName":"Binary Switch","property":"currentValue","propertyName":"currentValue","ccVersion":1,"metadata":{"type":"boolean","readable":true,"writeable":false,"label":"Current value","stateful":true,"secret":false},"value":null},"26-37-0-targetValue":{"endpoint":0,"commandClass":37,"commandClassName":"Binary Switch","property":"targetValue","propertyName":"targetValue","ccVersion":1,"metadata":{"type":"boolean","readable":true,"writeable":true,"label":"Target value","valueChangeOptions":["transitionDuration"],"stateful":true,"secret":false},"value":false},"26-38-0-currentValue":{"endpoint":0,"commandClass":38,"commandClassName":"Multilevel Switch","property":"currentValue","propertyName":"currentValue","ccVersion":3,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Current value","min":0,"max":99,"stateful":true,"secret":false},"value":99},"26-38-0-targetValue":{"endpoint":0,"commandClass":38,"commandClassName":"Multilevel Switch","property":"targetValue","propertyName":"targetValue","ccVersion":3,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Target value","valueChangeOptions":["transitionDuration"],"min":0,"max":99,"stateful":true,"secret":false},"value":99},"26-38-0-duration":{"endpoint":0,"commandClass":38,"commandClassName":"Multilevel Switch","property":"duration","propertyName":"duration","ccVersion":3,"metadata":{"type":"duration","readable":true,"writeable":false,"label":"Remaining duration","stateful":true,"secret":false}},"26-38-0-restorePrevious":{"endpoint":0,"commandClass":38,"commandClassName":"Multilevel Switch","property":"restorePrevious","propertyName":"restorePrevious","ccVersion":3,"metadata":{"type":"boolean","readable":false,"writeable":true,"label":"Restore previous value","states":{"true":"Restore"},"stateful":true,"secret":false}},"26-49-0-Power":{"endpoint":0,"commandClass":49,"commandClassName":"Multilevel Sensor","property":"Power","propertyName":"Power","ccVersion":3,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Power","ccSpecific":{"sensorType":4,"scale":0},"unit":"W","stateful":true,"secret":false},"value":0.008},"26-50-0-value-65537":{"endpoint":0,"commandClass":50,"commandClassName":"Meter","property":"value","propertyKey":65537,"propertyName":"value","propertyKeyName":"Electric_kWh_Consumed","ccVersion":2,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Electric Consumption [kWh]","ccSpecific":{"meterType":1,"scale":0,"rateType":1},"unit":"kWh","stateful":true,"secret":false},"value":0},"26-50-0-value-66049":{"endpoint":0,"commandClass":50,"commandClassName":"Meter","property":"value","propertyKey":66049,"propertyName":"value","propertyKeyName":"Electric_W_Consumed","ccVersion":2,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Electric Consumption [W]","ccSpecific":{"meterType":1,"scale":2,"rateType":1},"unit":"W","stateful":true,"secret":false},"value":0.008},"26-50-0-reset":{"endpoint":0,"commandClass":50,"commandClassName":"Meter","property":"reset","propertyName":"reset","ccVersion":2,"metadata":{"type":"boolean","readable":false,"writeable":true,"label":"Reset accumulated values","states":{"true":"Reset"},"stateful":true,"secret":false}},"26-112-0-80":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":80,"propertyName":"Send Notifications to Associated Devices (Group 1)","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Send Notifications to Associated Devices (Group 1)","default":0,"min":0,"max":2,"states":{"0":"Disable","1":"Hail CC","2":"Basic CC Report"},"valueSize":1,"format":1,"allowManualEntry":false,"isFromConfig":true},"value":0},"26-112-0-120":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":120,"propertyName":"External Switch Type","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"External Switch Type","default":0,"min":0,"max":1,"states":{"0":"Momentary mode","1":"Switch mode"},"valueSize":1,"format":0,"allowManualEntry":false,"isFromConfig":true},"value":0},"26-112-0-254":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":254,"propertyName":"Device Tag","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Device Tag","default":0,"min":0,"max":65535,"valueSize":2,"format":1,"allowManualEntry":true,"isFromConfig":true},"value":0},"26-112-0-4":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":4,"propertyName":"Motor Start Delay Time","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Motor Start Delay Time","default":0,"min":0,"max":2,"states":{"0":"Disable","1":"Hail CC","2":"Basic CC Report"},"unit":"ms","valueSize":1,"format":1,"allowManualEntry":false,"isFromConfig":true}},"26-112-0-5":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":5,"propertyName":"Opening Time","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Opening Time","default":0,"min":0,"max":2,"states":{"0":"Disable","1":"Hail CC","2":"Basic CC Report"},"unit":"ms","valueSize":1,"format":1,"allowManualEntry":false,"isFromConfig":true}},"26-112-0-6":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":6,"propertyName":"Closing Time","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Closing Time","default":0,"min":0,"max":2,"states":{"0":"Disable","1":"Hail CC","2":"Basic CC Report"},"unit":"ms","valueSize":1,"format":1,"allowManualEntry":false,"isFromConfig":true}},"26-112-0-7":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":7,"propertyName":"State After Power Failure","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"State After Power Failure","default":0,"min":0,"max":2,"states":{"0":"Stop","1":"Open","2":"Close"},"valueSize":1,"format":0,"allowManualEntry":false,"isFromConfig":true}},"26-112-0-8":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":8,"propertyName":"Count of External Buttons/Switches","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":true,"label":"Count of External Buttons/Switches","default":0,"min":0,"max":1,"states":{"0":"Three buttons","1":"One button"},"valueSize":1,"format":0,"allowManualEntry":false,"isFromConfig":true}},"26-112-0-255":{"endpoint":0,"commandClass":112,"commandClassName":"Configuration","property":255,"propertyName":"Reset to Factory Defaults","ccVersion":1,"metadata":{"type":"number","readable":false,"writeable":true,"label":"Reset to Factory Defaults","default":0,"min":0,"max":1,"states":{"0":"Normal Operation","1":"Reset to Factory Default"},"valueSize":1,"format":1,"allowManualEntry":false,"isFromConfig":true}},"26-114-0-manufacturerId":{"endpoint":0,"commandClass":114,"commandClassName":"Manufacturer Specific","property":"manufacturerId","propertyName":"manufacturerId","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Manufacturer ID","min":0,"max":65535,"stateful":true,"secret":false},"value":134},"26-114-0-productType":{"endpoint":0,"commandClass":114,"commandClassName":"Manufacturer Specific","property":"productType","propertyName":"productType","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Product type","min":0,"max":65535,"stateful":true,"secret":false},"value":3},"26-114-0-productId":{"endpoint":0,"commandClass":114,"commandClassName":"Manufacturer Specific","property":"productId","propertyName":"productId","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Product ID","min":0,"max":65535,"stateful":true,"secret":false},"value":14},"26-134-0-libraryType":{"endpoint":0,"commandClass":134,"commandClassName":"Version","property":"libraryType","propertyName":"libraryType","ccVersion":1,"metadata":{"type":"number","readable":true,"writeable":false,"label":"Library type","states":{"0":"Unknown","1":"Static Controller","2":"Controller","3":"Enhanced Slave","4":"Slave","5":"Installer","6":"Routing Slave","7":"Bridge Controller","8":"Device under Test","9":"N/A","10":"AV Remote","11":"AV Device"},"stateful":true,"secret":false},"value":6},"26-134-0-protocolVersion":{"endpoint":0,"commandClass":134,"commandClassName":"Version","property":"protocolVersion","propertyName":"protocolVersion","ccVersion":1,"metadata":{"type":"string","readable":true,"writeable":false,"label":"Z-Wave protocol version","stateful":true,"secret":false},"value":"2.78"},"26-134-0-firmwareVersions":{"endpoint":0,"commandClass":134,"commandClassName":"Version","property":"firmwareVersions","propertyName":"firmwareVersions","ccVersion":1,"metadata":{"type":"string[]","readable":true,"writeable":false,"label":"Z-Wave chip firmware versions","stateful":true,"secret":false},"value":["1.23"]}},"endpoints":{"0":{"nodeId":26,"index":0,"deviceClass":{"basic":{"key":4,"label":"Routing Slave"},"generic":{"key":17,"label":"Multilevel Switch"},"specific":{"key":5,"label":"Motor Control Class A"},"mandatorySupportedCCs":[32,38,37,114,134],"mandatoryControlledCCs":[]},"commandClasses":[{"id":38,"name":"Multilevel Switch","version":3,"isSecure":false},{"id":37,"name":"Binary Switch","version":1,"isSecure":false},{"id":114,"name":"Manufacturer Specific","version":1,"isSecure":false},{"id":134,"name":"Version","version":1,"isSecure":false},{"id":49,"name":"Multilevel Sensor","version":3,"isSecure":false},{"id":50,"name":"Meter","version":2,"isSecure":false},{"id":112,"name":"Configuration","version":1,"isSecure":false},{"id":133,"name":"Association","version":1,"isSecure":false}]}}}}}

The device is not providing the necessary information to support Stop. Have you tried to re-interview it?

Yes, I’ve reinterviewed several times and refreshed values and with mqtt discovery the stop button is present

Looking back at your original post, ZUI is seeing the values needed for stop (Up/Down) which HA should be able to use, so the problem is that these values are not being communicated to HA for some reason. Can you use the Driver code functionality in ZUI and paste the results of this?

const { logger } = this
const node = driver.controller.nodes.get(15);
const ids = await node.getDefinedValueIDs();
logger.info(JSON.stringify(ids));

That will print a single to the ZUI debug log window, you can copy and paste the results here. BTW, that code uses node 15, but the diagnostic info was from node 26, so be sure to use the correct node ID.

Does the stop button actually work? My knowledge of the MQTT side is limited, but I’m not seeing where in ZUI it would be supported.