DEV array with simple feedback.
Hi all,
I am looking at combining devices useing the DEV method.
My simple program below does not update the feedback on one of the panels. does any one see a problem.
Regards
Craig
PROGRAM_NAME='test'
DEFINE_DEVICE
dvWifiPanel1 = 10001:1:6 // Wireless Panel 1 (MVP-8400) (Office)
dvWifiPanel2 = 10002:1:6 // Wireless Panel 2 (MVP-8400) (VC Room)
bOfficeLightsFull = 36
bOfficeLightsPresentation = 35
bOfficeLightsConference = 34
bOfficeLightsOff = 33
DEFINE_VARIABLE
DEV vdvWifiPanels[] = {dvWifiPanel1,dvWifiPanel2}
DEFINE_MUTUALLY_EXCLUSIVE
([vdvWifiPanels,bOfficeLightsFull],[vdvWifiPanels,bOfficeLightsConference],[vdvWifiPanels,bOfficeLightsPresentation],[vdvWifiPanels,bOfficeLightsOff])
DEFINE_START
WAIT 450
{
ON[vdvWifiPanels,bOfficeLightsFull]
}
DEFINE_EVENT
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsFull]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsFull]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsPresentation]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsPresentation]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsConference]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsConference]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsOff]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsOff]
}
}
I am looking at combining devices useing the DEV method.
My simple program below does not update the feedback on one of the panels. does any one see a problem.
Regards
Craig
PROGRAM_NAME='test'
DEFINE_DEVICE
dvWifiPanel1 = 10001:1:6 // Wireless Panel 1 (MVP-8400) (Office)
dvWifiPanel2 = 10002:1:6 // Wireless Panel 2 (MVP-8400) (VC Room)
bOfficeLightsFull = 36
bOfficeLightsPresentation = 35
bOfficeLightsConference = 34
bOfficeLightsOff = 33
DEFINE_VARIABLE
DEV vdvWifiPanels[] = {dvWifiPanel1,dvWifiPanel2}
DEFINE_MUTUALLY_EXCLUSIVE
([vdvWifiPanels,bOfficeLightsFull],[vdvWifiPanels,bOfficeLightsConference],[vdvWifiPanels,bOfficeLightsPresentation],[vdvWifiPanels,bOfficeLightsOff])
DEFINE_START
WAIT 450
{
ON[vdvWifiPanels,bOfficeLightsFull]
}
DEFINE_EVENT
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsFull]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsFull]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsPresentation]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsPresentation]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsConference]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsConference]
}
}
BUTTON_EVENT[vdvWifiPanels,bOfficeLightsOff]
{
PUSH:
{
ON[vdvWifiPanels,bOfficeLightsOff]
}
}
Comments
If you want to go the mutually exclusive route you will need to do something like this instead:
And this:
DEFINE_START WAIT 450 { ON[vdvWifiPanels,bOfficeLightsFull] }Is better off in the DATA_EVENT:
DEFINE_EVENT DATA_EVENT[vdvWifiPanels] { ONLINE: { ON[DATA.DEVICE,bOfficeLightsFull] } }HTH
DEFINE_VARIABLE PERSISTENT CHAR cStateLights DEFINE_EVENT BUTTON_EVENT[vdvWifiPanels,bOfficeLightsFull] BUTTON_EVENT[vdvWifiPanels,bOfficeLightsPresentation] BUTTON_EVENT[vdvWifiPanels,bOfficeLightsConference] BUTTON_EVENT[vdvWifiPanels,bOfficeLightsOff] PUSH: { TO[BUTTON.INPUT] SWITCH (BUTTON.INPUT.CHANNEL) { CASE bOfficeLightsFull: cStateLights = 1 CASE bOfficeLightsPresentation: cStateLights = 2 CASE bOfficeLightsConference: cStateLights = 3 CASE bOfficeLightsOff: cStateLights = 0 } } DEFINE_PROGRAM [vdvWifiPanels,bOfficeLightsFull] = ( cStateLights = 1) [vdvWifiPanels,bOfficeLightsPresentation] = ( cStateLights = 2) [vdvWifiPanels,bOfficeLightsConference] = ( cStateLights = 3) [vdvWifiPanels,bOfficeLightsFull] = ( cStateLights = 0)Power off all satellite boxes:
Or just power off a couple of them:
You send send their settings too under one DATA_EVENT:
DATA_EVENT[dv_SAT] { ONLINE: { SEND_COMMAND DATA.DEVICE, "'CTON', 2" SEND_COMMAND DATA.DEVICE, "'CTOF', 3" } }If you put your panels in a loop, you can have them updated individually or as icragie has done, update them all at once.
I understand now.
Regards
Craig