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.
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)
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.
The previous version 0.0.1 idioms file is now legacy and will be removed in the next planned upgrade.
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."
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]
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)
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)
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!
@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?!?