Ja, det er selvfølgelig mulig. Men det er litt tidkrevende å forklare. Termostat-scriptet mitt gjør dette.
Funksjonen du trenger er DeviceScriptButton_AddButton (se dokumentasjonen).
Se på Setup()-rutinen, nærmere bestemt denne delen:
hs.DeviceScriptButton_AddButton(rootRef, value.ToString, CInt(value), scriptFile, "ModeButtonPress", CInt(value), 1, CInt(value) + 1, 1)
... der rootDevice (int) er device IDen
... value.ToString (streng) er teksten på knappen
... CInt(Value) (int) er "verdien" på knappen/status'en.
... scriptFile (streng) er filnavnet til scriptet (i dette eksempelet er scriptFile en variabel, Private scriptFile As String = scriptName & ".vb")
... "ModeButtonPress" (streng) er Sub'en i scriptingfilen som blir kallet
... CInt(value) er verdien som blir sendt til ModeButtonPress
... de andre har med row/column plasseringer å gjøre.
Når jeg tenker meg om hadde det vel vært bedre å skrive det slik:
hs.DeviceScriptButton_AddButton(deviceID, "tekst på knappen", verdi_til_knappen, "Scriptets_filnavn.vb", "NavnPåSubSomSkalKjøres", verdi_til_Sub, rad:=1, column:=1, span:=1)