Limitation in "SENSOR_MULTILEVEL" number ?

Discussion about Z-Uno product. Visit http://z-uno.z-wave.me for more details.
Post Reply
fredfit
Posts: 22
Joined: 17 Jun 2020 12:50

Limitation in "SENSOR_MULTILEVEL" number ?

Post by fredfit »

Hi all,

I'm facing a strange behaviour with my Z-Uno: I have different types of switches/sensors in my project.
If at the ZUNO_SETUP_CHANNELS level, I declare :

Code: Select all

ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVolt),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid1)
I can see their values in my Jeedom Smart box configuration of this module (respectively with class/instance/index of 49/1/15 and 49/1/31).
But if instead I declare:

Code: Select all

ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVolt),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid1),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid2),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid3)
Then, the Voltage Multisensor is ignored. I can then only see the 3 Moisture sensors at 49/1/31, 49/2/31 and 49/3/31 but not the Voltage one, supposedly at 49/1/15.

I also have some Binary switches and sensors in the project but the total amount doesn't exceed the maximum of 10 as allowed in the specs.

Can someone help me with this ?
Thanks !

Z-Uno v2.1.7, Arduino IDE v1.8.13

NB: in a certain way, it looks similar to the issue recently described in another topic (https://forum.z-wave.me/viewtopic.php?f=3427&t=33331)
fredfit
Posts: 22
Joined: 17 Jun 2020 12:50

Re: Limitation in "SENSOR_MULTILEVEL" number ?

Post by fredfit »

I tried to come back to 2.1.6 (Board manager of Arduino IDE + Burned bootloader), same issue ...
I'm desperate, this bug is blocking me in my project. Please help me !

My bug report:
  • Z-Uno bootloader version: 2.1.6 or 2.1.7
  • Security: none
  • Frequency: EU
  • Device included: yes
  • Device included securely by controller: no
  • Controller: Jeedom Smart
User avatar
PoltoS
Posts: 7571
Joined: 26 Jan 2011 19:36

Re: Limitation in "SENSOR_MULTILEVEL" number ?

Post by PoltoS »

This is a problem of Jeedom, but there should be a way to bypass it.

Here is what happens:
In the first sketch both features are non-channaled. But when you add two of the same type they channels are added for each, while Voltage is still on the non-channeled root instance. And for some reason Jeedom don't show it.

Try to add one more Voltage and you should see them both. This is a workaround.
fredfit
Posts: 22
Joined: 17 Jun 2020 12:50

Re: Limitation in "SENSOR_MULTILEVEL" number ?

Post by fredfit »

Thank you PoltoS !
A little improvement ... but also a regression :(
After having added a dummy Voltage Sensor in my code, I can see both of them (49/1/15 and 49/2/15), but only 2 of the 3 moisture sensors (49/3/31 and 49/4/31).
Here is my code:

Code: Select all

ZUNO_SETUP_CHANNELS(
ZUNO_SWITCH_BINARY(getterVanne1, setterVanne1),
ZUNO_SWITCH_BINARY(getterVanne2, setterVanne2),
ZUNO_SWITCH_BINARY(getterVanne3, setterVanne3),
ZUNO_SENSOR_BINARY(ZUNO_SENSOR_BINARY_TYPE_GENERAL_PURPOSE, getterNiveau),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVolt),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVoltdummy),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid1),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid2),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid3)
);
As it's seen in Jeedom:
Image

(don't take into account the values of voltages and moistures, pins are not yet connected to anything)
fredfit
Posts: 22
Joined: 17 Jun 2020 12:50

Re: Limitation in "SENSOR_MULTILEVEL" number ?

Post by fredfit »

Update:
I also added a dummy moisture sensor, now I see all my sensors ... including the 2 dummy sensors !
That finally makes a not very clean code but it does the job.
I hope it will help those who uses Jeedom domotics system, and that this behaviour with Jeedom will be fixed with the future Z-Uno generations.
Thanks again PoltoS

Code: Select all

ZUNO_SETUP_CHANNELS(
ZUNO_SWITCH_BINARY(getterVanne1, setterVanne1),
ZUNO_SWITCH_BINARY(getterVanne2, setterVanne2),
ZUNO_SWITCH_BINARY(getterVanne3, setterVanne3),
ZUNO_SENSOR_BINARY(ZUNO_SENSOR_BINARY_TYPE_GENERAL_PURPOSE, getterNiveau),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVolt),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_FOUR_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterVoltdummy),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid1),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid2),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumid3),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_MOISTURE, SENSOR_MULTILEVEL_SCALE_PERCENTAGE_VALUE, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, SENSOR_MULTILEVEL_PRECISION_ZERO_DECIMALS, getterHumiddummy)
);
Post Reply