Difference between revisions of "Lighting Plugin"
Wierdbeard65 (Talk | contribs) m |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{versioninfo}} | ||
[[Category:Lighting]] | [[Category:Lighting]] | ||
[[Category:LinuxMCE_Plugins]] | [[Category:LinuxMCE_Plugins]] | ||
Line 84: | Line 85: | ||
''''My personal comment(Bulek): | ''''My personal comment(Bulek): | ||
− | ''Inconsistency of group commands with device template : | + | *''Inconsistency of group commands with device template : |
Either group of commands should be determined by device template or we should have separate floorplan objects for separate command groups. Don't know which one or third path is correct in here. Any opinions ? | Either group of commands should be determined by device template or we should have separate floorplan objects for separate command groups. Don't know which one or third path is correct in here. Any opinions ? | ||
− | ''why is not state info actually drawn on floorplans ? it seems that OSD is properly set up - the cause must be somewhere else... I guess similar problem is with Blinds, Drapes and Shutter devices... | + | |
+ | |||
+ | *''why is not state info actually drawn on floorplans ? it seems that OSD is properly set up - the cause must be somewhere else... I guess similar problem is with Blinds, Drapes and Shutter devices... | ||
'''My plans: | '''My plans: | ||
− | *''I plan to correct that behaviour, if leading developers confirm | + | *''I plan to correct that behaviour, if leading developers confirm the right way to do it. |
*''I also plan to support use of yet unsupported color gray (if light is dimmed) like: | *''I also plan to support use of yet unsupported color gray (if light is dimmed) like: |
Latest revision as of 07:24, 3 May 2010
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | Unknown | N/A | N/A |
810 | Unknown | N/A | N/A |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
Contents
Description
Lighting plugin takes care of lighting devices. Handles commands, events and sets according device states. It also gives content to Orbiter plugin when it renders Lighting devices on Orbiter's floorplans. Although, in 710 no info is displayed beside Lighting devices on floorplan - have yet to discover what is the cause....
Important Code snippets
Lighting_Plugin::GetFloorplanDeviceInfo
This method determines what group of commands will be shown on right column beside floorplan. In the last if, it also determines what will be displayed on floorplan (OSD string is the content that will be displayed on floorplan)... It also determines the color of object on floorplan. But since state of lighting device is something like XX/NN) where :
- XX means ON or OFF state of device
- NN means Level (0 for OFF, up to 100 for ON)
It seems that OSD is set to show all state info on floorplan. Don't know why this isn't so. Anyway, it can also be seen that all lights have dimmable controls, while if device is in Lighting Category and not one of predefined light types, then it gets only On/Off controls on Orbiter.
IMHO such behaviour should be determined on base of device template, not object type. In such situation, dimmable controls are also displayed for on/off light switches, which is not correct (although we probably got used to that). But this clearly explains that you get On/Off floorplan controls for instance for brightness sensor.
I just wonder what is the correct path out of this inconsistency. Is it adding new floorplan types for on/off lights or determine command groups by device template and not floorplan type... ???
Code of highlighted method:
void Lighting_Plugin::GetFloorplanDeviceInfo(DeviceData_Router *pDeviceData_Router,EntertainArea *pEntertainArea,int iFloorplanObjectType,int &iPK_FloorplanObjectType_Color,int &Color,string &sDescription,string &OSD,int &PK_DesignObj_Toolbar) { switch(iFloorplanObjectType) { case FLOORPLANOBJECTTYPE_LIGHT_CEILING_LIGHT_CONST: case FLOORPLANOBJECTTYPE_LIGHT_TABLE_LAMP_CONST: case FLOORPLANOBJECTTYPE_LIGHT_WALL_SCONCE_CONST: case FLOORPLANOBJECTTYPE_LIGHT_FLOOR_LAMP_CONST: case FLOORPLANOBJECTTYPE_LIGHT_CHANDALIER_CONST: case FLOORPLANOBJECTTYPE_LIGHT_PICTURE_LIGHT_CONST: case FLOORPLANOBJECTTYPE_LIGHT_ACCENT_LIGHT_CONST: OSD = pDeviceData_Router->m_sState_get(); if(OSD.find("OFF") != string::npos) iPK_FloorplanObjectType_Color = FLOORPLANOBJECTTYPE_COLOR_LIGHT_CEILING_LIGHT_OFF_CONST; else iPK_FloorplanObjectType_Color = FLOORPLANOBJECTTYPE_COLOR_LIGHT_CEILING_LIGHT_ON_CONST; PK_DesignObj_Toolbar=DESIGNOBJ_grpLightControls_CONST; break; default: OSD = pDeviceData_Router->m_sState_get(); if(OSD.find("OFF") != string::npos) iPK_FloorplanObjectType_Color = FLOORPLANOBJECTTYPE_COLOR_LIGHT_CEILING_LIGHT_OFF_CONST; else iPK_FloorplanObjectType_Color = FLOORPLANOBJECTTYPE_COLOR_LIGHT_CEILING_LIGHT_ON_CONST; PK_DesignObj_Toolbar=DESIGNOBJ_grpLightControlsOnOff_CONST; break; }; }
Lighting_Plugin:: Commands and Events
This one processes received messages/events. It can beclearly seen that currently following commands :
if( pMessage->m_dwID==COMMAND_Set_Level_CONST ) if( pMessage->m_dwID==COMMAND_Generic_On_CONST ) else if( pMessage->m_dwID==COMMAND_Generic_Off_CONST )
and events
if( pMessage->m_dwID == EVENT_Device_OnOff_CONST ) else if (pMessage->m_dwID == EVENT_State_Changed_CONST) Follow me events Get_Video_Frame (probably cause of automatic lighting on cameras)
are processed.
How to use Lighting devices in Orbiter
Potential problems with current content of Lighting Plugin
'My personal comment(Bulek):
- Inconsistency of group commands with device template :
Either group of commands should be determined by device template or we should have separate floorplan objects for separate command groups. Don't know which one or third path is correct in here. Any opinions ?
- why is not state info actually drawn on floorplans ? it seems that OSD is properly set up - the cause must be somewhere else... I guess similar problem is with Blinds, Drapes and Shutter devices...
My plans:
- I plan to correct that behaviour, if leading developers confirm the right way to do it.
- I also plan to support use of yet unsupported color gray (if light is dimmed) like:
On LIGHT_CEILING_LIGHT_ON -256 yellow Off LIGHT_CEILING_LIGHT_OFF -16777216 black Dim LIGHT_CEILING_LIGHT_DIM -4144960 bright gray Same goes for : LIGHT_TABLE_LAMP,LIGHT_WALL_SCONCE,LIGHT_FLOOR_LAMP,LIGHT_CHANDALIER,LIGHT_PICTURE_LIGHT,LIGHT_ACCENT_LIGHT
Bulek 15:37, 2 December 2008 (CET)