Philips Dynalite Multi Device Fan Control using Tasks
Controlling a FAN using Antumbra and Envision Touch Application.
When Controlling functionality in a Dynalite network, it is likely that devices may be controlled from different sources, for example an Anumbra panel with a Multi Preset Icon and also the Envision Touch Application.
To keep these devices in sync, we can use some tasks with a Start command to listen to specific dynet packets and store them in a RAM address. When using the Multi Preset Button, the presets will then stay in sync.
This is the configuration used on each Antumbra panel
Example Envision Touch screen. This will not show the same preset as your Antumbra Panels.
#const FAN_AREA 10
Startup1()
{
LDA #0x03
STA ~10 //Store Preset 4 for Area Fan Routine (Default OFF)
delay(10)
dynet(0x1c,FAN_AREA,0x00,0x63,0x00,0x00,0xff) //Request Preset for FAN
}
Task1()
{
Name="Fan Mon - Message Listen"
// Fade Channel/Area to Preset Area Channel 'All' - Fade Channel/Area to Preset 4 (Off) with a fade of 0.00s In Area, Channel 'All', Join 0xFF
Start(0x1c,FAN_AREA,0xff,0x6b,x,x,0xff) // Listen to Area Fade Messages
COPY @4,~10,1 //Copy Current Preset byte to RAM 10
}
Task2()
{
Name="Fan Mon - Message Listen"
// Reply with Current Preset Area Current Preset Is 4 (Off), Offset Is 0 In Area, Channel 1, Join 0xFF
Start(0x1c,FAN_AREA,x,0x62,0x00,0x00,0xff) // Listen to Area Preset Request Reply Messages
COPY @2,~10,1 //Copy Current Preset byte to RAM 10
}
Task3()
{
Name="Fan Control"
// Preset 0(1)=HIGH, 1(2)=MED, 2(3)=LOW, 3(4)=OFF
LDA ~10
CMP #00 // Currently Preset 1(High)
BRZ FAN12_HIGH2MED
CMP #01 // Currently Preset 2(Medium)
BRZ FAN12_MED2LOW
CMP #02 // Currently Preset 3(Low)
BRZ FAN12_LOW2OFF
CMP #03 // Currently Preset 4(OFF)
BRZ FAN12_OFF2HIGH
// If no Preset Matches - just turn OFF
FAN12_LOW2OFF:
DyNet(0x1C,FAN_AREA,0xFF,0x6B,0x03,0x00,0xFF) // Area, Channel 'All', Join 0xFF - Fade Channel/Area to Preset 4 (Off) with a fade of 0.00s
NULL
FAN12_OFF2HIGH:
DyNet(0x1C,FAN_AREA,0xFF,0x6B,0x00,0x00,0xFF) // Area, Channel 'All', Join 0xFF - Fade Channel/Area to Preset 1 (High) with a fade of 0.00s
NULL
FAN12_HIGH2MED:
DyNet(0x1C,FAN_AREA,0xFF,0x6B,0x01,0x00,0xFF) // Area 161, Channel 'All', Join 0xFF - Fade Channel/Area to Preset 2 (Medium) with a fade of 0.00s
NULL
FAN12_MED2LOW:
DyNet(0x1C,FAN_AREA,0xFF,0x6B,0x02,0x00,0xFF) // Area, Channel 'All', Join 0xFF - Fade Channel/Area to Preset 3 (Low) with a fade of 0.00s
NULL
}