Its the plugin your dealing with in this case, not as much Girder.
Had a quick look at the lua code, for one; the '?' seems to be a shortcut for 'QSTN' as its all over the place. Commands and responses are easily identified in the code;
Commands (straight from the lua file);
Code:
-- Power
PowerOn = function (self)
return self:SendCommand ('PWON')
end,
PowerOff = function (self)
return self:SendCommand ('PWSTANDBY')
end,
PowerState = function (self)
return self:SendCommand ('PW?')
end,
MZOn = function (self)
return self:SendCommand ('ZMON')
end,
MZOff = function (self)
return self:SendCommand ('ZMOFF')
end,
The globalname for the plugin is 'Onkyo', so executing these commands is as simple as creating a script action with the following line;
Code:
Onkyo.PowerOff -- as per above send 'PWSTANDBY' command
or any other command, see the lua file for that.
The GML file basically has serial commands being send with the raw ASCII data in there, which also works ofcourse.
As for responses; the lua file also has a long list for those, here are some;
Code:
self.Responses['PW'] = function(Settings, data)
_, _, self.PowerMain = string.find (data,"PW(.-)$")
print ("Power:",(self.PowerMain))
NetRemote.SendLabel ('power', (self.PowerMain))
end
self.Responses['MV'] = function(Settings, data)
_, _, self.RawVolume = string.find (data,"MV(.-)$")
self.Volume = OnkyoVolumeTodb(self.RawVolume)
print ("Main Volume:",(self.Volume))
NetRemote.SendLabel ('OnkyoMainVolume', self.Volume)
NetRemote.SendLabel ('OnkyoRawVolume', self.RawVolume)
end
From the code it appears to me (though I don't use NetRemote) that the data is already being forwarded to NetRemote.
Besides that the code shows that the data is available in the variables;
- self.RawVolume can be accessed from lua as Onkyo.RawVolume
- self.Volume can be accessed from lua as Onkyo.Volume
- self.PowerMain can be accessed from lua as Onkyo.PowerMain
You could try to use the variable inspector (menu view|variable inspector). Refresh the contents and scroll to 'Onkyo', which should have sub-values 'RawVolume', 'Volume', etc. for which you can inspect the current values (don't forget to refresh the view after making changes)
And yes, you're right, you won't get very far with Girder unless you understand its scripting.... so hang in there, learn, and (almost) anything will be possible