WhatCanISayTRIGGERcmd 1.0.3

dotnet add package WhatCanISayTRIGGERcmd --version 1.0.3                
NuGet\Install-Package WhatCanISayTRIGGERcmd -Version 1.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WhatCanISayTRIGGERcmd" Version="1.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WhatCanISayTRIGGERcmd --version 1.0.3                
#r "nuget: WhatCanISayTRIGGERcmd, 1.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install WhatCanISayTRIGGERcmd as a Cake Addin
#addin nuget:?package=WhatCanISayTRIGGERcmd&version=1.0.3

// Install WhatCanISayTRIGGERcmd as a Cake Tool
#tool nuget:?package=WhatCanISayTRIGGERcmd&version=1.0.3                

What Can I Say Package

TRIGGERcmd allows for calls for the remote execution of apps from Google Home via voice commands. This package makes use of TRIGGERcmd when installed locally by interogating the local TRIGGERcmd commands.json file. In particular it generates a string detailing the TRIGGERcmd commands that can be run on a device so that the string can be passed back to a Google Nest device for enunciation there.

Requirements

Needs .NET 5 installed on the device where it runs.

When fully setup:

  • On a Google Nest, can ask a device,if set up there "Hey Google, start Say on Pi"
  • Or "Hey Google, start Detail on Pi"
  • Will tell you what voice commands you can say on a device.
  • Works on PC (uses cast)
  • On RPi forwards through a Relay command on a PC (required TRIGGERcmd and cast there).

Usage

Create a .NET Console app add add this Nuget Packet. Code

using static WhatCanISayTRIGGERcmd.WhatCanISayLib;

namespace WhatCanISayApp
{
	class Program
	{
		static void Main(string[] args)
		{
			Program_Main.Main(args);
		}
	}
}

Running the Console App

Normally used as TRIGGETcmd command to interogate the local commands.json file.

  • If run with no parameters, interogates local commands.json, default mode voices
  • If run with detail/s,voices/s runs in that mode.
    • Voice/s just lists the voice commnds
    • Detail/s list exactly what to say and can give a description.
  • Relay is used when called remotely where commands need conversion to newline.
    • Remote device passes csv string over TRIGGERcmd
    • The remote device does the interogation but does not do the comma to newline conversion.
    • Actually Tilde for commas and undercore for space is relayed.
    • Use remotevoices or remotedetail on the remote device (eg RPi)
  • Requires PC running cast to forward message

About the TRIGGERcmd commands.json file

When TRIGGERcmd is installed, a folder is created containing, amongst other things, the json file commands.json which specifies the commands that can be invoked remotely, along with their properties. This is the file that is pared by the package.

With RPI (Debian Linux)
~/.TRIGGERcmdData/commands.json

Eg /home/pi/. TRIGGERcmdData/commands.json

With a PC running Windows
[UserProfile Folder]\.TRIGGERcmdData\commands.json

eg c:\users\david\.TRIGGERcmdData\commands.json

A Sample commands.json File on a PC
[
	{
		"trigger": "Echo",
		"command": "cast -device \"Family Room speaker\"    -file c:\\temp\\temperature.txt ",
		"offCommand": "",
		"ground": "foreground",
		"voice": "echo",
		"voiceReply": "",
		"allowParams": "false"
	},
	{
		"trigger": "WhatCanISay",
		"command": "c:\\temp\\what.bat",
		"offCommand": "",
		"ground": "foreground",
		"voice": "say",
		"voiceReply": "",
		"allowParams": "false"
	}
]

Full Requirements

Normally it would be used in unison with TRIGGERcmd. cast is also required on a PC.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 460 2/24/2022
1.0.2 392 2/23/2022
1.0.1 407 2/23/2022
1.0.0 408 2/23/2022

First release on Nuget.