Trackunit API

<back to all web services

UpdateAlarm

The following routes are available for this service:
PUT/Alarm
PUT/Alarm/{Id}
GET POST/UpdateAlarm
GET POST/UpdateAlarm/{Id}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpdateAlarmResponse:
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TemperatureAlarmLimits:
    temperature1_lower_limit: Optional[float] = None
    temperature1_upper_limit: Optional[float] = None
    temperature2_lower_limit: Optional[float] = None
    temperature2_upper_limit: Optional[float] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ADVoltageAlarmLimits:
    ad_voltage_lower_limit: Optional[float] = None
    ad_voltage_upper_limit: Optional[float] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Location:
    latitude: float = 0.0
    longitude: float = 0.0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TimeOfDay:
    hour: int = 0
    minute: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpdateAlarm:
    id: Optional[str] = None
    name: Optional[str] = None
    enabled: Optional[bool] = None
    all_units: Optional[bool] = None
    clear_units: Optional[bool] = None
    add_units: Optional[List[str]] = None
    remove_units: Optional[List[str]] = None
    clear_groups: Optional[bool] = None
    add_groups: Optional[List[str]] = None
    remove_groups: Optional[List[str]] = None
    clear_email_recipients: Optional[bool] = None
    add_email_recipients: Optional[List[str]] = None
    remove_email_recipients: Optional[List[str]] = None
    clear_system_recipients: Optional[bool] = None
    add_system_recipients: Optional[List[str]] = None
    remove_system_recipients: Optional[List[str]] = None
    clear_sms_recipients: Optional[bool] = None
    add_sms_recipients: Optional[List[str]] = None
    remove_sms_recipients: Optional[List[str]] = None
    temperature_limits: Optional[TemperatureAlarmLimits] = None
    ad_voltage_limits: Optional[ADVoltageAlarmLimits] = None
    ad_voltage_input_index: Optional[int] = None
    threshold: Optional[float] = None
    battery_level: Optional[float] = None
    location: Optional[Location] = None
    radius: Optional[float] = None
    input_index: Optional[int] = None
    interval: Optional[float] = None
    point_id: Optional[str] = None
    expected_arrival_time: Optional[datetime.datetime] = None
    power_level: Optional[float] = None
    weekdays: Optional[List[str]] = None
    time_start: Optional[TimeOfDay] = None
    time_end: Optional[TimeOfDay] = None
    zone_id: Optional[str] = None

Python UpdateAlarm DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /UpdateAlarm HTTP/1.1 
Host: api.trackunit.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateAlarm xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ADVoltageInputIndex>0</ADVoltageInputIndex>
  <ADVoltageLimits>
    <ADVoltageLowerLimit>0</ADVoltageLowerLimit>
    <ADVoltageUpperLimit>0</ADVoltageUpperLimit>
  </ADVoltageLimits>
  <AddEmailRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AddEmailRecipients>
  <AddGroups xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AddGroups>
  <AddSmsRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AddSmsRecipients>
  <AddSystemRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AddSystemRecipients>
  <AddUnits xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AddUnits>
  <AllUnits>false</AllUnits>
  <BatteryLevel>0</BatteryLevel>
  <ClearEmailRecipients>false</ClearEmailRecipients>
  <ClearGroups>false</ClearGroups>
  <ClearSmsRecipients>false</ClearSmsRecipients>
  <ClearSystemRecipients>false</ClearSystemRecipients>
  <ClearUnits>false</ClearUnits>
  <Enabled>false</Enabled>
  <ExpectedArrivalTime>0001-01-01T00:00:00</ExpectedArrivalTime>
  <Id>String</Id>
  <InputIndex>0</InputIndex>
  <Interval>0</Interval>
  <Location>
    <Latitude>0</Latitude>
    <Longitude>0</Longitude>
  </Location>
  <Name>String</Name>
  <PointId>String</PointId>
  <PowerLevel>0</PowerLevel>
  <Radius>0</Radius>
  <RemoveEmailRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RemoveEmailRecipients>
  <RemoveGroups xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RemoveGroups>
  <RemoveSmsRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RemoveSmsRecipients>
  <RemoveSystemRecipients xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RemoveSystemRecipients>
  <RemoveUnits xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RemoveUnits>
  <TemperatureLimits>
    <Temperature1LowerLimit>0</Temperature1LowerLimit>
    <Temperature1UpperLimit>0</Temperature1UpperLimit>
    <Temperature2LowerLimit>0</Temperature2LowerLimit>
    <Temperature2UpperLimit>0</Temperature2UpperLimit>
  </TemperatureLimits>
  <Threshold>0</Threshold>
  <TimeEnd>
    <Hour>0</Hour>
    <Minute>0</Minute>
  </TimeEnd>
  <TimeStart>
    <Hour>0</Hour>
    <Minute>0</Minute>
  </TimeStart>
  <Weekdays xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Weekdays>
  <ZoneId>String</ZoneId>
</UpdateAlarm>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UpdateAlarmResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </ResponseError>
    </Errors>
    <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Meta>
  </ResponseStatus>
</UpdateAlarmResponse>