Skip to main content

Event Types

We are continually adding more event types as we build out the Texture platform.

device.discovered

Fired when a new device is connected to the Texture platform. Includes the following payload:

Device Discovered Event
{
"eventType": "device.discovered",
"deviceId": "cllzcbw0t00016g7dfua590dd",
"deviceModel": "ac_powerwall",
"deviceName": "Susie's Powerwall",
"deviceType": "battery",
"workspaceId": "cllzcf9xe00066g7dcsxyq1e5",
"organizationId": "cllzcf78o00036g7d0r4gjry1",
"referenceId": "c1b1504d-4784-5d90-9459-a512c4789b35",
"tags": ["united-states", "new-york", "nyc"],
"manufacturer": "tesla",
"manufacturerDeviceId": "3THK7GB1",
"state": {
"charge": 2300,
"chargePercentage": 67.3,
"chargeState": "charging"
},
"createdAt": "2023-09-01T20:48:24.967Z",
"updatedAt": "2023-09-01T20:48:24.967Z"
}

Definitions

deviceIdThe unique identifier created by Texture and assigned to this particular device
deviceNameThe name associated with the device, if any. This is often a name the user assigned to it to help identify it like "Susie's Powerwall" or "Upstairs Thermostat"
deviceModelThe name of the model of the device, generally assigned by the manufacturer
deviceTypeThe type of device. For this specific event, will always be of type battery but included in case you are handling all events via a single webhook endpoint
eventTypeThe type of event, will always be battery.device.created for this event, but included in case you use a single endpoint for all webhooks
workspaceIdThe unique identifier for the workspace on the Texture platform to which this device is connected
organizationIdThe unique identifier for the organization on the Texture platform to which this workspaces belongs on which this device is connected
referenceIdThe unique identifier for this device that corresponds to some record in your system. You supply this when connecting a device so that you can find it later
tagsAny arbitrary tags that you supplied when creating the Link session to connect the device. This is most often used by customers to create groupings of devices that fit their use case
manufacturerThe manufacturer for this device. You can look up the list of manufacturers which includes more metadata about them via our Manufacturers endpoint on our REST API
manufacturerDeviceIdThe identifier that the manufacturer assigns to the device. Usually the serial number
stateThe most recent state of the device. This itself is a JSON object with data specific to the type of device. In the case of the battery, it is the charge state, etc
createdAtTimestamp for when this device was created on the Texture platform
updatedAtTimestamp for when this device was most recently updated on the Texture platform

Note that when you configure a destination, you can specify which device types are fired for a given destination which can act as a kind of filter. So for example you could say that you want only Battery updates to go to a given webhook and we will filter them for you.

device.updated

Fired whenever we get updated data for a device.

Device Updated Event
{
"eventType": "device.updated",
"deviceId": "cllzcbw0t00016g7dfua590dd",
"deviceModel": "ac_powerwall",
"deviceName": "Susie's Powerwall",
"deviceType": "battery",
"workspaceId": "cllzcf9xe00066g7dcsxyq1e5",
"organizationId": "cllzcf78o00036g7d0r4gjry1",
"referenceId": "c1b1504d-4784-5d90-9459-a512c4789b35",
"tags": ["united-states", "new-york", "nyc"],
"manufacturer": "tesla",
"manufacturerDeviceId": "3THK7GB1",
"state": {
"charge": 2300,
"chargePercentage": 69.3,
"chargeState": "charging"
},
"createdAt": "2023-09-01T20:48:24.967Z",
"updatedAt": "2023-09-01T20:48:24.967Z"
}

The lion's share of these events will be triggered from the Device state updates which we get mostly on 5 or 15 minute intervals from the devices, however we are always looking to get tighter interval telemetry data as well as allow for specifying filters on that data. Stay tuned as we continue to add richer functionality to the filtering data to these events.

device.disconnected

Fired whenever a device disconnects from the Texture platform.

Device Disconnected Event
{
"eventType": "device.disconnected",
"deviceId": "cllzcbw0t00016g7dfua590dd",
"deviceModel": "ac_powerwall",
"deviceName": "Susie's Powerwall",
"deviceType": "battery",
"workspaceId": "cllzcf9xe00066g7dcsxyq1e5",
"organizationId": "cllzcf78o00036g7d0r4gjry1",
"referenceId": "c1b1504d-4784-5d90-9459-a512c4789b35",
"tags": ["united-states", "new-york", "nyc"],
"manufacturer": "tesla",
"manufacturerDeviceId": "3THK7GB1",
"createdAt": "2023-09-01T20:48:24.967Z",
"updatedAt": "2023-09-01T20:48:24.967Z"
}

command.failed

Fired whenever a command run against a device fails.

Command Failed Event
{
"eventType": "command.failed",
"id": "cllzcbw0t00016g7dfua590dd",
"status": "failed",
"workspaceId": "cllzcf9xe00066g7dcsxyq1e5",
"issuedAt": "2023-09-01T20:48:24.967Z",
"executedAt": "2023-09-01T20:48:24.967Z"
}

command.succeeded

Fired whenever a command run against a device succeeds.

Command Succeeded Event
{
"eventType": "command.succeeded",
"id": "cllzcbw0t00016g7dfua590dd",
"status": "completed",
"workspaceId": "cllzcf9xe00066g7dcsxyq1e5",
"issuedAt": "2023-09-01T20:48:24.967Z",
"executedAt": "2023-09-01T20:48:24.967Z"
}