Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
class LightSwitchModel extends NCModelFileAdapter("org/nlpcraft/examples/lightswitch/lightswitch_model.yaml") {
@NCIntent("id=act conv=false term(act)={groups @@ 'act'} term(loc)={id == 'ls:loc'}*")
def onMatch(
@NCIntentTerm("act") actTok: NCToken,
@NCIntentTerm("loc") locToks: List[NCToken]
): NCQueryResult = {
val status = if (actTok.getId == "ls:on") "on" else "off"
val locations = if (locToks.isEmpty) "entire house" else locToks.map(getOriginalText).mkString(", ")
// Add HomeKit, Arduino or other integration here.
// By default - just return a descriptive action string.
NCQueryResult.text(s"Lights '$status' in '${locations.toLowerCase}'.")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.