Philips Dynalite Multi Device Fan Control using Tasks

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 Multi-preset Antumbra

Example Envision Touch screen. This will not show the same preset as your Antumbra Panels. Envision Touch


#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
}