Hi List -
As discussed here, Lowes Iris is being shutdown on March 31st. I have relied on Lowes Iris for my irrigation, as it is the only platform that supports inexpensive hose controllers such as the zigbee based Orbit Hose Timer.
As I see it, this gives me very little time to try to figure out how to get these working with OpenHAB. I think I have 2 options:
Try to sniff the zigbee traffic between the working Iris hub and the devices. I have a CC2531 dongle and debugger. I tried doing some basic captures during pairing with the TI packet sniffer but am only seeing a few broadcast packets. Seems like I should be seeing more than that.
In the TI capture tool, there is a myrid of zigbee protocol (802.15.4 2003, 2006, 2007/PRO, RF4CE) and channel (2405mhz up to 2480mhz) capture options. I don’t mind trial and error with the protocols, but testing every combination of protocol and channel isn’t realistic.
zigbee2mqtt I’ve been reading the documentation with regards to adding a new device. Looks like I may be able to pair the hose timer, but how would I know the commands to send it? The hose timer seems like a one-off device so I doubt any of the existing commands will work with it
Looking for basic advice as to if I am on the right track here, or if there are other options I should try. Thinking that #1 is the only realistic option as I would need to capture the actual commands that trigger the timer.
I’ve been doing some sniffing using the CC2541 dongle and the TI capture tool on various channels. Trying to make sense of the data I’ve been capturing.
I see a ton of traffic on channel 0x19 - however I don’t think this is my traffic as when remove the batteries from all of my zigbee devices and unplugged the base station… I still see it going by.
So the question is… how can I differentiate my traffic from others. Can I use the MAC address printed on my devices?
I will try that out. I was assuming (perhaps incorrectly) that some work (code) would need to be added to the binding to support these
Good question. The smartthings forums seem to suggest there is something non-standard about these. But I know they are zigbee. Seems like it would be more effort for a manufacturer to build/design something non-standard vs standard.
Of course this is possible as the binding doesn’t support every feature of every cluster, but it would (IMHO) be better to start from this point than to try to reverse engineer the data starting with sniffer logs
And shows controls for on/off as well as some battery measurements.
But, on/off doesn’t control the value of the hose controller to start/stop the flow of water.
So, I checked the pairing logs in the zigbee log viewer:
I suspect that I need the Thermostat cluster to control it.
Full log of the pairing process: hose.log (586.6 KB)
Looking for advice on next step I should take… work on implementing the thermostat cluster to see if that will control the water valve OR go back to the sniffer since it looks like the hose timer is zigbee standard?
Ah, very nice. I ran the script to install the 1.1.10 version of the zigbee binding, but now that I look, it seems I have a mix of 2.5.0 and 1.1.10:
openhab> bundle:list -s | grep -i zigbee
>
232 x Active x 80 x 1.1.10 x com.zsmartsystems.zigbee.dongle.cc2531
233 x Active x 80 x 2.5.0.201902110612 x org.openhab.binding.zigbee
234 x Active x 80 x 1.1.10 x com.zsmartsystems.zigbee.dongle.xbee
235 x Active x 80 x 1.1.10 x com.zsmartsystems.zigbee.dongle.telegesis
236 x Active x 80 x 1.1.10 x com.zsmartsystems.zigbee.dongle.ember
237 x Active x 80 x 1.1.10 x com.zsmartsystems.zigbee
238 x Active x 80 x 2.5.0.201902110612 x org.openhab.binding.zigbee.cc2531
239 x Active x 80 x 2.5.0.201902110612 x org.openhab.binding.zigbee.ember
240 x Active x 80 x 2.5.0.201902110612 x org.openhab.binding.zigbee.telegesis
241 x Active x 80 x 2.5.0.201902110612 x org.openhab.binding.zigbee.xbee
Is this correct?
I see the namespaces are different (org.openhab vs org.zsmartsystems) between the two sets.
It’s still on the Lowes Home Improvement website even thought it’s no longer for sale: Orbit Iris Hose Timer
In the Iris app, you can choose a device, then select how many minutes it should open the valve for (water the lawn, etc). The hub sends a command to the device, the device opens the water valve, and then starts a countdown timer. I tried unplugging the hub after the timer started and the device still closed the valve as expected after the timer was up.
So it looks like the hub sends a command to the timer saying “open the water value for X number of minutes”. I was thinking that they may have hijacked the thermostat fan function or similar to communicate the number of minutes the timer should run for.
@chris
Been doing some trial and error with various commands, but I have not been able to get the hose value to activate yet.
Can you take a look at my log to see if the basic communication is working with the device? I took at look at this in your log viewer (very nice BTW), but I don’t know enough about the zigbee protocol to tell if the device is processing the commands or not.
I tried sending a few of switch, thermostatrunningmode, and thermostatsystemmode
FYI, I am using the latest 2.5.0.201903042328 bindings. I deleted the old thing and repaired. That should be in the log too
Hi Dave,
Are you able to run the console in the ZSS library? If so, I think it might be a good idea to run this up and see what this device supports…
It seems that it’s using the thermostat cluster, but I don’t really know what for. The binding reads the list of supported attributes, and the device says it doesn’t support any! If you can run up the console, then it would be good to see what commands it supports (if it supports the command to tell you what commands it supports ).
I see you sent a few ON / OFF commands and these seem to time out within the dongle. The thermostat mode commands aren’t resulting in a command being sent so probably something in the binding is preventing that - probably due to something the device “said” previously… Yes - I can see there is an exception and I think this is caused by the binding requesting the list of supported attributes, and the device reporting that it doesn’t support any of them.
So, I would recommend if you can get the console running, then you can try to send commands directly - ie without the complexity, and invalid assumptions that the binding is making about this device as it’s not really a thermostat (I’ve no idea why they implemented a hose timer as a thermostat!).
I’m happy to help talk you through this once you can get the console running.
Thanks for the advice Chris. I was able to grab the latest zss from github console to compile and run in eclipse.
I am running the console with the following commands for my Telegensis stick: