Lowe's Iris Version 1 or 2 Hub in Home Assistant

Has anyone tried connecting to Lowe’s Iris version 1 or 2 hubs?

I’d like to use my now discontinued V1 hub as a bridge for zigbee similar to the Wink/SmartThings/Vera hubs on here…

I’ve successfully rooted the V1 hub and determined that it runs BusyBox Linux and the Iris platform was built around the old AlertMe API. SSH can also be enabled on the device but that is about as far as I’ve gotten thus far.

Background on Lowe’s Iris:
They recently forced all customers off of the Version 1 platform and onto V2. This required shipping all current customers new V2 hubs and then they forced customers to move to the new platform before June 30, 2016. The V1 platform was retired/disabled on July 1, 2016. This resulted in some angry customers as you can imagine.

Since then, I discovered Home Assistant and the great community that has been growing incredibly fast…
I started thinking that the Iris V1 hub still has a great set of zwave/zigbee radios and additionally, the Iris platform offers some devices that are not offered by Wink/Vera/etc. such as the zigbee hose controller.

These “legacy” V1 items are either being sold at great discounts or some people will just give them away as they have switched to SmartThings or whatever…

If we could leverage the old (or new) Lowe’s Iris hubs here, it would be one more device that we could use as a home assistant bridge…particularly useful for connecting very stubborn “big box store” zigbee devices.

If someone successfully got the V1 Iris hub working as a home assistant hub, we could all get these things for practically free since Lowe’s literally abandoned the V1 platform.

It also appears that there might be promise in unlocking the V2 hubs as well, as this post suggests.

If anyone is interested in hacking on some Iris hubs, let me know. I might be able to get you a V1 or V2 hub to test with.

Moved to Feature Requests

I would love more info! I have at least one Gen 1 hub just sitting. Several Gen2’s as well.

Is this not the same as the insteon hub? will the iris hub not work on HA?

I don’t think so, but if you have a link to more info I’ll try to mess with it…

Some additional resources:
http://forum.livingwithiris.com/index.php?/forum/13-hacks-unsupported-devices/&

What is Iris?

Some web control functionality may be promising (still cloud dependent)

This may help you with V2.

V2 Syslog

Jan  1 00:00:07 XXX-0000 syslog.info syslogd started: BusyBox v1.22.1
Jan  1 00:00:07 XXX-0000 user.notice kernel: klogd started: BusyBox v1.22.1 (2016-09-20 16:24:06 UTC)
Jan  1 00:00:07 XXX-0000 user.info kernel: Booting Linux on physical CPU 0x0
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys cpuset
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys cpu
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys cpuacct
Jan  1 00:00:07 XXX-0000 user.notice kernel: Linux version 3.14.0-yocto-standard ([email protected]) (gcc version 4.8.2 (GCC) ) #1 PREEMPT Tue Sep 20 16:04:40 UTC 2016
Jan  1 00:00:07 XXX-0000 user.info kernel: CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
Jan  1 00:00:07 XXX-0000 user.info kernel: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Jan  1 00:00:07 XXX-0000 user.info kernel: Machine model: TI AM335x BeagleBone
Jan  1 00:00:07 XXX-0000 user.info kernel: cma: CMA: reserved 16 MiB at 9e800000
Jan  1 00:00:07 XXX-0000 user.info kernel: Memory policy: Data cache writeback
Jan  1 00:00:07 XXX-0000 user.debug kernel: On node 0 totalpages: 130816
Jan  1 00:00:07 XXX-0000 user.debug kernel: free_area_init_node: node 0, pgdat c05c9490, node_mem_map dfaf2000
Jan  1 00:00:07 XXX-0000 user.debug kernel:   Normal zone: 1024 pages used for memmap
Jan  1 00:00:07 XXX-0000 user.debug kernel:   Normal zone: 0 pages reserved
Jan  1 00:00:07 XXX-0000 user.debug kernel:   Normal zone: 130816 pages, LIFO batch:31
Jan  1 00:00:07 XXX-0000 user.info kernel: CPU: All CPU(s) started in SVC mode.
Jan  1 00:00:07 XXX-0000 user.info kernel: AM335X ES2.1 (neon )
Jan  1 00:00:07 XXX-0000 user.debug kernel: pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
Jan  1 00:00:07 XXX-0000 user.debug kernel: pcpu-alloc: [0] 0 
Jan  1 00:00:07 XXX-0000 user.warn kernel: Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129792
Jan  1 00:00:07 XXX-0000 user.notice kernel: Kernel command line: console=ttyO0,115200n8 lpj=4980736 quiet mtdoops.mtddev=omap2.nand root=/dev/mmcblk0p6 ro rootfstype=squashfs rootwait
Jan  1 00:00:07 XXX-0000 user.info kernel: PID hash table entries: 2048 (order: 1, 8192 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: allocated 1048576 bytes of page_cgroup
Jan  1 00:00:07 XXX-0000 user.info kernel: please try 'cgroup_disable=memory' option if you don't want memory cgroups
Jan  1 00:00:07 XXX-0000 user.warn kernel: Memory: 495004K/523264K available (4023K kernel code, 304K rwdata, 1368K rodata, 197K init, 269K bss, 28260K reserved, 0K highmem)
Jan  1 00:00:07 XXX-0000 user.notice kernel: Virtual kernel memory layout:
Jan  1 00:00:07 XXX-0000 user.notice kernel:     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:       .text : 0xc0008000 - 0xc054be14   (5392 kB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:       .init : 0xc054c000 - 0xc057d744   ( 198 kB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:       .data : 0xc057e000 - 0xc05ca1a0   ( 305 kB)
Jan  1 00:00:07 XXX-0000 user.notice kernel:        .bss : 0xc05ca1ac - 0xc060d7d8   ( 270 kB)
Jan  1 00:00:07 XXX-0000 user.info kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Jan  1 00:00:07 XXX-0000 user.info kernel: Preemptible hierarchical RCU implementation.
Jan  1 00:00:07 XXX-0000 user.info kernel: NR_IRQS:16 nr_irqs:16 16
Jan  1 00:00:07 XXX-0000 user.info kernel: IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Jan  1 00:00:07 XXX-0000 user.info kernel: Total of 128 interrupts on 1 active controller
Jan  1 00:00:07 XXX-0000 user.info kernel: OMAP clockevent source: timer2 at 24000000 Hz
Jan  1 00:00:07 XXX-0000 user.info kernel: sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
Jan  1 00:00:07 XXX-0000 user.info kernel: OMAP clocksource: timer1 at 24000000 Hz
Jan  1 00:00:07 XXX-0000 user.info kernel: Console: colour dummy device 80x30
Jan  1 00:00:07 XXX-0000 user.info kernel: Calibrating delay loop (skipped) preset value.. 996.14 BogoMIPS (lpj=4980736)
Jan  1 00:00:07 XXX-0000 user.info kernel: pid_max: default: 32768 minimum: 301
Jan  1 00:00:07 XXX-0000 user.info kernel: Security Framework initialized
Jan  1 00:00:07 XXX-0000 user.info kernel: Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys debug
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys memory
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys devices
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys freezer
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys net_cls
Jan  1 00:00:07 XXX-0000 user.info kernel: Initializing cgroup subsys blkio
Jan  1 00:00:07 XXX-0000 user.info kernel: CPU: Testing write buffer coherency: ok
Jan  1 00:00:07 XXX-0000 user.info kernel: Setting up static identity map for 0x803ce580 - 0x803ce5d8
Jan  1 00:00:07 XXX-0000 user.info kernel: devtmpfs: initialized
Jan  1 00:00:07 XXX-0000 user.info kernel: VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
Jan  1 00:00:07 XXX-0000 user.warn kernel: omap_hwmod: tptc0 using broken dt data from edma
Jan  1 00:00:07 XXX-0000 user.warn kernel: omap_hwmod: tptc1 using broken dt data from edma
Jan  1 00:00:07 XXX-0000 user.warn kernel: omap_hwmod: tptc2 using broken dt data from edma
Jan  1 00:00:07 XXX-0000 user.warn kernel: omap_hwmod: debugss: _wait_target_disable failed
Jan  1 00:00:07 XXX-0000 user.info kernel: pinctrl core: initialized pinctrl subsystem
Jan  1 00:00:07 XXX-0000 user.info kernel: regulator-dummy: no parameters
Jan  1 00:00:07 XXX-0000 user.info kernel: NET: Registered protocol family 16
Jan  1 00:00:07 XXX-0000 user.info kernel: DMA: preallocated 256 KiB pool for atomic coherent allocations
Jan  1 00:00:07 XXX-0000 user.info kernel: cpuidle: using governor ladder
Jan  1 00:00:07 XXX-0000 user.info kernel: cpuidle: using governor menu
Jan  1 00:00:07 XXX-0000 user.warn kernel: platform 49000000.edma: alias fck already exists
Jan  1 00:00:07 XXX-0000 user.warn kernel: platform 49000000.edma: alias fck already exists
Jan  1 00:00:07 XXX-0000 user.warn kernel: platform 49000000.edma: alias fck already exists
Jan  1 00:00:07 XXX-0000 user.info kernel: OMAP GPIO hardware version 0.1
Jan  1 00:00:07 XXX-0000 user.info kernel: hw-breakpoint: debug architecture 0x4 unsupported.
Jan  1 00:00:07 XXX-0000 user.info kernel: bio: create slab <bio-0> at 0
Jan  1 00:00:07 XXX-0000 user.info kernel: edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
Jan  1 00:00:07 XXX-0000 user.info kernel: vmmcsd_fixed: 3300 mV 
Jan  1 00:00:07 XXX-0000 user.notice kernel: SCSI subsystem initialized
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new interface driver usbfs
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new interface driver hub
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new device driver usb
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
Jan  1 00:00:07 XXX-0000 user.info kernel: platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
Jan  1 00:00:07 XXX-0000 user.info kernel: Switched to clocksource timer1
Jan  1 00:00:07 XXX-0000 user.info kernel: NET: Registered protocol family 2
Jan  1 00:00:07 XXX-0000 user.info kernel: TCP established hash table entries: 4096 (order: 2, 16384 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: TCP: Hash tables configured (established 4096 bind 4096)
Jan  1 00:00:07 XXX-0000 user.info kernel: TCP: reno registered
Jan  1 00:00:07 XXX-0000 user.info kernel: UDP hash table entries: 256 (order: 0, 4096 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: NET: Registered protocol family 1
Jan  1 00:00:07 XXX-0000 user.info kernel: hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
Jan  1 00:00:07 XXX-0000 user.info kernel: futex hash table entries: 256 (order: -1, 3072 bytes)
Jan  1 00:00:07 XXX-0000 user.info kernel: squashfs: version 4.0 (2009/01/31) Phillip Lougher
Jan  1 00:00:07 XXX-0000 user.info kernel: msgmni has been set to 998
Jan  1 00:00:07 XXX-0000 user.info kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
Jan  1 00:00:07 XXX-0000 user.info kernel: io scheduler noop registered
Jan  1 00:00:07 XXX-0000 user.info kernel: io scheduler deadline registered
Jan  1 00:00:07 XXX-0000 user.info kernel: io scheduler cfq registered (default)
Jan  1 00:00:07 XXX-0000 user.info kernel: pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_uart 44e09000.serial: no wakeirq for uart0
Jan  1 00:00:07 XXX-0000 user.info kernel: 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
Jan  1 00:00:07 XXX-0000 user.info kernel: console [ttyO0] enabled
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_uart 48022000.serial: no wakeirq for uart0
Jan  1 00:00:07 XXX-0000 user.info kernel: 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_uart 48024000.serial: no wakeirq for uart0
Jan  1 00:00:07 XXX-0000 user.info kernel: 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_uart 481a8000.serial: no wakeirq for uart0
Jan  1 00:00:07 XXX-0000 user.info kernel: 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART4
Jan  1 00:00:07 XXX-0000 user.info kernel: brd: module loaded
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new interface driver cdc_ether
Jan  1 00:00:07 XXX-0000 user.info kernel: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Jan  1 00:00:07 XXX-0000 user.info kernel: ehci-omap: OMAP-EHCI Host Controller driver
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new interface driver usb-storage
Jan  1 00:00:07 XXX-0000 user.info kernel: i2c /dev entries driver
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
Jan  1 00:00:07 XXX-0000 user.warn kernel: 48060000.mmc supply vmmc_aux not found, using dummy regulator
Jan  1 00:00:07 XXX-0000 user.warn kernel: 481d8000.mmc supply vmmc_aux not found, using dummy regulator
Jan  1 00:00:07 XXX-0000 user.info kernel: ledtrig-cpu: registered to indicate activity on CPUs
Jan  1 00:00:07 XXX-0000 user.info kernel: omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
Jan  1 00:00:07 XXX-0000 user.info kernel: omap-sham 53100000.sham: hw accel on OMAP rev 4.3
Jan  1 00:00:07 XXX-0000 user.info kernel: usbcore: registered new interface driver usbhid
Jan  1 00:00:07 XXX-0000 user.info kernel: usbhid: USB HID core driver
Jan  1 00:00:07 XXX-0000 user.info kernel: oprofile: using arm/armv7
Jan  1 00:00:07 XXX-0000 user.info kernel: TCP: cubic registered
Jan  1 00:00:07 XXX-0000 user.info kernel: NET: Registered protocol family 10
Jan  1 00:00:07 XXX-0000 user.info kernel: NET: Registered protocol family 17
Jan  1 00:00:07 XXX-0000 user.notice kernel: Key type dns_resolver registered
Jan  1 00:00:07 XXX-0000 user.info kernel: ThumbEE CPU extension supported.
Jan  1 00:00:07 XXX-0000 user.info kernel: regulator-dummy: disabling
Jan  1 00:00:07 XXX-0000 user.info kernel: DCDC1: at 1500 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: vdd_mpu: 925 <--> 1325 mV at 1325 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: vdd_core: 925 <--> 1150 mV at 1125 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: LDO1: at 1800 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: LDO2: at 3300 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: LDO3: 1800 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: LDO4: at 3300 mV 
Jan  1 00:00:07 XXX-0000 user.info kernel: tps65217 0-0024: TPS65217 ID 0xe version 1.2
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
Jan  1 00:00:07 XXX-0000 user.info kernel: console [netcon0] enabled
Jan  1 00:00:07 XXX-0000 user.info kernel: netconsole: network logging started
Jan  1 00:00:07 XXX-0000 user.info kernel: mmc1: BKOPS_EN bit is not set
Jan  1 00:00:07 XXX-0000 user.info kernel: mmc1: new high speed MMC card at address 0001
Jan  1 00:00:07 XXX-0000 user.info kernel: mmcblk0: mmc1:0001 MMC02G 1.78 GiB 
Jan  1 00:00:07 XXX-0000 user.info kernel: mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
Jan  1 00:00:07 XXX-0000 user.info kernel: mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
Jan  1 00:00:07 XXX-0000 user.info kernel:  mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 >
Jan  1 00:00:07 XXX-0000 user.info kernel:  mmcblk0boot1: unknown partition table
Jan  1 00:00:07 XXX-0000 user.info kernel:  mmcblk0boot0: unknown partition table
Jan  1 00:00:07 XXX-0000 user.info kernel: davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
Jan  1 00:00:07 XXX-0000 user.info kernel: davinci_mdio 4a101000.mdio: detected phy mask fffffffe
Jan  1 00:00:07 XXX-0000 user.info kernel: libphy: 4a101000.mdio: probed
Jan  1 00:00:07 XXX-0000 user.info kernel: davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
Jan  1 00:00:07 XXX-0000 user.err kernel: phy[lan8710]: Disabling Auto-MDIX support
Jan  1 00:00:07 XXX-0000 user.info kernel: Random MACID = b2:a2:73:b9:b6:2c
Jan  1 00:00:07 XXX-0000 user.info kernel: VFS: Mounted root (squashfs filesystem) readonly on device 179:6.
Jan  1 00:00:07 XXX-0000 user.info kernel: devtmpfs: mounted
Jan  1 00:00:07 XXX-0000 user.info kernel: Freeing unused kernel memory: 196K (c054c000 - c057d000)
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p7): mounted filesystem without journal. Opts: (null)
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p8): barriers disabled
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p8): recovery complete
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p8): mounted filesystem with writeback data mode. Opts: stripe=4096,data=writeback,nobarrier,nodiscard
Jan  1 00:00:07 XXX-0000 daemon.info kernel: udevd[88]: starting version 182
Jan  1 00:00:07 XXX-0000 user.warn kernel: 47401300.usb-phy supply vcc not found, using dummy regulator
Jan  1 00:00:07 XXX-0000 user.warn kernel: 47401b00.usb-phy supply vcc not found, using dummy regulator
Jan  1 00:00:07 XXX-0000 user.info kernel: omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: MHDRC RTL version 2.0 
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: setup fifo_mode 4
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: 28/31 max ep, 16384/16384 memory
Jan  1 00:00:07 XXX-0000 user.info kernel: musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
Jan  1 00:00:07 XXX-0000 user.info kernel: musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb1: Product: MUSB HDRC host driver
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb1: Manufacturer: Linux 3.14.0-yocto-standard musb-hcd
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb1: SerialNumber: musb-hdrc.0.auto
Jan  1 00:00:07 XXX-0000 user.info kernel: hub 1-0:1.0: USB hub found
Jan  1 00:00:07 XXX-0000 user.info kernel: hub 1-0:1.0: 1 port detected
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: MHDRC RTL version 2.0 
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: setup fifo_mode 4
Jan  1 00:00:07 XXX-0000 user.debug kernel: musb-hdrc: 28/31 max ep, 16384/16384 memory
Jan  1 00:00:07 XXX-0000 user.info kernel: musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
Jan  1 00:00:07 XXX-0000 user.info kernel: musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb2: Product: MUSB HDRC host driver
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb2: Manufacturer: Linux 3.14.0-yocto-standard musb-hcd
Jan  1 00:00:07 XXX-0000 user.info kernel: usb usb2: SerialNumber: musb-hdrc.1.auto
Jan  1 00:00:07 XXX-0000 user.info kernel: hub 2-0:1.0: USB hub found
Jan  1 00:00:07 XXX-0000 user.info kernel: hub 2-0:1.0: 1 port detected
Jan  1 00:00:07 XXX-0000 user.notice kernel: random: dd urandom read with 121 bits of entropy available
Jan  1 00:00:07 XXX-0000 user.notice kernel: random: nonblocking pool is initialized
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p7): mounted filesystem without journal. Opts: (null)
Jan  1 00:00:07 XXX-0000 user.info kernel: net eth0: initializing cpsw version 1.12 (0)
Jan  1 00:00:07 XXX-0000 user.err kernel: phy[lan8710]: Disabling Auto-MDIX support
Jan  1 00:00:07 XXX-0000 user.info kernel: net eth0: phy found : id is : 0x7c0f1
Jan  1 00:00:07 XXX-0000 user.err kernel: libphy: PHY 4a101000.mdio:01 not found
Jan  1 00:00:07 XXX-0000 user.err kernel: net eth0: phy 4a101000.mdio:01 not found on slave 1
Jan  1 00:00:07 XXX-0000 user.info kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p8): barriers disabled
Jan  1 00:00:07 XXX-0000 user.info kernel: EXT4-fs (mmcblk0p8): mounted filesystem with writeback data mode. Opts: stripe=4096,data=writeback,nobarrier,nodiscard
Jan  1 00:00:07 XXX-0000 user.info kernel: cryptodev: driver 1.6 loaded.
Jan  1 00:00:07 XXX-0000 cron.info crond[640]: (CRON) STARTUP (1.4.11)
Jan  1 00:00:07 XXX-0000 cron.info crond[640]: (CRON) INFO (Syslog will be used instead of sendmail.)
Jan  1 00:00:07 XXX-0000 cron.info crond[640]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 30% if used.)
Jan  1 00:00:09 XXX-0000 user.info kernel: libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Jan  1 00:00:09 XXX-0000 user.info kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Jan  1 00:00:10 XXX-0000 daemon.err ifplugd(eth0): link is up
Jan  1 00:00:10 XXX-0000 daemon.err ifplugd(eth0): executing '/etc/ifplugd/ifplugd.action eth0 up'
Jan  1 00:00:10 XXX-0000 daemon.info udhcpc[654]: udhcpc (v1.22.1) started
Jan  1 00:00:10 XXX-0000 daemon.info udhcpc[654]: Sending discover...
Jan  1 00:00:12 XXX-0000 daemon.info udhcpc[654]: Sending discover...
Jan  1 00:00:14 XXX-0000 daemon.info udhcpc[654]: Sending discover...
Jan  1 00:00:16 XXX-0000 daemon.info udhcpc[654]: Sending discover...
Jan  1 00:00:18 XXX-0000 daemon.info udhcpc[654]: Sending discover...
Jan  1 00:00:19 XXX-0000 daemon.info udhcpc[654]: Sending select for 192.168.1.156...
Jan  1 00:00:19 XXX-0000 daemon.info udhcpc[654]: Lease of 192.168.1.156 obtained, lease time 86400
Jan 23 18:40:05 XXX-0000 daemon.err ifplugd(eth0): exit code: 0
Jan 23 18:40:05 XXX-0000 daemon.debug irisagentd[611]: No agent debug configuration is present.
Jan 23 18:40:05 XXX-0000 daemon.info irisagentd[611]: Starting hub agent...
Jan 23 18:40:05 XXX-0000 authpriv.info su[723]: Successful su for agent by root
Jan 23 18:40:05 XXX-0000 authpriv.info su[723]: + /dev/console root:agent
Jan 23 18:50:07 XXX-0000 user.info kernel: watchdog watchdog0: nowayout prevents watchdog being stopped!
Jan 23 18:50:07 XXX-0000 user.crit kernel: watchdog watchdog0: watchdog did not stop!
Jan 23 19:01:01 XXX-0000 cron.info CROND[4944]: (root) CMD (run-parts /etc/cron.hourly)

V2 Bootlog

Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.14.0-yocto-standard ([email protected]) (gcc version 4.8.2 (GCC) ) #1 PREEMPT Tue Sep 20 16:04:40 UTC 2016
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: TI AM335x BeagleBone
cma: CMA: reserved 16 MiB at 9e800000
Memory policy: Data cache writeback
On node 0 totalpages: 130816
free_area_init_node: node 0, pgdat c05c9490, node_mem_map dfaf2000
  Normal zone: 1024 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 130816 pages, LIFO batch:31
CPU: All CPU(s) started in SVC mode.
AM335X ES2.1 (neon )
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129792
Kernel command line: console=ttyO0,115200n8 lpj=4980736 quiet mtdoops.mtddev=omap2.nand root=/dev/mmcblk0p6 ro rootfstype=squashfs rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
allocated 1048576 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Memory: 495004K/523264K available (4023K kernel code, 304K rwdata, 1368K rodata, 197K init, 269K bss, 28260K reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc054be14   (5392 kB)
      .init : 0xc054c000 - 0xc057d744   ( 198 kB)
      .data : 0xc057e000 - 0xc05ca1a0   ( 305 kB)
       .bss : 0xc05ca1ac - 0xc060d7d8   ( 270 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
OMAP clockevent source: timer2 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
OMAP clocksource: timer1 at 24000000 Hz
Console: colour dummy device 80x30
Calibrating delay loop (skipped) preset value.. 996.14 BogoMIPS (lpj=4980736)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
Initializing cgroup subsys debug
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys net_cls
Initializing cgroup subsys blkio
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x803ce580 - 0x803ce5d8
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_hwmod: tptc0 using broken dt data from edma
omap_hwmod: tptc1 using broken dt data from edma
omap_hwmod: tptc2 using broken dt data from edma
omap_hwmod: debugss: _wait_target_disable failed
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
platform 49000000.edma: alias fck already exists
platform 49000000.edma: alias fck already exists
platform 49000000.edma: alias fck already exists
OMAP GPIO hardware version 0.1
hw-breakpoint: debug architecture 0x4 unsupported.
bio: create slab <bio-0> at 0
edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
vmmcsd_fixed: 3300 mV 
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
Switched to clocksource timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
futex hash table entries: 256 (order: -1, 3072 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
msgmni has been set to 998
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
omap_uart 44e09000.serial: no wakeirq for uart0
44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
console [ttyO0] enabled
omap_uart 48022000.serial: no wakeirq for uart0
48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART1
omap_uart 48024000.serial: no wakeirq for uart0
48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 90, base_baud = 3000000) is a OMAP UART2
omap_uart 481a8000.serial: no wakeirq for uart0
481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART4
brd: module loaded
usbcore: registered new interface driver cdc_ether
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-omap: OMAP-EHCI Host Controller driver
usbcore: registered new interface driver usb-storage
i2c /dev entries driver
omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
48060000.mmc supply vmmc_aux not found, using dummy regulator
481d8000.mmc supply vmmc_aux not found, using dummy regulator
ledtrig-cpu: registered to indicate activity on CPUs
omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
omap-sham 53100000.sham: hw accel on OMAP rev 4.3
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using arm/armv7
TCP: cubic registered
NET: Registered protocol family 10
NET: Registered protocol family 17
Key type dns_resolver registered
ThumbEE CPU extension supported.
regulator-dummy: disabling
DCDC1: at 1500 mV 
vdd_mpu: 925 <--> 1325 mV at 1325 mV 
vdd_core: 925 <--> 1150 mV at 1125 mV 
LDO1: at 1800 mV 
LDO2: at 3300 mV 
LDO3: 1800 mV 
LDO4: at 3300 mV 
tps65217 0-0024: TPS65217 ID 0xe version 1.2
omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
console [netcon0] enabled
netconsole: network logging started
mmc1: BKOPS_EN bit is not set
mmc1: new high speed MMC card at address 0001
mmcblk0: mmc1:0001 MMC02G 1.78 GiB 
mmcblk0boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
mmcblk0boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
 mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 >
 mmcblk0boot1: unknown partition table
 mmcblk0boot0: unknown partition table
davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
davinci_mdio 4a101000.mdio: detected phy mask fffffffe
libphy: 4a101000.mdio: probed
davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
phy[lan8710]: Disabling Auto-MDIX support
Random MACID = 96:be:38:b5:b8:51
VFS: Mounted root (squashfs filesystem) readonly on device 179:6.
devtmpfs: mounted
Freeing unused kernel memory: 196K (c054c000 - c057d000)
EXT4-fs (mmcblk0p7): mounted filesystem without journal. Opts: (null)
EXT4-fs (mmcblk0p8): barriers disabled
EXT4-fs (mmcblk0p8): recovery complete
EXT4-fs (mmcblk0p8): mounted filesystem with writeback data mode. Opts: stripe=4096,data=writeback,nobarrier,nodiscard
udevd[88]: starting version 182
47401300.usb-phy supply vcc not found, using dummy regulator
47401b00.usb-phy supply vcc not found, using dummy regulator
omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver
musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 3.14.0-yocto-standard musb-hcd
usb usb1: SerialNumber: musb-hdrc.0.auto
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0 
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 3.14.0-yocto-standard musb-hcd
usb usb2: SerialNumber: musb-hdrc.1.auto
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
random: dd urandom read with 106 bits of entropy available

It seems that the SSH is not installed If you need anything else let me know :slight_smile:

Also the Web Portal has been updated a lot from that video.

1 Like

Thanks! I checked out the portal again today, it looks pretty good! What would be perfect is to be able to interface the Iris to home assistant as a local bridge, via python or even thru local http requests, perhaps. This way we could continue to use Iris devices but control them within hass, similar to how Wink and Smart Things hubs are used.

experimenting with the HUSBZB-1 USB stick … could be promising. More to come!

Any luck on getting Lowe’s devices to work with HA?

Sadly, I was unable to get Iris Gen-1 devices to communicate with the HUSBZB.
Folks are reporting success with the Gen-2 devices, but that defeats the purpose for my purchase, as it goes …

Of note, I did find this project.

The author is interested in finding people who would be interested in helping merge the work into hass. It is based on the XBee controller, which is already supported in hass. Ideally, if we could round up some smart folks to get the project forked to work with the HUSBZB then we would have a solution.

I’ll mention @russell here in hopes he will see this and join the cause! :slight_smile:

If they’re not ZHA compliant, they’re not in my immediate plans to support. That said, I do plan on having some way of supporting “quirks” – something along the lines of how the smartthings device handlers work.

Any idea how I can get my hands on some of the Iris gen 1 devices (for a reasonable price)?

Hello All,
Thank you @automateit for the mention and the invitation to this forum.

I am the author of the PyAlertMe library (https://github.com/jamesleesaunders/PyAlertMe), the aspiration for this project is to create a set of Python classes which can be used to emulate the Iris (AlertMe) hub or devices using a Raspberry Pi connected to an XBee module. The intention for this is to help those who have a collection of Gen 1 Iris sensors, plugs etc collecting dust due to the Gen 1 Iris platform being switched off. Firing up a Pi+XBee+PyAlertMe you have a simple replacement hub up and working in minutes.

Rather than use the HA Zigbee standard, AlertMe opted to develop their own Zigbee profile. Alter much Zigbee sniffing and reverse engineering, with the help of Desert Home (http://www.desert-home.com/2014/02/raspberry-pi-and-lowes-iris-smart-switch.html) I have managed to work out most of the way the AlertMe Zigbee profile works.

I am still tinkering with the PyAlertMe library (it is still not fully polished) and was not really intending to publicise it just yet, but when @automateit contacted me suggesting there may be people interested in using and contributing to this project I jumped at the offer.

I am in the UK and so have developed this using branded AlertMe Hub, Sensors and Plugs but I am led to believe that Iris is pretty much AlertMe devices re-badged so should work exactly the same (I would be interested to hear otherwise). Here in the UK the AlertMe platform is still alive (just!) so the hubs still work (but it is rapidly being superseded by younger cousin ‘Hive’ from British Gas the new owners of AlertMe (which incidentally I believe has just re-launched in the US)). Hive is exactly the same hardware so I am hoping that one day the PyAlertMe library may also work with Hive.

I confess, I am really not a fully fledged Python coder (this is my first Python project) so the quality of the code may not be great and I may have some weird ways of implementing parts but it works! I also have a little way to go with documenting this library (no surprises there!).

So, if there is anyone on here who would be willing to help me on this project I would be extremely happy.

I think (hope) the way I have developed PyAlertMe means it could in the future be integrated with Home Assistant also (again, for this, I would appreciate any guidance on how to create a good interface with the PyAlertMe classes).

As well as simulating a Iris Hub you can also use the PyAlertMe class to simulate a Iris device also, for example you can also emulate a Iris SmartPlug or Sensor which will connect to a hub. The use of this is that you could create your own custom sensors which the Iris hub will believe are ‘real’ sensors.

Thanks again, I hope I can be of use contributing to Home Assistant.

Jim

Hi @russell
I have a good collection of various AlertMe (Iris) devices I am willing to send a couple of spares across the pond if any use to you to play with? (Although to be honest it may be easier for you to source them locally on ebay).
Jim

Anyone interested?

If you’re in the US I can prob send you devices …
I have a smart outlet, one motion and one contact sensor that i’m willing to donate to “the cause” and also have a spare V2 hub and can prob get a V1 hub too…

Good to see someone else has run across the work of Desert Home. I might be able to try to help if interested. I have to see what Gen1 devices I still have. I have a few xBee S2B’s, and at least one or two Iris Gen 1, and at least two Iris Gen 2 hubs.

Hi @jonathanweinberg Excellent! Thank you, I am very much interested in your help! Once you have dug out the bits and had a snoop around my code give me a shout with any ideas, comments etc. Please feel free to raise any pull requests you see fit I am very much open up to any ideas on how to make this library useful.

Like I say, this is my first python library project so the code may not be brilliant, but I do hope I have evolved the great work of desert home further towards a more reusable library.

I guess I had better polish off the readme with a little more info to help you.

I have polished off some more of the PyAlertMe code. Possibly of most interest to some of you may be the pyalertme/zigbee.py file in which I have detailed all the AlertMe (Iris) zigbee profile frames.

@jonathanweinberg If you do get a chance to peek, let me know if you need me to document anything in more detail.

@russell I don’t know if there is anything of use in here to intergrate with Bellows? BTW the offer still stands if you want me to post you a couple of Iris sensors (in exchange for any guidance you can give me about PyAlertMe.

If not directly of use to Bellows or Home Assistant I hope there may be some interesting code should people want to steal it and integrate into other code.

All the best,
Jim