eclipse-archived / smarthome

Eclipse SmartHome™ project
https://www.eclipse.org/smarthome/
Eclipse Public License 2.0
862 stars 787 forks source link

MQTT binding: Warning for incoming messages for Homie enum values #6823

Open euphi opened 5 years ago

euphi commented 5 years ago

https://github.com/eclipse/smarthome/blob/9de1cb05fc0d221b05c729a5ffb75a31eb54bc82/extensions/binding/org.eclipse.smarthome.binding.mqtt.generic/src/main/java/org/eclipse/smarthome/binding/mqtt/generic/internal/generic/ChannelState.java#L164

These lines generate a warning 21:07:09.005 [WARN ] [generic.internal.generic.ChannelState] - Command 'WARNING' not supported by type 'TextValue': Value WARNING not within range although it is just a normal value in range of the enum datatype as defined in the homie convention.

Received MQTT message is

homie/lab_thermo/Log/Level WARNING

The value is updated (and it is also possible to set it), so this issue is only about the unnecessary warning.

The Node has been advertised as:

homie/lab_thermo/Log/$name Logger
homie/lab_thermo/Log/$type Logger
homie/lab_thermo/Log/$properties Level,LogSerial
homie/lab_thermo/Log/Level/$name Loglevel
homie/lab_thermo/Log/Level/$settable true
homie/lab_thermo/Log/Level/$datatype enum
homie/lab_thermo/Log/Level/$format DEBUG,INFO,WARNING,ERROR,CRITICAL
homie/lab_thermo/Log/LogSerial/$name enable/disable log to serial interface
homie/lab_thermo/Log/LogSerial/$settable true
homie/lab_thermo/Log/LogSerial/$datatype boolean

and thus has been configured as string. Datatype and Format have been recognized correctly by the binding and the channel is configured accordingly.