Lowes IRIS Transition


#367

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?


#368

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).


#369

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.


#370

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.


#371

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


#372

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.


#373

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.


#374

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.


#375

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....


#376

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


#377

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


#378

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.


#379

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


#380

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


#381

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.


#382

Woohoo!


#383

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


#384

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!




#385

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


#386

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: