UNPKG

ring-client-api

Version:

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

192 lines (191 loc) 6.48 kB
export const RingDeviceType = { BaseStation: 'hub.redsky', BaseStationPro: 'hub.kili', Keypad: 'security-keypad', SecurityPanel: 'security-panel', ContactSensor: 'sensor.contact', MotionSensor: 'sensor.motion', FloodFreezeSensor: 'sensor.flood-freeze', FreezeSensor: 'sensor.freeze', TemperatureSensor: 'sensor.temperature', WaterSensor: 'sensor.water', TiltSensor: 'sensor.tilt', GlassbreakSensor: 'sensor.glassbreak', RangeExtender: 'range-extender.zwave', ZigbeeAdapter: 'adapter.zigbee', AccessCodeVault: 'access-code.vault', AccessCode: 'access-code', SmokeAlarm: 'alarm.smoke', CoAlarm: 'alarm.co', SmokeCoListener: 'listener.smoke-co', MultiLevelSwitch: 'switch.multilevel', Fan: 'switch.multilevel', MultiLevelBulb: 'switch.multilevel.bulb', Switch: 'switch', BeamsMotionSensor: 'motion-sensor.beams', BeamsSwitch: 'switch.beams', BeamsMultiLevelSwitch: 'switch.multilevel.beams', BeamsLightGroupSwitch: 'group.light-group.beams', BeamsTransformerSwitch: 'switch.transformer.beams', BeamsDevice: 'device.beams', RetrofitBridge: 'bridge.flatline', RetrofitZone: 'sensor.zone', Thermostat: 'temperature-control.thermostat', Sensor: 'sensor', RingNetAdapter: 'adapter.ringnet', CodeVault: 'access-code.vault', SecurityAccessCode: 'access-code', ZWaveAdapter: 'adapter.zwave', ZWaveExtender: 'range-extender.zwave', PanicButton: 'security-panic', UnknownZWave: 'unknown.zwave', OnvifCamera: 'onvif_camera', ThirdPartyGarageDoorOpener: 'third_party_gdo', IntercomHandsetAudio: 'intercom_handset_audio', WaterValve: 'valve.water', }; export const RingDeviceCategory = { Outlets: 1, Lights: 2, Sensors: 5, Appliances: 7, Locks: 10, Thermostats: 11, Cameras: 12, Alarms: 15, Fans: 17, Security: 22, Unknown: 29, SensorsMotion: 30, Controller: 31, RangeExtenders: 32, Keypads: 33, Sirens: 34, PanicButtons: 35, WaterValves: 37, }; export const RingCameraKind = { doorbot: 'doorbot', doorbell: 'doorbell', doorbell_v3: 'doorbell_v3', doorbell_v4: 'doorbell_v4', doorbell_v5: 'doorbell_v5', doorbell_oyster: 'doorbell_oyster', // used for the Ring Video Doorbell 4 doorbell_portal: 'doorbell_portal', doorbell_scallop: 'doorbell_scallop', doorbell_scallop_lite: 'doorbell_scallop_lite', doorbell_graham_cracker: 'doorbell_graham_cracker', lpd_v1: 'lpd_v1', lpd_v2: 'lpd_v2', lpd_v4: 'lpd_v4', jbox_v1: 'jbox_v1', stickup_cam: 'stickup_cam', stickup_cam_v3: 'stickup_cam_v3', stickup_cam_elite: 'stickup_cam_elite', stickup_cam_longfin: 'stickup_cam_longfin', stickup_cam_lunar: 'stickup_cam_lunar', spotlightw_v2: 'spotlightw_v2', hp_cam_v1: 'hp_cam_v1', hp_cam_v2: 'hp_cam_v2', stickup_cam_v4: 'stickup_cam_v4', floodlight_v1: 'floodlight_v1', floodlight_v2: 'floodlight_v2', floodlight_pro: 'floodlight_pro', cocoa_camera: 'cocoa_camera', // appears to be used for all next gen stickup cams (wired/battery/solar) cocoa_doorbell: 'cocoa_doorbell', cocoa_doorbell_v2: 'cocoa_doorbell_v2', cocoa_doorbell_v3: 'cocoa_doorbell_v3', cocoa_floodlight: 'cocoa_floodlight', cocoa_spotlight: 'cocoa_spotlight', // used for the Spotlight Cam Plus (potentially other Spotlight models) stickup_cam_mini: 'stickup_cam_mini', onvif_camera: 'onvif_camera', }; export const RingCameraModel = { doorbot: 'Doorbell', doorbell: 'Doorbell', doorbell_v3: 'Doorbell', doorbell_v4: 'Doorbell 2', doorbell_v5: 'Doorbell 2', doorbell_oyster: 'Doorbell 4', 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', lpd_v4: 'Doorbell Pro 2', jbox_v1: 'Doorbell Elite', stickup_cam: 'Stick Up Cam', stickup_cam_v3: 'Stick Up Cam', stickup_cam_elite: 'Stick Up Cam', stickup_cam_longfin: 'Spotlight Cam Pro', 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', floodlight_pro: 'Floodlight Pro', cocoa_camera: 'Stick Up Cam', cocoa_doorbell: 'Doorbell Gen 2', cocoa_doorbell_v2: 'Battery Doorbell Plus', cocoa_doorbell_v3: 'Battery Doorbell Pro', cocoa_floodlight: 'Floodlight Cam Plus', cocoa_spotlight: 'Spotlight Cam Plus', stickup_cam_mini: 'Indoor Cam', onvif_camera: 'ONVIF Camera', }; export const 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', ]; export const deviceTypesWithVolume = [ RingDeviceType.BaseStation, RingDeviceType.Keypad, ]; export const ChimeModel = { chime: 'Chime', chime_pro: 'Chime Pro', chime_v2: 'Chime v2', chime_pro_v2: 'Chime Pro v2', }; export const DoorbellType = { Mechanical: 0, Digital: 1, None: 2, }; export const NotificationDetectionType = { // Note, this list may not be complete Human: 'human', Loitering: 'loitering', Motion: 'motion', OtherMotion: 'other_motion', NotAvailable: 'null', StreamBroken: 'stream_broken', }; export const PushNotificationAction = { Ding: 'com.ring.pn.live-event.ding', Motion: 'com.ring.pn.live-event.motion', IntercomDing: 'com.ring.pn.live-event.intercom', IntercomUnlock: 'com.ring.push.INTERCOM_UNLOCK_FROM_APP', AlarmModeNone: 'com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_NONE_NOTICE', AlarmModeSome: 'com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_SOME_NOTICE', AlarmSoundSiren: 'com.ring.push.HANDLE_NEW_USER_SOUND_SIREN', AlarmSilenceSiren: 'com.ring.push.HANDLE_NEW_NON_ALARM_SIREN_SILENCED', }; export const DispatchSignalType = { Burglar: 'user-verified-burglar-xa', Fire: 'user-verified-fire-xa', }; export const disabledLocationModes = ['disabled', 'unset']; export function isWebSocketSupportedAsset({ kind }) { return kind.startsWith('base_station') || kind.startsWith('beams_bridge'); }