Bosch Service Commands

The Bosch Service uses the Publish Method (attached to EventTypeInfo) to interact with its respective hardware.

Please observe the examples of how to use the service commands. The examples assume you have already set up the appropriate object to use for the object link. However the objects used are named to correspond to the type of object that is meant to be linked.

AppKey Namespace
BoschCommands BoschServiceCommands

The available commands for this service are presented below:

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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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://keepapi.feenicshosting.com/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"
}'