# Unsigned settings for a byte

**URL:** <https://community.homey.app/t/unsigned-settings-for-a-byte/136923>\
**Category:** Developers\
**Tags:** z-wave\
**Created:** [May 22, 2025, 8:01pm UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923 "2025-05-22T20:01:14Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Greg\_Veres](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/greg_veres/32/113389_2.png) [@Greg\_Veres](https://community.homey.app/u/Greg_Veres)\
**Post date:** [May 22, 2025, 8:01pm UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/1 "2025-05-22T20:01:14Z")

</div>

I am trying to create a zwave driver that has a setting that is 1 byte with values from 0 to 255. When I try to compile the driver.settings.compose.json file with this in it:

```auto
      {
        "id": "dimmingSpeedUpRemote",
        "type": "number",
        "label": {
          "en": "Dimming Speed Up - Remote (#1)",
          "nl": ""
        },
        "hint": {
          "en": "",
          "nl": ""
        },
        "zwave": {
          "index": 1,
          "size": 1
        },
        "attr": {
          "min": 0,
          "max": 254
        },
        "value": 25
      },

```

I get an error:

```auto
✖ App did not validate against level `debug`:
✖ Error: Value cannot be signed: VZW31, dimmingSpeedUpRemote. Max value: 127, actual value: 254
    at App._validate (/usr/local/lib/node_modules/homey/lib/App.js:132:13)
    at async App.install (/usr/local/lib/node_modules/homey/lib/App.js:802:19)
    at async App.runRemote (/usr/local/lib/node_modules/homey/lib/App.js:199:21)
    at async exports.handler (/usr/local/lib/node_modules/homey/bin/cmds/app/run.js:43:5)

```

how do I setup a byte to be unsigned?

Thanks

---

<div class="post-metadata">

**Author:** ![Caseda](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/caseda/32/138695_2.png) [@Caseda](https://community.homey.app/u/Caseda)\
**Post date:** [May 22, 2025, 8:19pm UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/2 "2025-05-22T20:19:36Z")

</div>

Z-Wave technically is a “Signed” number protocol (range from `-128` (negative) till `127` (positive)).  
If a setting is used as “Unsigned” (range from `0` till `255`) like you want to use, then a flag has to be enabled, tried to find any documentation but I guess it slipped through the cracks somewhere.  
Most manufacturers just increase the byte size to still use the “Signed” number way, or just limit the setting to `127` instead `255`, but not all do.  
But to enable the setting to be used as unsigned add this flag into your `"zwave"` object:  
`"signed": false`

Example of the z-wave object in the setting:

```auto
"zwave": {
  "index": 1,
  "size": 1,
  "signed": false
}

```

---

<div class="post-metadata">

**Author:** ![Greg\_Veres](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/greg_veres/32/113389_2.png) [@Greg\_Veres](https://community.homey.app/u/Greg_Veres)\
**Post date:** [May 22, 2025, 11:26pm UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/3 "2025-05-22T23:26:50Z")

</div>

@Caseda Thank you very much, sir. That worked like a charm and is just what I was looking for.

---

<div class="post-metadata">

**Author:** ![Caseda](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/caseda/32/138695_2.png) [@Caseda](https://community.homey.app/u/Caseda)\
**Post date:** [May 23, 2025, 7:01pm UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/4 "2025-05-23T19:01:34Z")

</div>

And for future reference, it is now added into the Z-Wave documentation:

> **[Z-Wave | Homey Apps SDK](https://apps.developer.homey.app/wireless/z-wave#device-settings)**
>
> Z-Wave is a two-way wireless communication standard on the 868 MHz - 915 MHz band. It is very similar to Zigbee.

---

<div class="post-metadata">

**Author:** ![Greg\_Veres](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/greg_veres/32/113389_2.png) [@Greg\_Veres](https://community.homey.app/u/Greg_Veres)\
**Post date:** [May 24, 2025, 12:39am UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/5 "2025-05-24T00:39:13Z")

</div>

did you just add it? I felt so embarrased today when I was re-reading that page and saw that it was so plainly laid out. 🙂

---

<div class="post-metadata">

**Author:** ![Caseda](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/caseda/32/138695_2.png) [@Caseda](https://community.homey.app/u/Caseda)\
**Post date:** [May 24, 2025, 8:29am UTC](https://community.homey.app/t/unsigned-settings-for-a-byte/136923/6 "2025-05-24T08:29:36Z")

</div>

Nah, I asked Athom to add it just after your question.
