[RELEASE] Elk M1 Integration

@project_x - How did you get to Device Maps without going to Apps -> Elk M1 Application?

When I tried to add User App.
I filled in all my info and clicked next...it then went to Device Maps. I think I forgot to hit done there....

I just reset my hub to an earlier version...I think I didn't hit done on the initial Device Maps screen and the M1 Application didn't finish (and I was stuck with an M1 Device I couldn't delete.

I will post what happens in a minute

@project_x,

That makes sense and could be directly related to that app error that I just fixed. Hopefully this is smooth sailing from here on out for you. You are not the first one who had a similar issue. I will see what I can do about that orphaned device so this doesn't happen to others.

Greg

Now I have installed it shows up in the App-

Will attempt to import Zones.

Thanks for the quick response and the great work.

Thank you and thanks for your help identifying the issue. I hope you enjoy the integration!

Greg

Hey @captncode, hope you have been well!! I am still loving the M1 integration with the Hubitat!

I have a few odd issues I wanted to run by you, not sure if they are all related or not.

  • I have a rule setup to lock some August locks when my M1 is Armed. It was working perfect then stopped a few months back. The M1 still arms and disarms, but it does not lock the doors but I can separately lock and unlock the same locks from the Hubitat dashboard.
  • Periodically (maybe 1 out of 10) on my Hubitat app when I hit Arm Away (not on local wifi) the app or HSM displays the M1 as Armed but it is NOT armed.
  • There appears to be an open issue with HSM that is scheduled to be fixed with release 2.2.8 that addresses a typo in the code. Currently, on my hub I cannot open HSM and get an error which lead me to the following link and it might be the root of my issues above (1 & 2): HSM bug? - #4 by tomm1313 but wanted to run all this by you.

Any suggestion on issue 1 & 2? Below are my logs when I hit Arm Away it just stops at HSM Alert and nothing else. Either way both logs are showing errors during the Arm process but I am not sure which way to go from here. Also, quick note, the lock automation does not run under any Arm scenario nor unlock.

*Unsuccessful Arm Away log – HSM shows the status as Armed but it is not.

2021-07-11 11:50:55.129 am infoHSM Alert: armingAway

dev:12021-07-11 11:50:55.085 am errorgroovy.lang.MissingMethodException: No signature of method: user_driver_belk_Elk_M1_Driver_394.armAway() is applicable for argument types: (java.lang.Long) values: [59]

Possible solutions: armAway(), armAway(int), armAway(int, java.lang.String), armHome(), ArmNextAway(), armHome(int) (armAway)

*Successful Arm Away log but Locks do not Lock – note errors in logs.

app:272021-07-11 11:54:54.530 am errorjava.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 1581 (armNoticeHandler)

dev:12021-07-11 11:54:54.510 am infoElk M1 Gold armStatus was arming away by 1 - Main

dev:12021-07-11 11:54:54.433 am infoElk M1 Gold armingIn was 60

dev:12021-07-11 11:54:54.058 am infoElk M1 Gold Elk M1 Gold sent email # 1

app:12021-07-11 11:54:53.407 am infoHSM Alert: armingAway

dev:12021-07-11 11:54:53.367 am errorgroovy.lang.MissingMethodException: No signature of method: user_driver_belk_Elk_M1_Driver_394.armAway() is applicable for argument types: (java.lang.Long) values: [59]

Possible solutions: armAway(), armAway(int), armAway(int, java.lang.String), armHome(), ArmNextAway(), armHome(int) (armAway)

Thank you!

@AKTown ,

Sorry it has taken me so long to look at this. All of my time this week has been taken up with work and family things.

Looking at that error with arming, it looks like there is a parameter of 59 being passed to ArmAway. The only reason to be passing a parameter (argument) to ArmAway is if you wish to arm another area or use a user code other than what is stored in the Elk M1 driver. When you lock it from the dashboard, no parameters are being passed.

Are you arming HSM and letting the ELK arm or vice versa? It shouldn't make a difference but it does give me a direction to look.

Greg

Hi @captncode

Thank you for looking over the issue with me. Ironically after living with my problem for a few months the hub updated last night and it is now locking and unlocking as intended. Unfortunately I pulled a fresh log and I still have the errors. In this log file I tapped Arm Home with HSM.

app:12021-07-16 05:02:18.000 pm infoHSM Alert: armedHome
app:272021-07-16 05:02:17.949 pm infoArmed Home
app:272021-07-16 05:02:14.091 pm errorjava.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 1581 (armNoticeHandler)
dev:12021-07-16 05:02:14.057 pm infoElk M1 Gold armStatus was arming home by 1 - Master
dev:12021-07-16 05:02:13.977 pm infoElk M1 Gold armingIn was 60
dev:12021-07-16 05:02:13.604 pm infoElk M1 Gold Elk M1 Gold sent email # 1
app:12021-07-16 05:02:12.948 pm infoHSM Alert: armingHome
dev:12021-07-16 05:02:12.883 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_belk_Elk_M1_Driver_394.armHome() is applicable for argument types: (java.lang.Long) values: [5] Possible solutions: armHome(), armHome(int), armHome(int, java.lang.String), armAway(), ArmNextHome(), chime() (armHome)

Thank you!

@AKTown ,

I have a few observations from the log.

  1. The Elk driver threw an error because something passed an argument of 5 to armHome() that should not have.
  2. HSM sent armingHome instead of armedHome
  3. HSM threw an error on JSON, then armed home 4 seconds later

I suspect HSM was set to use a 5 second delay, which may have been that 5 in the argument.

HSM may be set to use the Elk keypad to arm AND the Elk M1 Application is also set to use HSM integration. This is not a scenario I have tested.

Could you please send screen shots or at least the information used to configure Arming/Disarming/Cancel Options in HSM? That would help me better test how you have things set up.

It is likely HSM has new features that I have not tested with the Elk M1 integration.

Regards,
Greg

I am new to Hubitat so I might ask some stupid questions.

First I have installed ELK twice but it does not let me delete any of them?
How do I set up the alarm in the dashboard?

I am getting this error. My system seems to be running fine but I do see this error with my Elk Integration.

dev:1592021-11-05 12:48:29.124 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.toInteger() is applicable for argument types: () values: []

Does anyone know what it is?

@silverton38 ,

Wow, two months ago. I'm very sorry I did not see this until now. If a system reboot doesn't fix it, you may need to talk to someone in the support forum about being unable to remove a device. Do you remember what you did to cause two to be installed?

Greg

@silverton38 ,

Is there any more information in the log like maybe a line number? Do you know what may have happened (like pushing a button) when the error was written?

Greg

Do you think I installed two instance of the app?

I did install and delete when first setting it up?

Name Namespace Capabilities Last Modified

Child Switch ogiewon 2021-09-28 11:54:42pm EDT
Elk M1 Driver belk 2021-09-14 8:49:06pm EDT
Elk M1 Driver Counter captncode 2021-09-14 8:45:42pm EDT
Elk M1 Driver Outputs belk 2021-09-14 8:49:28pm EDT
Elk M1 Driver Tasks belk 2021-09-14 8:50:37pm EDT
GoControl Wireless Remote Switch ajpri 2020-11-13 3:47:08pm EST
Logitech Harmony Hub Parent ogiewon 2021-09-28 11:49:12pm EDT
Ring Alarm Range Extender gen2 cococafe 2021-10-26 12:14:36pm EDT
Roomba dkilgore90 2021-10-26 12:42:08pm EDT
Somfy ZRTSI augoisms 2021-10-26 12:14:55pm EDT
Tesla trentfoley 2021-10-26 12:17:47pm EDT
TeslaDriver Snell 2021-10-26 12:15:18pm EDT
Virtual Motion with Switch ogiewon 2020-11-18 5:28:18pm EST

settings_applications

Elk M1 Application Elk M1 Application (user)

I only see one instance of Elk but I did install it twice. Could there be some ghost code?

I did already take care of the two applications. I think I am good with that. I just get this error above. All seems to work well otherwise.

Hi Greg,
I've decided to link my Elk-M1 system to Hubitat. It looks like it's working so far, but for some reason, I cannot arm. I can disarm, speak words, get the temp and zone voltages, but just not arm. Any clues?

Rule Machine bug:
Speaking Actions on the Elk M1 in Rule Machine results in the following error:

2021-11-22 09:52:15.478 am errorgroovy.lang.MissingMethodException: No signature of method: user_driver_captncode_Elk_M1_Driver_Text_To_Speech_476.speak() is applicable for argument types: (java.lang.String, null) values: [Back yard fountain is on, null]
Possible solutions: speak(java.lang.String), grep(), inspect(), every(), sleep(long, groovy.lang.Closure), split(groovy.lang.Closure) on line 5526 (method speak)

Speaking the same thing via a Basic Rule works just fine.

Thank you for your attention.