Using SONOFF Dual to control rollershutters. Some of them keep generating the following an MQTT error, I think related to shutter position. The error is:
MQTT message received. MqttMessageSubscriber#processMessage() implementation failure
java.lang.IllegalArgumentException: Value must be between 0 and 100
I have looked at the SONOFF console and MQTT payloads … everything appears to be correctly formatted with the correct 0-100 position values.
How do I track down the source of this error?
“thing”
Thing mqtt:topic:eab2edb0:RS_LRw_Window "RS_LRw_Window" (mqtt:broker:eab2edb0) @ "Living Room" {
Channels:
Type rollershutter : rschannel "Shutter" [
commandTopic="cmnd/RS_LRw_Window/shutterposition1",
stateTopic="stat/RS_LRw_Window/SHUTTER1",
up="up",
down="down",
stop="stop"
]
Type switch : reachable "Available" [
stateTopic="tele/RS_LRw_Window/LWT",
on="Online",
off="Offline"
]
Type number: position "Shutter Position" [
stateTopic="tele/RS_LRw_Window/SENSOR",
transformationPattern="JSONPATH:$.Shutter1.Position"
]
Type number:rssi "RSSI" [
stateTopic="tele/RS_LRw_Window/STATE",
transformationPattern="JSONPATH:$.Wifi.RSSI"
]
Type switch: uppower "Shutter Up" [
stateTopic="stat/RS_LRw_Window/POWER1"
]
Type switch: downpower "Shutter Down" [
stateTopic="stat/RS_LRw_Window/POWER2"
]
}
“item”
Rollershutter Shutter_LRw_Window "LR West Window Shutter" (gExerciseShutters, gLivingDome, gAllShutters) { channel="mqtt:topic:eab2edb0:RS_LRw_Window:rschannel" }
I have tried defining the “item” with one and two channels.
“item” with 2 channels
Rollershutter Shutter_LRw_Window "LR West Window Shutter" (gExerciseShutters, gLivingDome, gAllShutters) { channel="mqtt:topic:eab2edb0:RS_LRw_Window:rschannel", channel="mqtt:topic:eab2edb0:RS_LRw_Window:position" }