ISO IEC 29341-7:2010 pdf – lnformation technology – UPnP Device Architecture – Part 7-10: Lighting Device Control Protocol- Dimming Service.
2.2.2. LoadLevelStatus
Current dimmer output level, Can be any value between 0 (oIl) and I 01) full on). This value may change multiple times during the transition from the current state to the LoadLcvclTargct value. The dimmer should only send the e%Cnted update when LoadLevelSiatus is equal to Loadl.evelTarge. but S control point may query this value during the time the dimmer is transitioning to LoadLeselTargeL
2.2.3. OnEffectLevel
Defines the level to which LoadLeselTargct is set when the OnElTect variable is set to OnEtTectLevcI” and the dcs’ice is turned on. either logically (e.g. by a PowerSwitch service) or physically.lf the OnEtlect variable eont.iins any other value than “OnEffeciLcscl”. this value is not used at all, The unit is % of maximum output. like LoadLevelSiatus,
2.2.4. OnEffect
Defines which value LoadLcselTargct is set to when power is provided to the device, either logically (e.g. by a PowerSwitch service) or physically. “OnEfl’cctLcvcl causes LodLcvelStatus bccing sct to the value of OnF.tTectl.evel; LastSening sets Loadl.evelTarget to the last value of LoadLevelStatus before a power.dosbn uccuned “Default” defines a manufacturer specific setting for LoadLevelTarget (which includes leaving the value of LoadLevclTargcs unchanged).
2.2.5. StepDetta
Incremental amount of change for StepUp and StcpDossn actions. The values arc expressed in % and can range
from 0 to 101) This value is used for incrementing or decrementing I.oadLeselTasget when calling SetupUp() or
StcpDownfl. respectively.
2.2.6. RampRate
Incremental level change per second. (5 — 5100 of max level in I second) for Ramp Lip and RampL)own commands..
2.2.7. lsRamplng
2.2.8. RampPaused
2.2.9. RampTime
fimc to reach the LoadLevelTarget. applies only when a StartRampToLcvel action has been invoked, otherwise it must be 0. The unit is milliseconds.
2.2.10. Relationships Between State Variables
2.2.10,l. OnEfJe-lLe;l and OnEffect
OnEffectl.cscl and OnEficci arc both optional, however it is a requirement to implement either noise or both together, as they are dependent.
2.2.It&2. RanspRate. (tRamping and RampTime
Rampkate. lsRainping and RampTame are all optional. however it is a requirement to implement either none or all, as they arc dependent.
2.4.22.Non-Standard Actions lmplemented by a UPnP Vendor
To facilitate certification, non-standard actions implemented by UPnP vendors should be included in this servicetemplate. The UPnP Device Architecture lists naming requirements for non-standard actions (see the section onDescription).
2.4.23.Relationships Between Actions
ln gencral, the principle is “last action wins”. Therefore, the background operations initiated StartRampUp() andStartRampDown() and StartRampToLevel() are canceled by any call to SetLoadLevelTarget(), StepUp() orStepDown(), and by initiating another ramping function.For more details see “Theory of operation”.
The function StopRamp() is used to cancel the background operations initiated by StartRampUp() and
StartRampDown() and StartRampToLevel().Furthermore, the background operation can be paused by usingPauseRamp() and continued by ResumeRamp( (when implemented).
Following are the list of implementation packages. If a particular package is chosen all actions in that packagehave to be implemented.
2.5.Theory of Operation
Instances of Dimming Services are embedded into devices to provide a standard means of programmatic controlover dimmable lighting devices.
This service model provides for situations where requested state changes may not cause immediate output statechanges, refleeted via the Status variable,for any number of reasons.For example if there are time dclays
involved or maybe the requested state can’t be achieved because of a hardware failure.
ln the simplest of cases the output state(LoadLevelStatus) will always follow the requested state changessubmitted via LoadLevelTarger.
There is also the situation where the LoadLevelStatus variable could change state without any programmaticaction against this model at all.For example, this could happen if there was a front-panel power control that waschanged by a user.
In addition to the explicit setting of LoadLevelTarget, several typical but optional functions are defined.Thevalue of LoadLevelTarger can therefore be modified by either:
1.Explicit setting of LoadLevelTarger by calling SetLoadLevelTargeto.
2. Setting LoadLevelTarget by the OnEffect (when power is provided to the device, either logically or
physically) (optional)
3.Stcpping up or down by calling StepUp() or StepDown() (optional), or
4. Ramping up or down or to a specific value by calling StartRampUp), StartRampDown() or
RampToLevel0 (optional)
While support of SetLoadLevelTarget() is mandatory , any combination of OnEffect, stepping, or rampingimplemncntation is walid.
The actions invoking ramping (StartR.ampUp(), StartRampDown(),StartRampToLevel/) return immediately butstart a background opcration which modifics the state over timc. These operations stop when:
1. LoadLevelTarget reaches the maximum (100%) after a call to StartRampUpo2. LoadLevelTarget reaches the minimum (0%) after a call to StartRampDown(3. LoadLevelTarget rcachcs the targeted level after a call to StartRampToLevelo4.Ramping is terminated explicitly by invoking StopRampO
5. Ramping is terminated implicitly by invoking another action affecting the LoadLevelTarget.