[Release] New Hubitat Fun Apps (Idioms)

I thought I might share a a few of my custom fun device drivers that I have incorporated into my home automations. They are just fun and perhaps educational. They can be triggered by a Hubitat rule, for example, when you wakeup, goto bed, or arrive home, have company over, turn on/off a switch, etc...

Hubitat-Idioms

Overview

  • Provides a new idiom phrase and definition each time the device is refreshed. I have over 20K idioms parsed and ready for practically unlimited use.
  • When used with hubitat integrated voice TTS systems like Alexa and/or Google Play, the idiom attribute combines the phrase and definition into a sentence.

Installation

  • Available in Hubitat Package Manager (HPM) . Turn off 'Fast Search' and then search for Idioms.
  • Manually from github.
  • Create a virtual device and select the 'Idioms' Device Driver'.

How to Use

  • Switch
    • Toggle 'on' to generate a new idiom phrase and definition. The switch will auto-turn off.
  • Device Commands
    • Refresh: generates a new idiom.
    • ResetKey: allows one to select a different starting idiom key (0-250).
    • Idioms File Number: allows one to select a different idiom file (1-85). Each idiom file contains 250 idioms. The idiom file number will be auto-incremented when the idiom-key exceeds 250, and the idiom-key will be reset to 0.

Idioms Device Attributes and States

Version History Changes

  • 0.0.1 (05/08/2025)
    • Initial version
  • 0.1.0 (05/09/2025)
    1. Changed program logic to a new idiom single compressed json file that contains 600+ idiom phrases and definitions (more to be added). This file is less wordy and works better with Alexa and Google Play devices for TTS output.
    2. The previous version 0.0.1 idioms file is now legacy and will be removed in the next planned upgrade.
    3. The 0.0.1 legacy idioms files had too many issues with slow hub performance, explicit language in phrases/definitions, uncommon formatting, abbreviations that caused TTS anomalies in Alexa and Google Play."

Hubitat-Jokes

Coming Soon

2 Likes

Reserved

Did you miss April 1, or is this for real?

It’s real

@KurtSanders,
Looks interesting... unfortunately, it's not available in HPM?

Not sure why, but you have to turn off Fast Search in HPM.

image

1 Like

I can't seem to get it to work... This is the only log entry:

dev:882025-05-08 13:57:16.151error
groovy.lang.MissingMethodException: No signature of method: user_driver_kurtsanders_Idioms_1131.logInfo() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [A 'logsOff' cron job has been scheduled in 00:30:00]

Hum, let me reinstall on my development hub.... I will get back to you!

Oops... There were two... Here is the other:

2025-05-08 13:57:53.762error
groovy.lang.MissingMethodException: No signature of method: user_driver_kurtsanders_Idioms_1131.logDebug() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [Sending on GET request to β†’ https://raw.githubusercontent.com/KurtSanders/Hubitat-Fun/refs/heads/main/idioms/data/Idioms_phrases_map1.json] on line 108 (method on)

My bad :nauseated_face:! There was an old Library Bundle that did not have a required method. I have fixed it in HPM.

Please perform the following:

  • Launch HPM
  • Select 'Repair'
  • Select 'Idioms'
  • After HPM re-loads all the required files, exit HPM.
  • View the Idioms virtual device you created.
  • Select 'Refresh' or Toggle the Switch (Both work the same)

That should populate the attributes....

025-05-08 14:46:31.881error
groovy.lang.MissingMethodException: No signature of method: user_driver_kurtsanders_Idioms_1131.logDebug() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [Sending on GET request to β†’ https://raw.githubusercontent.com/KurtSanders/Hubitat-Fun/refs/heads/main/idioms/data/Idioms_phrases_map1.json] on line 108 (method on)

OK... Had to delete the old, reinstall, and now it seems to work.

Thanks!!

1 Like

Love this! My young daughter is going to really enjoy this. She hears us say something that she doesn't understand, and we talk about "weird sentences" that we use. She's really eager to learn these!

1 Like

Probably a silly question, what selections in rule machine do I use to get one of these phrases into tts over a speaker?

I use Set Variable and set string operation to Device attribute.

Pretty sure I am not understanding correctly:

@KurtSanders, the idioms seem to be getting some wires crossed. In all of the ones I've come across in initial testing (about 6), there is something that seems random.

for example, what does "huckleberry" have to do with this one?!? :rofl:

Interesting. You're missing the Set Variable option. Do you have any system or local variables defined? You have to create the local variable first.

I worked out I have to created a local variable first under settings, what action do I use in rule machine to now get this to tts?

Using your local variable name:

Below that, you can select Notification Device (for Echos), or Text to Speech Devices (Echos, HomePods/Apple devices).