- Platform information:
- Hardware: Raspberry Pi 3 B+
- OS: Linux openhab 4.19.66-v7+
- Java Runtime Environment: build 1.8.0_181-b13
- openHAB version: 2.5.4
I am using zigbee2mqtt for Xiaomi curtain motors and sending commands directly over mosquitto_pub to motor works perfect, curtains close and open as commanded. However, using the Basic or Paper UI widget it looks like the MQTT message is never sent even though looking through log I see that item state was changed.
Log when using Basic UI:
2020-08-22 11:42:13.225 [ome.event.ItemCommandEvent] - Item ‘Bedroom_Curtains’ received command UP
2020-08-22 11:42:13.230 [nt.ItemStatePredictedEvent] - Bedroom_Curtains predicted to become UP
2020-08-22 11:42:13.287 [vent.ItemStateChangedEvent] - Bedroom_Curtains changed from 20 to 0
As i’ve added this same item to Google Home, I can control it only using voice command as Google Home doesnt show any control widget, but even with Google Home i can give it command to set curtain at certain percent, and even in those cases it doesnt work always, for example:
Open curtains - Doesnt work
Close curtains - Doesnt work
Open curtains to 100% - Doesnt work
Open curtains to 0% - Doesnt work
Open curtains to 1% - Opens curtains completely
Open curtains to 2%-99% - Works ok
Log when commanding using Google Home:
==> /var/log/openhab2/events.log <==
2020-08-22 11:45:40.341 [vent.ItemStateChangedEvent] - mqtt_topic_9dc3ee63_curtains_bedroom_linkquality changed from 78 to 70
2020-08-22 11:45:40.348 [vent.ItemStateChangedEvent] - Bedroom_Curtains changed from 50 to 20==> /var/log/openhab2/openhab.log <==
2020-08-22 11:45:43.613 [WARN ] [ab.binding.mqtt.generic.ChannelState] - Command ‘false’ not supported by type ‘OnOffValue’: No enum constant org.eclipse.smarthome.core.library.types.OnOffType.false==> /var/log/openhab2/events.log <==
2020-08-22 11:45:43.618 [vent.ItemStateChangedEvent] - mqtt_topic_9dc3ee63_curtains_bedroom_linkquality changed from 70 to 76
2020-08-22 11:45:43.641 [vent.ItemStateChangedEvent] - Bedroom_Curtains changed from 20 to 50
Here are my item and thing configurations:
Switch Bathroom_Mirror_Heating "Mirror Heating" <heating> (Bathroom, gHeating) ["Heating"] { channel="mqtt:topic:9dc3ee63:wlan-hvac-bathroom:mirror_heater"}
Switch LivingRoom_FCU "Fan" <heating> (LivingRoom, gHeating) ["Heating"] { channel="mqtt:topic:9dc3ee63:wlan-hvac-livingroom:livingroom_fcu"}
Rollershutter Bedroom_Curtains "Curtains" <blinds> (Bedroom, gCurtains) ["Blinds"] { channel="mqtt:topic:9dc3ee63:curtains-bedroom:position", ga="Blinds" [ inverted=true, roomHint="Bedroom"]}
Bridge mqtt:broker:9dc3ee63
{
Thing topic curtains-bedroom "Curtains Bedroom" {
Channels:
Type dimmer : position "Position" [ stateTopic="zigbee2mqtt/curtains-bedroom", commandTopic="zigbee2mqtt/curtains-bedroom/set/position", transformationPattern="JSONPATH:$.position"]
Type switch : running "Running" [ stateTopic="zigbee2mqtt/curtains-bedroom", transformationPattern="JSONPATH:$.running"]
Type number : linkquality "Link quality" [ stateTopic="zigbee2mqtt/curtains-bedroom", transformationPattern="JSONPATH:$.linkquality"]
}
}
This leads me to suspect that something about transform or item definition is wrong, any help is greatly appreciated. Thank you