Notes: - v:variables - m:methodes - n:notifications any.any (the generic schema) ======= v:devType v:address v:parent n:alive() n:variablesChange(out v:+) n:error(out description, out code) m:isAlive() m:getDescription(out vendorId, out productId, out version, out parent) m:getVariables(out v:*) m:getBusConfig(in/out busAddr, in/out busPort, in/out TTL) lamp.basic (extends any.any) ========== v:lighting(bool) m:on() m:off() lamp.queryable (extends lamp.basic) ============== m:getVariables(out v:*) lamp.dimmer (extends lamp.queryable) =========== v:dimmer(float, precent) m:dim(in/out float level) lamp.rgb (extends lamp.queryable) ======== v:level{red, green, blue} (float, precent)x3 v:mode [fixed,shuffle] ??? m:dimmer(in/out float red, green, blue) m:setMode(fixed|shuffle) shutter.simple (extends any.any) ============== m:up() m:down() m:stop() shutter.queryable (extends shutter.simple) ================= v:position (open|closed|opening|closing) door.simple (extends any.any) =========== v:position (open|closed) door.locker (extends any.any) =========== v:position (locked|unLocked) m:lock() m:unLock() media.simple (extends any.any) ============ v:activity (play|pause|stop) v:volume{left,right} (float percent / db ?) m:play() m:pause() m:next() m:previous() m:stop() media.spotify (extends media.simple) ============= v:url m:setUrl ?? composite.simple (extends any.any) ================ v:embedded... composite.gateway (extends composite.simple) ================= do be done...