Lowes IRIS Transition

I would hope not, unless it spontaniously explodes on its own accord...
So yes, the usual way this works is that I return the device once I've written a driver for it, in this case I would prefer to keep it for long term support issues should I need one in the future.

Lowes did give you money back for these right?

Alright, I tried 2.0.7 for a bit, and had to roll back to 2.0.6. Although I was excited to see some of the changes, things seemed a bit buggy with the dashboards (missing HSM options, attribute "status" could not be set, adding tiles, removing tiles, etc., were not being shown) and the Iris keypads were misbehaving.

Also, I hate to say it, because I know how hard this stuff is and I had high hopes, but the "tone" for the Iris keypads wasn't what I was expecting. It looks like it's just a shortened siren tone that repeats a couple of times, where the old Iris tone was the tone you hear when you run "configure" (three quick distinct chirps). The siren, to me, is a bit too harsh to use as a door chime.

Gonna let 2.0.7 bake for a few days, hopefully give you guys some time to work your magic. I have to give you props though on how easy the rollback was. I went back to the old version but things were still not working, but it autosaved a backup and I was able to restore it to and was back in business in no time (did not have to recreate broken dashboards).

1 Like

Yup, what was provided via the tone update is all you can expect from these at this point. They probably won't work as well as they did on Iris, all of them, centralite included are eol and no longer available for purchase, so its difficult to justify burning more engineering time on them.

I'm just curious if there's a way to trigger the configure() chirps without all that extra data being sent. There must be some bit the keypad receives to trigger it. I'm not familiar enough with the ecosystem to debug this, unfortunately. :slight_smile: ...or even if it's something we end users can debug with the access we have.

I completely understand your point, though, and it is better to have something than nothing.

Supposedly the Iris sw will be released open source at some point in some form, too. Might help someone writing the code.

If there was a way I could find, I would have implemented it.
Sure, anyone can hack away at this device, there is a community DTH that everyone in st uses for this device, you can use as a starting point.

We will not be posting our driver, in my opinion it's better than the ST DTH, and I have no intention of having our driver back ported to ST.

2 Likes

It's already available, and if someone finds the magic zigbee frame, I'll be more than happy to implement it, I just don't have the time to go trolling through that repo to find it.

Yes, Lowe's did provide a rather generous payment for V1 devices in my network. While I would like to put it back in service, making it available so the driver can be written and providing support overrides my need to keep a non-functioning piece of equipment around. How would I get it to you? The foum's Messages is probably a better way to communicate details rather than post them here.

Hmmm... just a bit of trolling through and found a CentraLite drive written in java...

  case KeyPadCapability.ChimeRequest.NAME:
     sendChime();
     break;

public void sendChime() {
      zclmsp(
         0x104E,           // manufacturer id
         (short)0x0104,    // profile id
         (short)0x01,      // endpoint id
         (short)0xFC04,    // cluster id
         0x00,             // command
         new byte[0],      // payload
         false,            // from server
         true,             // cluster speciifc
         true              // disable default response
      ).subscribe(RxIris.SWALLOW_ALL);
   }

Sorry had to edit this to say I have no idea what I'm doing....

1 Like

Yeah, please pm me and I'll send you my address, thanks!

Thanks, I can try that command next time I'm in that driver.

2 Likes

Im pleased to get any sound out of my V2 Keypad.. the chirps, the 3 that have been mentioned are much better than the alarm sound.. i went ahead and installed a dome alarm and using that instead for doors.

Does anyone know if the IRIS water shutoff valve and water detectors work with Habitat?

Both will work as they both are standards-compliant devices.

well that little frame indeed is the bad boy, thanks for that.
It is a manufacturer specific command which was only implemented on the Iris V2 and V3 keypads, it is not available for the centralite keypads, in any event in 2.0.8 it will be used for the drivers beep command.

4 Likes

Woohoo!

Mike always take a hammer to devices that give him any problems in writing a driver, he likes to show them who is boss...:laughing:

Seriously, all you Iris refugees could NOT be in better hands. The Hubitat staff is top notch.

If Mike can't figure it out, you might as well go ahead and destroy the device yourself, it's useless, unless you migrate to one of those homebrew HA systems, where installing a lightswitch takes 55 lines of code and 6 hours of typing in Linux

3 Likes

Here's the function from the AlertMe keypad (I think this is v1?). It's probably not too different than what you're doing now:

case KeyPadCapability.ChimeRequest.NAME:
         playSound(SOUNDID_HOME, (byte)0x00, VOL_MAX);
         break;

 private static final byte SOUNDID_HOME = 0x05;
   private static final byte VOL_MAX = (byte)0xFF;

   private void playSound(int soundId, int repeatCount, int volume) {
      int mask = getSoundMask();
      int snd = ((volume & 0xFF) << 16) | ((repeatCount & 0xFF) << 8) | (soundId & 0xFF);
      General.ZclWriteAttributeRecord[] recs;
      if( (mask & SOUNDMASK[soundId]) == 0 ) {
         int tempMask = mask | SOUNDMASK[soundId];
         recs = new General.ZclWriteAttributeRecord[] {
            General.ZclWriteAttributeRecord.builder()
               .setAttributeIdentifier(AME_ATTR_SOUNDS_MASK)
               .setAttributeData(ZclData.builder().set16BitBitmap((short)tempMask).create())
               .create(),
            General.ZclWriteAttributeRecord.builder()
               .setAttributeIdentifier(AME_ATTR_SOUNDID)
               .setAttributeData(ZclData.builder().set24Bit(snd).create())
               .create(),
            General.ZclWriteAttributeRecord.builder()
               .setAttributeIdentifier(AME_ATTR_SOUNDS_MASK)
               .setAttributeData(ZclData.builder().set16BitBitmap((short)mask).create())
               .create(),
         };
      } else {
         recs = new General.ZclWriteAttributeRecord[] {
            General.ZclWriteAttributeRecord.builder()
               .setAttributeIdentifier(AME_ATTR_SOUNDID)
               .setAttributeData(ZclData.builder().set24Bit(snd).create())
               .create()
         };
      }

      ProtocMessage req = General.ZclWriteAttributesNoResponse.builder()
         .setAttributes(recs)
         .create();

      zcl(AME_PROFILE_ID, AME_ENDPOINT_ID, AME_ATTR_CLUSTER_ID, req, false, false, false)
         .retryWhen(standardRetry())
         .subscribe(RxIris.SWALLOW_ALL);
   }

Here are the links to the full drivers in case there's something in there that can be useful. Thank you for doing this!



1 Like

LOL I dunno, sometimes I like spending 6 hours typing in Linux. Who doesn't like running make a bunch of times?

1 Like

I have never yet enjoyed typing 'make'

700 lines fill the screen, 8 mins go by, and at the end says failed. OH Fun Times!! :slight_smile:

1 Like