ring

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2019 License: BSD-2-Clause Imports: 6 Imported by: 0

README

golang-ring-doorbell

Golang implementation of the reverse engineered Ring API

API derived from https://github.com/tchellomello/python-ring-doorbell

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Username string
	Password string
}

Config basic configuration for creating a new Ring

type Features

type Features struct {
	RemoteLoggingFormatStoring               bool   `json:"remote_logging_format_storing"`
	RemoteLoggingLevel                       int    `json:"remote_logging_level"`
	SubscriptionsEnabled                     bool   `json:"subscriptions_enabled"`
	StickupcamSetupEnabled                   bool   `json:"stickupcam_setup_enabled"`
	VodEnabled                               bool   `json:"vod_enabled"`
	RingplusEnabled                          bool   `json:"ringplus_enabled"`
	LpdEnabled                               bool   `json:"lpd_enabled"`
	ReactiveSnoozingEnabled                  bool   `json:"reactive_snoozing_enabled"`
	ProactiveSnoozingEnabled                 bool   `json:"proactive_snoozing_enabled"`
	OwnerProactiveSnoozingEnabled            bool   `json:"owner_proactive_snoozing_enabled"`
	LiveViewSettingsEnabled                  bool   `json:"live_view_settings_enabled"`
	DeleteAllSettingsEnabled                 bool   `json:"delete_all_settings_enabled"`
	PowerCableEnabled                        bool   `json:"power_cable_enabled"`
	DeviceHealthAlertsEnabled                bool   `json:"device_health_alerts_enabled"`
	ChimeProEnabled                          bool   `json:"chime_pro_enabled"`
	MultipleCallsEnabled                     bool   `json:"multiple_calls_enabled"`
	UjetEnabled                              bool   `json:"ujet_enabled"`
	MultipleDeleteEnabled                    bool   `json:"multiple_delete_enabled"`
	DeleteAllEnabled                         bool   `json:"delete_all_enabled"`
	LpdMotionAnnouncementEnabled             bool   `json:"lpd_motion_announcement_enabled"`
	StarredEventsEnabled                     bool   `json:"starred_events_enabled"`
	ChimeDndEnabled                          bool   `json:"chime_dnd_enabled"`
	VideoSearchEnabled                       bool   `json:"video_search_enabled"`
	FloodlightCamEnabled                     bool   `json:"floodlight_cam_enabled"`
	RingCamBatteryEnabled                    bool   `json:"ring_cam_battery_enabled"`
	EliteCamEnabled                          bool   `json:"elite_cam_enabled"`
	DoorbellV2Enabled                        bool   `json:"doorbell_v2_enabled"`
	SpotlightBatteryDashboardControlsEnabled bool   `json:"spotlight_battery_dashboard_controls_enabled"`
	BypassAccountVerification                bool   `json:"bypass_account_verification"`
	LegacyCvrRetentionEnabled                bool   `json:"legacy_cvr_retention_enabled"`
	RingCamEnabled                           bool   `json:"ring_cam_enabled"`
	RingSearchEnabled                        bool   `json:"ring_search_enabled"`
	RingCamMountEnabled                      bool   `json:"ring_cam_mount_enabled"`
	RingAlarmEnabled                         bool   `json:"ring_alarm_enabled"`
	InAppCallNotifications                   bool   `json:"in_app_call_notifications"`
	RingCashEligibleEnabled                  bool   `json:"ring_cash_eligible_enabled"`
	AppAlertTonesEnabled                     bool   `json:"app_alert_tones_enabled"`
	MotionSnoozingEnabled                    bool   `json:"motion_snoozing_enabled"`
	HistoryClassificationEnabled             bool   `json:"history_classification_enabled"`
	TileDashboardEnabled                     bool   `json:"tile_dashboard_enabled"`
	TileDashboardMode                        string `json:"tile_dashboard_mode"`
	ScrubberAutoLiveEnabled                  bool   `json:"scrubber_auto_live_enabled"`
	ScrubberEnabled                          bool   `json:"scrubber_enabled"`
	NwEnabled                                bool   `json:"nw_enabled"`
	NwV2Enabled                              bool   `json:"nw_v2_enabled"`
	NwFeedTypesEnabled                       bool   `json:"nw_feed_types_enabled"`
	NwLargerAreaEnabled                      bool   `json:"nw_larger_area_enabled"`
	NwUserActivated                          bool   `json:"nw_user_activated"`
	NwNotificationTypesEnabled               bool   `json:"nw_notification_types_enabled"`
	NwNotificationRadiusEnabled              bool   `json:"nw_notification_radius_enabled"`
	NwMapViewFeatureEnabled                  bool   `json:"nw_map_view_feature_enabled"`
}

Features is the doorbell enabled features. It is a part of LoginResponse

type LoginResponse

type LoginResponse struct {
	Profile Profile `json:"profile"`
}

LoginResponse is the JSON structure returned when logging in

type Profile

type Profile struct {
	Id                   int      `json:"id"`
	Email                string   `json:"email"`
	FirstName            string   `json:"first_name"`
	LastName             string   `json:"last_name"`
	PhoneNumber          string   `json:"phone_number"`
	AuthenticationToken  string   `json:"authentication_token"`
	HardwareId           string   `json:"hardware_id"`
	ExplorerProgramTerms string   `json:"explorer_program_terms"`
	UserFlow             string   `json:"user_flow"`
	AppBrand             string   `json:"app_brand"`
	Features             Features `json:"features"`
}

Profile is the JSON profile. It is a part of LoginResponse

type Ring

type Ring struct {
	// contains filtered or unexported fields
}

Ring implements the non-public Ring Video Doorbell API

func New

func New(c *Config) *Ring

func (*Ring) Login

func (r *Ring) Login() (*LoginResponse, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL