Notes: - a:attribute - m:methode - n:notification any.any (the generic schema) ======= a:devType a:address a:parent n:alive() n:variablesChange(out v:+) n:error(out description, out code) m:isAlive(in devTypes) m:getDescription(out vendorId, out productId, out version, out parent, out url, out unsupportedMethods, out unsupportedNotifications, out unsupportedAttributes) m:getAttributes(in attributes, out a:*) m:getBusConfig(in/out busAddr, in/out busPort, in/out TTL) lamp.basic (extends any.any) ========== a:light(bool) m:on() m:off() lamp.dimmer (extends lamp.basic) =========== a:dimmer(float, precent) m:dim(in/out float level) lamp.rgb (extends lamp.queryable) ======== a:level {red, green, blue} (float, precent)x3 a:mode [fixed,shuffle] m:dim(in/out float red, green, blue) m:setMode(fixed|shuffle) shutter.basic (extends any.any) ============= a:position (open|closed|opening|closing) m:up() m:down() m:stop() door.basic (extends any.any) ========== a:position (open|closed) locker.basic (extends any.any) ============ a:position (locked|unLocked) m:lock() m:unLock() mediaplayer.basic (extends any.any) ================= a:activity (play|pause|stop) a:destination (address of the mixer) m:play() m:pause() m:next() m:previous() m:stop() mediaplayer.spotify (extends mediaplayer.basic) =================== v:url m:playUrl(url) audiomixer.basic (extends any.any) ================ a:source(address of the player) a:volume(percent) m:setSource(addr) m:up m:down m:mute m:unmute composite.basic (extends any.any) =============== a:embedded gateway.basic (extends composite.basic) ================= a:address_mapping