Bosch Service Commands

Send commands to Bosch intrusion panels through the acre platform’s event-driven architecture. These commands enable real-time control of areas, points, outputs, doors, and panel configuration for Bosch B/G Series and Solution series panels.


Overview

The Bosch Service processes commands published via the event messaging system. All commands target Bosch panels and their configured zones, areas, outputs, and doors.

Property Value
AppKey BoschCommands
Namespace BoschServiceCommands
Method PublishEventAsync()
Endpoint /api/f/{instance}/eventmessagesink

Command Categories

Category Commands Description
Panel Status, Import Configuration Panel diagnostics and discovery
Areas Arm, Disarm, Silence Bells, Reset Sensors, Watch Mode Area arming and monitoring
Points Bypass, Unbypass Point/zone management
Outputs Activate, Deactivate Relay and output control
Doors Set Door State Access control integration
Display Keypad Text User interface messaging
Scheduling Late to Close, Sked Time Time-based operations
Testing Bell Test, Walk Test System verification

Relation Object Type Description
BoschPanel BoschPanelInfo Target intrusion panel
BoschArea BoschAreaInfo Panel partition/area
BoschPoint BoschPointInfo Zone/sensor point
BoschOutput BoschOutputInfo Relay output
BoschDoor BoschDoorInfo Access control door
BoschDevice BoschDeviceInfo Keypad or other device

Area Command Values

When using bosch:command-area, the Command parameter accepts these values:

Value Command Description
1 Disarm Disarm the area
2 Master Instant Arm Arm with no entry delay
3 Master Delay Arm Arm with entry delay
4 Perimeter Instant Arm Arm perimeter zones only (instant)
5 Force Master Arm Force arm (bypass faulted zones)
6 Force Master Delay Arm Force arm with delay
7 Force Master Instant Arm Force arm instant
8 Force Perimeter Delay Arm Force arm perimeter with delay
9 Force Perimeter Instant Arm Force arm perimeter instant
10 Stay 1 Arm Stay mode level 1
11 Stay 2 Arm Stay mode level 2
12 Away Arm Away arming mode
13 Force Stay 1 Arm Force stay mode level 1
14 Force Stay 2 Arm Force stay mode level 2
15 Force Away Arm Force away arming

Prerequisites

Before sending commands:

  1. Panel Connected - Verify the Bosch panel is online and communicating
  2. Object References - Have valid object keys for target panel components
  3. Permissions - User must have Publish permission on the command EventType
  4. Panel Configuration - Use Import command to discover panel structure first

Panel Commands

Get Hardware Status

Command Nickname Object Links Parameters
Get Hardware Status bosch:command-status BoschPanel NONE

Status Event generated and Status Properties updated

Get Hardware Status

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-status" 
    },
    DateTime.UtcNow, new { },
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-status"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Import Panel Configuration

Command Nickname Object Links Parameters
Import Panel Configuration bosch:command-import BoschPanel NONE

1- Start Import Panel Configuration event.

2- Finished Import event with information about BoschArea, BoschPoints, BoschOutputs, BoschPoints, BoschDoors and BoschUsers.

Note this command does not modify any objects. It simply returns a report of configured objects.

Import Panel Configuration

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-import" 
    },
    DateTime.UtcNow, new { },
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-import"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Set Keypad Text

Command Nickname Object Links Parameters
Set Keypad Text bosch:command-keypad BoschPanel, BoschDevice(Device be of type keypad) Text (Maximum of 32 characters)

Set Keypad Text

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-keypad" 
    },
    DateTime.UtcNow,
	new {	Text = "Text Input"},
    device.AsObjectLink("BoschDevice"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-keypad"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschdevices/BOSCHDEVICE.KEY",
			"LinkedObjectKey":"BOSCHDEVICE.KEY",
			"CommonName":"DeviceForCURL",
			"Relation":"BoschDevice",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"GgAAAAJUZXh0AAsAAABUZXh0IElucHV0AAA="
}'

Command Bosch Area

Command Nickname Object Links Parameters
Command Bosch Area bosch:command-area BoschPanel, BoschArea Command (int):Disarm1Master Instant Arm2Master Delay Arm3Perimeter Instant Arm4Force Master Arm5Force Master Delay Arm6Force Master Instant Arm7Force Perimeter Delay Arm8Force Perimeter Instant Arm9Stay 1 Arm10Stay 2 Arm11Away Arm12Force Stay 1 Arm13Force Stay 2 Arm14Force Away Arm15

Command Bosch Area

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-area" 
    },
	DateTime.UtcNow,
	new {	Command = 1},
	area.AsObjectLink("BoschArea"),
	panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-area"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"EgAAABBDb21tYW5kAAEAAAAA"
}'

Silence Bosch Area Bells

Command Nickname Object Links Parameters
Silence Bosch Area Bells bosch:command-silenceArea BoschPanel, BoschArea NONE

Silence Bosch Area Bells

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-silenceArea" 
    },
    DateTime.UtcNow, new { },
    area.AsObjectLink("BoschArea"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-silenceArea"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Reset Bosch Area Sensors

Command Nickname Object Links Parameters
Reset Bosch Area Sensors bosch:command-resetAreaSensors BoschPanel, BoschArea NONE

Reset Bosch Area Sensors

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-resetAreaSensors" 
    },
    DateTime.UtcNow, new { },
    area.AsObjectLink("BoschArea"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-resetAreaSensors"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Set Watch Mode

Command Nickname Object Links Parameters
Set Watch Mode bosch:command-watchArea BoschPanel, BoschArea Mode:int (0: off, 1: on)

Set Watch Mode

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-watchArea" 
    },
    DateTime.UtcNow,
	new {	Mode = 1},
    area.AsObjectLink("BoschArea"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-watchArea"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"DwAAABBNb2RlAAEAAAAA"
}'

Activate Bell Test

Command Nickname Object Links Parameters
Activate Bell Test bosch:command-bellTest BoschPanel, BoschArea NONE

Activate Bell Test

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-bellTest" 
    },
    DateTime.UtcNow, new { },
    area.AsObjectLink("BoschArea"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-bellTest"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Set Late to Close

Command Nickname Object Links Parameters
Set Late to Close bosch:command-lateToClose BoschPanel, BoschArea Hour:int(between 0 and 23)Minute:int(between 0 and 59)Length:int(in minutes,between 0 and 240)

Set Late to Close

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-lateToClose" 
    },
    DateTime.UtcNow,
	new {	Hour = 23, 
			Minute = 59, 
			Length=240
		},
    area.AsObjectLink("BoschArea"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-lateToClose"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boscharea/BOSCHAREA.KEY",
			"LinkedObjectKey":"BOSCHAREA.KEY",
			"CommonName":"AreaForCURL",
			"Relation":"BoschArea",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"JwAAABBIb3VyABcAAAAQTWludXRlADsAAAAQTGVuZ3RoAPAAAAAA"
}'

Bypass Bosch Point

Command Nickname Object Links Parameters
Bypass Bosch Point bosch:command-bypassPoint BoschPanel, BoschPoint NONE

Bypass Bosch Point

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-bypassPoint" 
    },
    DateTime.UtcNow, new { },
    point.AsObjectLink("BoschPoint"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-bypassPoint"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschpoint/BOSCHPOINT.KEY",
			"LinkedObjectKey":"BOSCHPOINT.KEY",
			"CommonName":"PointForCURL",
			"Relation":"BoschPoint",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Un-Bypass Bosch Point

Command Nickname Object Links Parameters
Un-Bypass Bosch Point bosch:command-unbypassPoint BoschPanel, BoschPoint NONE

Un-Bypass Bosch Point

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-unbypassPoint" 
    },
    DateTime.UtcNow, new { },
    point.AsObjectLink("BoschPoint"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-unbypassPoint"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschpoint/BOSCHPOINT.KEY",
			"LinkedObjectKey":"BOSCHPOINT.KEY",
			"CommonName":"PointForCURL",
			"Relation":"BoschPoint",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Activate Bosch Output

Command Nickname Object Links Parameters
Activate Bosch Output bosch:command-activateOutput BoschPanel, BoschOutput NONE

Activate Bosch Output

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-activateOutput" 
    },
    DateTime.UtcNow, new { },
    output.AsObjectLink("BoschOutput"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-activateOutput"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschoutput/BOSCHOUTPUT.KEY",
			"LinkedObjectKey":"BOSCHOUTPUT.KEY",
			"CommonName":"OutputForCURL",
			"Relation":"BoschOutput",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Deactivate Bosch Output

Command Nickname Object Links Parameters
Deactivate Bosch Output bosch:command-deactivateOutput BoschPanel, BoschOutput NONE

Deactivate Bosch Output

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-deactivateOutput" 
    },
    DateTime.UtcNow, new { },
    output.AsObjectLink("BoschOutput"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-deactivateOutput"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschoutput/BOSCHOUTPUT.KEY",
			"LinkedObjectKey":"BOSCHOUTPUT.KEY",
			"CommonName":"OutputForCURL",
			"Relation":"BoschOutput",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"BQAAAAA="
}'

Set Sked Time

Command Nickname Object Links Parameters
Set Sked Time bosch:command-setSkedTime BoschPanel, BoschSked Hour:int(between 0 and 23)Minute:int(between 0 and 59)OR Disable = True

Set Sked Time

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-setSkedTime" 
    },
    DateTime.UtcNow,
	new {	Disable = true},	
    sked.AsObjectLink("BoschSked"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-setSkedTime"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschsked/BOSCHSKED.KEY",
			"LinkedObjectKey":"BOSCHSKED.KEY",
			"CommonName":"SkedForCURL",
			"Relation":"BoschSked",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"DwAAAAhEaXNhYmxlAAEA"
}'

Set Bosch Door State

Command Nickname Object Links Parameters
Set Bosch Door State bosch:command-setDoorState BoschPanel, BoschDoor CommandNumber (int):No Action0Cycle1Unlock Door2Terminate Unlock mode3Secure4Terminate Secure Mode5

Set Bosch Door State

Example in C#

await client.PublishEventAsync(currentInstance, 
    "BoschCommands", 
    new MonikerItem
    {
        Namespace = "BoschServiceCommands",
        Nickname = "bosch:command-setDoorState" 
    },
    DateTime.UtcNow,
	new {	CommandNumber = 0},	
    door.AsObjectLink("BoschDoor"),
    panel.AsObjectLink("BoschPanel"));
);

Example in CURL

curl -X POST \
  https://api.us.acresecurity.cloud/api/f/INSTANCE.KEY/eventmessagesink \
  -H 'Authorization:  Bearer TOKEN_GOES_HERE' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
	"$type":"Feenics.Keep.WebApi.Model.EventMessagePosting, Feenics.Keep.WebApi.Model",
	"OccurredOn":"2019-01-28T14:26:25.0501636Z",
	"AppKey":"BoschCommands",
	"EventTypeMoniker":
	{
		"$type":"Feenics.Keep.WebApi.Model.MonikerItem, Feenics.Keep.WebApi.Model",
		"Namespace":"BoschServiceCommands",
		"Nickname":"bosch:command-setDoorState"
	},
	"RelatedObjects":
	[
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY/boschsked/BOSCHSKED.KEY",
			"LinkedObjectKey":"BOSCHSKED.KEY",
			"CommonName":"SkedForCURL",
			"Relation":"BoschSked",
			"MetaDataBson":null
		},
		{
			"$type":"Feenics.Keep.WebApi.Model.ObjectLinkItem, Feenics.Keep.WebApi.Model",
			"Href":"/api/f/INSTANCE.KEY/boschpanels/BOSCHPANEL.KEY",
			"LinkedObjectKey":"BOSCHPANEL.KEY",
			"CommonName":"NotARealPanel",
			"Relation":"BoschPanel",
			"MetaDataBson":null
		}
	],
	"EventDataBsonBase64":"GAAAABBDb21tYW5kTnVtYmVyAAAAAAAA"
}'