Skip to content
bggardner edited this page Jan 21, 2018 · 15 revisions

Protocol Details

Python Class Tree

  • Message - Base class for all messages
    • BaseStationKeypadMessage - Message sent from a Base Station to a Keypad
      • BaseStationKeypadAddComponentSerialMenuResponse
        • BaseStationKeypadAddCoDetectorMenuResponse
        • BaseStationKeypadAddEntrySensorMenuResponse
        • BaseStationKeypadAddFreezeSensorMenuResponse
        • BaseStationKeypadAddGlassbreakSensorMenuResponse
        • BaseStationKeypadAddKeychainRemoteMenuResponse
        • BaseStationKeypadAddMotionSensorMenuResponse
        • BaseStationKeypadAddPanicButtonMenuResponse
        • BaseStationKeypadAddSmokeDetectorMenuResponse
        • BaseStationKeypadAddWaterSensorMenuResponse
      • BaseStationKeypadSimpleStatusMessage
        • BaseStationKeypadOffResponse
        • BaseStationKeypadTestModeOffResponse
        • BaseStationKeypadTestModeOnResponse
      • BaseStationKeypadSimpleMenuMessage
        • BaseStationKeypadAddComponentMenuResponse
        • BaseStationKeypadChangePinConfirmMenuResponse
        • BaseStationKeypadChangePinMenuResponse
        • BaseStationKeypadChangePrefixMenuResponse
        • BaseStationKeypadClearSensorError1Update
        • BaseStationKeypadClearSensorError2Update
        • BaseStationKeypadClearSensorError3Update
        • BaseStationKeypadClearSensorError4Update
        • BaseStationKeypadExitMenuResponse
      • BaseStationKeypadRemoveComponentScrollMenuResponse
        • BaseStationKeypadRemoveCoDetectorScrollMenuResponse
        • BaseStationKeypadRemoveEntrySensorScrollMenuResponse
        • BaseStationKeypadRemoveFreezeSensorScrollMenuResponse
        • BaseStationKeypadRemoveGlassbreakSensorScrollMenuResponse
        • BaseStationKeypadRemoveKeychainRemoteScrollMenuResponse
        • BaseStationKeypadRemoveMotionSensorScrollMenuResponse
        • BaseStationKeypadRemovePanicButtonScrollMenuResponse
        • BaseStationKeypadRemoveSmokeDetectorScrollMenuResponse
        • BaseStationKeypadRemoveWaterSensorScrollMenuResponse
      • BaseStationKeypadAwayResponse
      • BaseStationKeypadAlarmPinResponse
      • BaseStationKeypadEnterMenuResponse
      • BaseStationKeypadEntrySensorUpdate
      • BaseStationKeypadExtendedStatusMessage
        • BaseStationKeypadExtendedStatusRemoteUpdate
        • BaseStationKeypadExtendedStatusResponse
        • BaseStationKeypadExtendedStatusUpdate
        • BaseStationKeypadPowerOnUpdate
      • BaseStationKeypadHomeResponse
      • BaseStationKeypadPanicUpdate
      • BaseStationKeypadMenuPinResponse
        • BaseStationKeypadInvalidMenuPinResponse
        • BaseStationKeypadValidMenuPinResponse
      • BaseStationKeypadNewPrefixResponse
      • BaseStationKeypadOffRemoteUpdate
      • BaseStationKeypadRemoveComponentConfirmMenuResponse
      • BaseStationKeypadRemoveComponentSelectMenuResponse
      • BaseStationKeypadSensorErrorUpdate
      • BaseStationKeypadStatusUpdate
    • ComponentMessage - Message not sent by a Base Station
      • KeypadMessage - Message sent by a Keypad
        • KeypadRemoveComponentScrollMenuRequest
        • KeypadPinMessage
          • KeypadDisarmPinRequest
          • KeypadMenuPinRequest
          • KeypadNewPinRequest
        • KeypadSimpleRequest
          • KeypadAddComponentLastTypeMenuRequest
          • KeypadAddComponentMenuRequest
          • KeypadAwayRequest
          • KeypadChangePinConfirmMenuRequest
          • KeypadChangePinMenuRequest
          • KeypadEnterMenuRequest
          • KeypadExitMenuRequest
          • KeypadExtendedStatusRequest
          • KeypadHomeRequest
          • KeypadOffRequest
          • KeypadPanicRequest
          • KeypadRemoveComponentMenuRequest
          • KeypadRemoveComponentSelectMenuRequest
          • KeypadTestModeOnRequest
          • KeypadTestModeOffRequest
        • KeypadPrefixRequest
        • KeypadModifyComponentRequest
          • KeypadAddCoDectectorMenuRequest
          • KeypadAddEntrySensorMenuRequest
          • KeypadAddFreezeSensorMenuRequest
          • KeypadAddGlassbreakSensorMenuRequest
          • KeypadAddKeychainRemoteMenuRequest
          • KeypadAddMotionSensorMenuRequest
          • KeypadAddPanicButtonMenuRequest
          • KeypadAddSmokeDetectorMenuRequest
          • KeypadAddWaterSensorMenuRequest
          • KeypadRemoveComponentConfirmMenuRequest
        • KeypadAddComponentTypeMenuRequest
      • SensorMessage - Message sent by a sensor
        • CoDetectorMessage*
        • EntrySensorMessage
        • FreezeSensorMessage*
        • GlassbreakSensorMessage
        • KeychainRemoteMessage
        • MotionSensorMessage
        • PanicButtonMessage
        • SmokeDetectorMessage
        • WaterSensorMessage*
        • (* not implemented yet)
  • UniqueEnum - Python Enum with unique values
    • Message.OriginType
    • KeypadMessage.EventType
    • KeypadAddComponentTypeMenuRequest.ComponentType
    • BaseStationKeypadMessage.MessageType
    • BaseStationKeypadMessage.InfoType
    • BaseStationKeypadStatusMessageTrait.ErrorFlags
    • BaseStationKeypadExtendedStatusMessage.ArmedStatusType
    • BaseStationKeypadExtendedStatusMessage.EntrySensorStatusType
    • BaseStationKeypadAlarmPinResponse.ResponseType
      • .INVALID
      • .CANCEL_KEYPAD
      • .CANCEL_KEYCHAIN_REMOTE
      • .CANCEL_PANIC_BUTTON*
      • .CANCEL_MOTION_SENSOR
      • .CANCEL_ENTRY_SENSOR
      • .CANCEL_GLASSBREAK_SENSOR*
      • .CANCEL_CO_DETECTOR*
      • .CANCEL_SMOKE_DETECTOR*
      • .CANCEL_WATER_SENSOR*
      • .CANCEL_FREEZE_SENSOR*
      • .DISARM
      • (* not implemented yet)
    • BaseStationKeypadMenuPinResponse.ResponseType
    • BaseStationKeypadAddComponentSerialMenuResponse.ResponseType
    • BaseStationKeypadEntrySensorUpdate.UpdateType
    • SensorMessage.EventType
      • KeypadMessage.EventType
        • (many, see code)
      • KeychainRemoteMessage.EventType
        • .PANIC
        • .AWAY
        • .OFF
      • PanicButtonMessage.EventType
        • .BUTTON_PRESS
      • MotionSensorMessage.EventType
        • .HEARTBEAT
        • .MOTION
      • EntrySensorMessage.EventType
        • .OPEN
        • .CLOSED
      • GlassbreakSensorMessage.EventType
        • .HEARTBEAT
        • .GLASSBREAK
        • .GLASSBREAK_TEST
      • SmokeDetectorMessage.EventType
        • .HEARTBEAT
        • .SMOKE

Trait Classes

Trait classes are only used with multiple inheritance as the non-primary parent/superclass. They provide common attributes and non-initilization methods for the classes that inherit them.

  • BaseStationKeypadMenuMessageTrait - Message regarding Keypad menu events
  • BaseStationKeypadResponseTrait - Response to Keypad requests
  • BaseStationKeypadSimpleMessageTrait - No payload body
  • BaseStationKeypadStatusMessageTrait - Message regarding status (non-menu) events
  • BaseStationKeypadUpdateTrait - Unrequested message