[Release] Nyckelharpa, an HSM Extension

Update 2:

  1. The "Do not talk" times may be cleared by erasing the data, so it should not be necessary to change the code.
  2. The command 'timeOfDayIsBetween' is likely SmartThings groovy only and the code will be changed.

Update: Found this is a bug after adding quiet times on my system and getting the exact same error message. Plus it kills Talker messages at all times.

Also discovered there was no way to remove the quiet time once it was coded.

Will make some changes and release a revised module. Meanwhile should you not be getting Talker messages, comment out the block of code shown below until the updated module is released. The code was moved over from SmatThings and likely never tested.

Initial Response
I wish I did, but I don't know what could be causing this message, and I don't have these messages in my error log. The logic at the point of error is attempting to handle any defined "Do Not Talk" times. On my system these parameters are not defined.

Some suggestions:

  1. verify you are on the latest Talker version: May 23, 2019 v0.0.8
  2. Save Nyckelharpa Talker's settings with Do Not Talk not defined; Try it
  3. Save Nyckelharpa Talker's settings with Do Not Talk defined; Try it

Should this not cure it, it may have something to do the Europe/Madrid time zone. For that you would need to contact support.

Meanwhile I will add some quiet times and test it on my system.

//	1.0.3 Nov 4, 2018 check time values for quiet
	if (theStartTime>"" && theEndTime>"")
		{
		def between = timeOfDayIsBetween(theStartTime.substring(11,16), theEndTime.substring(11,16), new Date(), location.timeZone)
		if (between)
			{
//			logdebug ("it is quiet time")	
			return false
			}
		}

Hi arnb, thank you for your fast answer:

  1. Yes, the Talker version I have is that: May 23, 2019 v0.0.8
  2. Now Do not talk settings are undefined. I'll let you know how is it going.
  3. Later I'll define again Do not talk settings and try it.

You're right, I didn't have Talker messages at any time.

I just saw your second update. Let us know when you find the answer, please, and thanks again.

Those error messages seem to be gone, but now I'm receiving this other one:

2019-12-02 20:34:45.678 errorjava.lang.IllegalArgumentException: Command 'playTextAndResume' is not supported by device. on line 390 (TalkerHandler)

[Update] Dec 02, 2019 16:30PM EST

Enhancements and Changes

  1. Corrects a system error when "Do not talk" times are defined. Symptoms: Messages never speak, log errors

  2. Adds flag to turn quiet time On/Off

I urge everyone to stay up to date, please update your system,

How to Install
There is one (1) module associated with this update.

Apps Code

  1. Nyckelharpa Talker V0.0.9

Update Nyckelharpa Talker settings

  1. Set the "Do Not Talk" flag and times as desired
  2. Save Settings

Documentation

  • Not Updated

tag: @a1adb50e476a67b85c68

1 Like

I did not see that during the update testing on my system using and Android and Fire tablets.

What device types are you using for speech output?

I'm using Sonos devices.

Unfortunately, as far as I can determine the stock Hubitat Sonos driver does not support playTextAndResume and playTrackAndResume

Please try the following:

  1. In apps code go to the source code for Nyckelharpa Talker

  2. on the following lines change playTextAndResume to playTextAndRestore
    341
    363
    384
    405
    414
    424
    432

  3. Save the code, Test, then post your results

If it works I will attempt to create some code that does a workaround for the SONOS device

Thanks arnb. I did as you suggested. Tomorrow (it's 11:40 pm in western Europe) I'll test and post my results. I knew Hubitat Sonos driver was missing those commands, they are very useful for Sonos users like me, and I think back in the Smarthings era they were working.

Thank you. However, prior to testing please make an additional code change to those lines. Essentially remove the volume parameter.

From
theSpeakers.playTextAndResume(msgout,theVolume)

To
theSpeakers.playTextAndRestore(msgout)

Yes, playTextAndResume worked in SmartThings

[Update] Dec 04, 2019 14:00 EST

Enhancements and Changes

  1. Corrects error with Sonos speakers caused by Hubitat driver not having command 'sendTextAndResume'. Uses command playTextAndRestore.
    Should command 'sendTextAndResume' be added to the Sonos driver it will automatically be used.
    Symptoms: Messages never speak, log errors

I urge everyone to stay up to date, please update your system,

How to Install
There is one (1) module associated with this update.

Apps Code

  1. Nyckelharpa Talker V0.1.0

Update Nyckelharpa Talker settings

  1. No changes

Documentation

  • Not Updated
1 Like

Arnb, great app, Thank you. It really makes HSM the total solution for me.
I'm seeing errors on my Iris V2 keypad using mich ponds driver with your app

have you seen this before? I set my exit delay in HSM.

dev:32102019-12-09 07:33:02.627 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_mitchpond_Centralitex_Keypad_2122.setExitDelay() is applicable for argument types: (java.util.LinkedHashMap) values: [[nightDelay:0, homeDelay:0, awayDelay:45]] Possible solutions: setExitAway(java.lang.Object), setExitStay(java.lang.Object), setEntryDelay(java.lang.Object) (setExitDelay)

It's been a while since I worked and looked at the driver.
However, the current Centralitex driver does not use the setExitDelay command. This is the comment I found in the module

Apr 30, 2019 HSM hijacked command setExitDelay to send all HSM delay to keypad
avoid confusion by changing ours to setExitAway

The current Centralitex driver version is May 21, 2019 v0.2.0 Please verify it is installed on your system.

Thank You. I am using the latest version you linked. I wound up removing the keypad, as I have another identical keypad that is working correctly. And according to ST & Iris both keypads are same firmware version(as reported before Iris started pushing up daisies)

[Update] Jan 04, 2020 12:06 EST

Enhancements and Changes

  1. Added support for iris V3 Keypad
  2. Partial pin on Iris v2 and V3 may be set in Driver to arm as Night, or Home (Default)
  3. Adjusted Panic Processing
  4. Corrected to use armedHome instead of armedStay

I urge everyone to stay up to date, please update your system,

How to Install
There are two (2) modules associated with this update.

Apps Code

  1. Nyckelharpa (V0.2.1)

Drivers Code

  1. Centralitex Keypad (V0.2.4)

Post Installation Settings

  1. Review, verify and save Global settings
  2. When using an Iris keypad, set Device flag for Home or Night arm state
  3. When using an Iris V3 keypad, user pin code 0000 is required

Notes

  • There is additional disabled code and unused code in both modules supporting the unreleased Internet Keypad smartapp that I may sometime in the futue port over from SmartThings.

Source Code

2 Likes

[Update] Jan 06, 2020 17.35 EST

Enhancements and Changes

  1. Fix non terminating error executing pre alpha code qssehe_alert() that got into prior release.
    I urge everyone to stay up to date, please update your system,

How to Install
There is one (1) module associated with this update.

Apps Code

  1. Nyckelharpa (V0.2.2)

Post Installation Settings

  • None

Source Code

2 Likes

Emergency fix Jan 19 2020 0800 EST

please update module Nyckelharpa

My apologies for the terse announcement format, I am posting from my cell phone.

Module change at line 919
globalHomeCotacts
To
globalHomeContacts
(Did not update version number)

Also reports of an HSM error for missing command "entry". This will be addressed when I once again have access to my home computer.
Thank you to @theroonie for finding the typo error and providing a fix.

@a1adb50e476a67b85c68

I'm receiving the following error, that I think it could have something to do with HSM error for missing command "entry":
2020-01-28 20:25:56.514 errorgroovy.lang.MissingMethodException: No signature of method: user_driver_mitchpond_Centralitex_Keypad_360.setExitDelay() is applicable for argument types: (java.util.LinkedHashMap) values: [[nightDelay:60, homeDelay:60, awayDelay:300]] Possible solutions: setExitAway(java.lang.Object), setExitStay(java.lang.Object), setEntryDelay(java.lang.Object) (setExitDelay)

What do you think?

arnb suggested to add In Centralitex driver after line 112 the following:

command "entry"

I have been trying it, and it works! It works with home, night and away modes, so my alarm is useful again. Thank you, arnb!

1 Like

I returned home and my system properly disarmed with no errors without the additional statement for 'command "entry"'. Set my system into 'Night' mode, opened the front door, silenced the immediate alarm, checked the logs, no errors or warnings.

Although this is a simple change, I do want to recreate the error so I can test it. Please let me know the settings and steps you (or anyone else who had this error) took to create the entry command error. Feel free to use a PM should you prefer.

Update
Does your HSM arming/disarming section for keypads look like this? Keypads using the Centralitex driver must not be selected with Nyckelharpa and HSM. Also noticed this info is missing from the documentation.

Update 2: Changed Github documenation Section 10 from the cryptic:
remove keypad from HSM

to

Remove keypad from HSM. In HSM section Configure Arming/Disarming/Cancel Options --> Use keypad(s) to arm/disarm: remove keypads using the Centralitex driver.

Thank you

I did nothing at all. My alarm system with your Nyckelharpa app has been working for months without any complaint, but suddenly (or at least I don't remember modifying anything), one day I saw the error in the logs, and I noticed my keypads were not beeping when they should, advising me that my alarm system was armed. I made some tests, and I discovered that my armed alarm was not activating the intrusion rules whenever it was triggered, and instead the error was appearing in my log.

Let me know which settings do you need me to show you, please.

Yes, you're right! My keypads are selected under that section. Do you want me to delete them from there? Does that mean that I will not be able to use them to arm or disarm? They have been working like a charm for months been selected under that section. Now it's working again...