UNPKG

@koush/ring-client-api

Version:

Unofficial API for Ring doorbells, cameras, security alarm system and smart lighting

169 lines (168 loc) 8.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isWebSocketSupportedAsset = exports.disabledLocationModes = exports.DispatchSignalType = exports.DoorbellType = exports.ChimeModel = exports.deviceTypesWithVolume = exports.allAlarmStates = exports.RingCameraModel = exports.isBatteryCameraKind = exports.RingCameraKind = exports.RingDeviceCategory = exports.RingDeviceType = void 0; // eslint-disable-next-line no-shadow var RingDeviceType; (function (RingDeviceType) { RingDeviceType["BaseStation"] = "hub.redsky"; RingDeviceType["Keypad"] = "security-keypad"; RingDeviceType["SecurityPanel"] = "security-panel"; RingDeviceType["ContactSensor"] = "sensor.contact"; RingDeviceType["MotionSensor"] = "sensor.motion"; RingDeviceType["FloodFreezeSensor"] = "sensor.flood-freeze"; RingDeviceType["FreezeSensor"] = "sensor.freeze"; RingDeviceType["TemperatureSensor"] = "sensor.temperature"; RingDeviceType["WaterSensor"] = "sensor.water"; RingDeviceType["TiltSensor"] = "sensor.tilt"; RingDeviceType["GlassbreakSensor"] = "sensor.glassbreak"; RingDeviceType["RangeExtender"] = "range-extender.zwave"; RingDeviceType["ZigbeeAdapter"] = "adapter.zigbee"; RingDeviceType["AccessCodeVault"] = "access-code.vault"; RingDeviceType["AccessCode"] = "access-code"; RingDeviceType["SmokeAlarm"] = "alarm.smoke"; RingDeviceType["CoAlarm"] = "alarm.co"; RingDeviceType["SmokeCoListener"] = "listener.smoke-co"; RingDeviceType["MultiLevelSwitch"] = "switch.multilevel"; RingDeviceType["Fan"] = "switch.multilevel"; RingDeviceType["MultiLevelBulb"] = "switch.multilevel.bulb"; RingDeviceType["Switch"] = "switch"; RingDeviceType["BeamsMotionSensor"] = "motion-sensor.beams"; RingDeviceType["BeamsSwitch"] = "switch.beams"; RingDeviceType["BeamsMultiLevelSwitch"] = "switch.multilevel.beams"; RingDeviceType["BeamsLightGroupSwitch"] = "group.light-group.beams"; RingDeviceType["BeamsTransformerSwitch"] = "switch.transformer.beams"; RingDeviceType["BeamsDevice"] = "device.beams"; RingDeviceType["RetrofitBridge"] = "bridge.flatline"; RingDeviceType["RetrofitZone"] = "sensor.zone"; RingDeviceType["Thermostat"] = "temperature-control.thermostat"; RingDeviceType["Sensor"] = "sensor"; RingDeviceType["RingNetAdapter"] = "adapter.ringnet"; RingDeviceType["CodeVault"] = "access-code.vault"; RingDeviceType["SecurityAccessCode"] = "access-code"; RingDeviceType["ZWaveAdapter"] = "adapter.zwave"; RingDeviceType["ZWaveExtender"] = "range-extender.zwave"; RingDeviceType["PanicButton"] = "security-panic"; RingDeviceType["UnknownZWave"] = "unknown.zwave"; })(RingDeviceType = exports.RingDeviceType || (exports.RingDeviceType = {})); // eslint-disable-next-line no-shadow var RingDeviceCategory; (function (RingDeviceCategory) { RingDeviceCategory[RingDeviceCategory["Outlets"] = 1] = "Outlets"; RingDeviceCategory[RingDeviceCategory["Lights"] = 2] = "Lights"; RingDeviceCategory[RingDeviceCategory["Sensors"] = 5] = "Sensors"; RingDeviceCategory[RingDeviceCategory["Appliances"] = 7] = "Appliances"; RingDeviceCategory[RingDeviceCategory["Locks"] = 10] = "Locks"; RingDeviceCategory[RingDeviceCategory["Thermostats"] = 11] = "Thermostats"; RingDeviceCategory[RingDeviceCategory["Cameras"] = 12] = "Cameras"; RingDeviceCategory[RingDeviceCategory["Alarms"] = 15] = "Alarms"; RingDeviceCategory[RingDeviceCategory["Fans"] = 17] = "Fans"; RingDeviceCategory[RingDeviceCategory["Security"] = 22] = "Security"; RingDeviceCategory[RingDeviceCategory["Unknown"] = 29] = "Unknown"; RingDeviceCategory[RingDeviceCategory["SensorsMotion"] = 30] = "SensorsMotion"; RingDeviceCategory[RingDeviceCategory["Controller"] = 31] = "Controller"; RingDeviceCategory[RingDeviceCategory["RangeExtenders"] = 32] = "RangeExtenders"; RingDeviceCategory[RingDeviceCategory["Keypads"] = 33] = "Keypads"; RingDeviceCategory[RingDeviceCategory["Sirens"] = 34] = "Sirens"; RingDeviceCategory[RingDeviceCategory["PanicButtons"] = 35] = "PanicButtons"; })(RingDeviceCategory = exports.RingDeviceCategory || (exports.RingDeviceCategory = {})); // eslint-disable-next-line no-shadow var RingCameraKind; (function (RingCameraKind) { RingCameraKind["doorbot"] = "doorbot"; RingCameraKind["doorbell"] = "doorbell"; RingCameraKind["doorbell_v3"] = "doorbell_v3"; RingCameraKind["doorbell_v4"] = "doorbell_v4"; RingCameraKind["doorbell_v5"] = "doorbell_v5"; RingCameraKind["doorbell_portal"] = "doorbell_portal"; RingCameraKind["doorbell_scallop"] = "doorbell_scallop"; RingCameraKind["doorbell_scallop_lite"] = "doorbell_scallop_lite"; RingCameraKind["doorbell_graham_cracker"] = "doorbell_graham_cracker"; RingCameraKind["lpd_v1"] = "lpd_v1"; RingCameraKind["lpd_v2"] = "lpd_v2"; RingCameraKind["jbox_v1"] = "jbox_v1"; RingCameraKind["stickup_cam"] = "stickup_cam"; RingCameraKind["stickup_cam_v3"] = "stickup_cam_v3"; RingCameraKind["stickup_cam_elite"] = "stickup_cam_elite"; RingCameraKind["stickup_cam_lunar"] = "stickup_cam_lunar"; RingCameraKind["spotlightw_v2"] = "spotlightw_v2"; RingCameraKind["hp_cam_v1"] = "hp_cam_v1"; RingCameraKind["hp_cam_v2"] = "hp_cam_v2"; RingCameraKind["stickup_cam_v4"] = "stickup_cam_v4"; RingCameraKind["floodlight_v1"] = "floodlight_v1"; RingCameraKind["floodlight_v2"] = "floodlight_v2"; RingCameraKind["cocoa_camera"] = "cocoa_camera"; RingCameraKind["cocoa_doorbell"] = "cocoa_doorbell"; RingCameraKind["stickup_cam_mini"] = "stickup_cam_mini"; })(RingCameraKind = exports.RingCameraKind || (exports.RingCameraKind = {})); // RegExp taken from ring.com app const isWiredCameraRegExp = new RegExp(/(^(lpd|jbox|stickup_cam_elite|stickup_cam_mini|hp_cam|spotlightw|floodlight|doorbell_graham_cracker))/); function isBatteryCameraKind(kind) { return !kind.match(isWiredCameraRegExp); } exports.isBatteryCameraKind = isBatteryCameraKind; exports.RingCameraModel = { doorbot: 'Doorbell', doorbell: 'Doorbell', doorbell_v3: 'Doorbell', doorbell_v4: 'Doorbell 2', doorbell_v5: 'Doorbell 2', doorbell_portal: 'Door View Cam', doorbell_scallop: 'Doorbell 3 Plus', doorbell_scallop_lite: 'Doorbell 3', doorbell_graham_cracker: 'Doorbell Wired', lpd_v1: 'Doorbell Pro', lpd_v2: 'Doorbell Pro', jbox_v1: 'Doorbell Elite', stickup_cam: 'Stick Up Cam', stickup_cam_v3: 'Stick Up Cam', stickup_cam_elite: 'Stick Up Cam', stickup_cam_lunar: 'Stick Up Cam', spotlightw_v2: 'Spotlight Cam', hp_cam_v1: 'Floodlight Cam', hp_cam_v2: 'Spotlight Cam', stickup_cam_v4: 'Spotlight Cam', floodlight_v1: 'Floodlight Cam', floodlight_v2: 'Floodlight Cam', cocoa_camera: 'Stick Up Cam', cocoa_doorbell: 'Doorbell Gen 2', stickup_cam_mini: 'Indoor Cam', }; exports.allAlarmStates = [ 'burglar-alarm', 'entry-delay', 'fire-alarm', 'co-alarm', 'panic', 'user-verified-burglar-alarm', 'user-verified-co-or-fire-alarm', 'burglar-accelerated-alarm', 'fire-accelerated-alarm', ]; exports.deviceTypesWithVolume = [ RingDeviceType.BaseStation, RingDeviceType.Keypad, ]; exports.ChimeModel = { chime: 'Chime', chime_pro: 'Chime Pro', chime_v2: 'Chime v2', chime_pro_v2: 'Chime Pro v2', }; // eslint-disable-next-line no-shadow var DoorbellType; (function (DoorbellType) { DoorbellType[DoorbellType["Mechanical"] = 0] = "Mechanical"; DoorbellType[DoorbellType["Digital"] = 1] = "Digital"; DoorbellType[DoorbellType["None"] = 2] = "None"; })(DoorbellType = exports.DoorbellType || (exports.DoorbellType = {})); // eslint-disable-next-line no-shadow var DispatchSignalType; (function (DispatchSignalType) { DispatchSignalType["Burglar"] = "user-verified-burglar-xa"; DispatchSignalType["Fire"] = "user-verified-fire-xa"; })(DispatchSignalType = exports.DispatchSignalType || (exports.DispatchSignalType = {})); exports.disabledLocationModes = ['disabled', 'unset']; function isWebSocketSupportedAsset({ kind }) { return kind.startsWith('base_station') || kind.startsWith('beams_bridge'); } exports.isWebSocketSupportedAsset = isWebSocketSupportedAsset;