Documentation ¶
Index ¶
- type Client
- func (fw *Client) Close()
- func (fw *Client) Connect() error
- func (fw *Client) FetchAllEventRulesForDevice(deviceID string, queryParams QueryParamsBase) (eventRules []FlumeWaterEventRule, err error)
- func (fw *Client) FetchAllUsageAlertRulesForDevice(deviceID string, queryParams QueryParamsBase) (alertRules []FlumeWaterUsageAlertRule, err error)
- func (fw *Client) FetchDeviceBudgets(deviceID string, queryParams QueryParamsBase) (budgets []FlumeWaterBudget, err error)
- func (fw *Client) FetchFlumeContactInfo(queryParams FlumeWaterContactParams) (contacts []FlumeWaterContact, err error)
- func (fw *Client) FetchSingleUsageAlertRulesForDevice(deviceID string, RuleID int) (usageAlert FlumeWaterUsageAlertRule, err error)
- func (fw *Client) FetchUser() (flumeUser FlumeWaterUser, err error)
- func (fw *Client) FetchUserDevice(deviceID string, queryParams FlumeWaterFetchDeviceRequest) (device FlumeWaterDevice, err error)
- func (fw *Client) FetchUserDevices(queryParams FlumeWaterFetchDeviceRequest) (devices []FlumeWaterDevice, err error)
- func (fw *Client) FetchUserLocation(locationID int) (location FlumeWaterLocation, err error)
- func (fw *Client) FetchUserLocations(queryParams LocationsQueryParams) (locations []FlumeWaterLocation, err error)
- func (fw *Client) FetchUserNotifications(queryParams FlumeWaterNotificationsParams) (notifications []FlumeWaterNotification, err error)
- func (fw *Client) FetchUserSubscription(subscriptionID int) (subscription FlumeWaterSubscription, err error)
- func (fw *Client) FetchUserSubscriptions(queryParams FlumeWaterSubscriptionParams) (subscriptions []FlumeWaterSubscription, err error)
- func (fw *Client) FetchUserUsageAlerts(queryParams FlumeWaterUsageAlertsParams) (flumeResp *FlumeWaterUsageAlertsResponse, err error)
- func (fw *Client) FlumeGet(fetchURL string, flumeResponse interface{}) (err error)
- func (fw *Client) GetToken() (err error)
- func (fw *Client) QueryUserDevice(deviceID string, Queries FlumeWaterQueryRequest) (queryResults []FlumeWaterQueryResult, err error)
- func (fw *Client) RefreshToken() (err error)
- func (fw *Client) UpdateUserLocation(locationID string, awayMode bool) (flumeResp *ResponseBase, err error)
- func (fw *Client) UserID() (userID int)
- type FlumeWaterAuthData
- type FlumeWaterAuthRequest
- type FlumeWaterAuthResponse
- type FlumeWaterBucket
- type FlumeWaterBudget
- type FlumeWaterContact
- type FlumeWaterContactCategory
- type FlumeWaterContactParams
- type FlumeWaterContactResponse
- type FlumeWaterContactType
- type FlumeWaterDevice
- type FlumeWaterDeviceBudgetsResponse
- type FlumeWaterDeviceType
- type FlumeWaterEventRule
- type FlumeWaterEventRuleResponse
- type FlumeWaterFetchDeviceRequest
- type FlumeWaterFetchDeviceResponse
- type FlumeWaterFetchUserResponse
- type FlumeWaterLocation
- type FlumeWaterLocationsResponse
- type FlumeWaterNotification
- type FlumeWaterNotificationType
- type FlumeWaterNotificationsExtra
- type FlumeWaterNotificationsParams
- type FlumeWaterNotificationsResponse
- type FlumeWaterOperation
- type FlumeWaterQuery
- type FlumeWaterQueryRequest
- type FlumeWaterQueryResponse
- type FlumeWaterQueryResult
- type FlumeWaterQueryResultBucket
- type FlumeWaterRefreshTokenRequest
- type FlumeWaterSortDirection
- type FlumeWaterSubscription
- type FlumeWaterSubscriptionParams
- type FlumeWaterUnit
- type FlumeWaterUpdateUserLocationRequest
- type FlumeWaterUsageAlert
- type FlumeWaterUsageAlertQuery
- type FlumeWaterUsageAlertRule
- type FlumeWaterUsageAlertRuleResponse
- type FlumeWaterUsageAlertsParams
- type FlumeWaterUsageAlertsResponse
- type FlumeWaterUsageProfile
- type FlumeWaterUser
- type FlumeWaterUserSubscriptionsResponse
- type LocationsQueryParams
- type QueryParamsBase
- type ResponseBase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { ClientID string ClientSecret string Username string Password string Timeout time.Duration AuthData FlumeWaterAuthData // contains filtered or unexported fields }
func (*Client) FetchAllEventRulesForDevice ¶
func (fw *Client) FetchAllEventRulesForDevice(deviceID string, queryParams QueryParamsBase) (eventRules []FlumeWaterEventRule, err error)
func (*Client) FetchAllUsageAlertRulesForDevice ¶
func (fw *Client) FetchAllUsageAlertRulesForDevice(deviceID string, queryParams QueryParamsBase) (alertRules []FlumeWaterUsageAlertRule, err error)
func (*Client) FetchDeviceBudgets ¶
func (fw *Client) FetchDeviceBudgets(deviceID string, queryParams QueryParamsBase) (budgets []FlumeWaterBudget, err error)
func (*Client) FetchFlumeContactInfo ¶
func (fw *Client) FetchFlumeContactInfo(queryParams FlumeWaterContactParams) (contacts []FlumeWaterContact, err error)
func (*Client) FetchSingleUsageAlertRulesForDevice ¶
func (fw *Client) FetchSingleUsageAlertRulesForDevice(deviceID string, RuleID int) (usageAlert FlumeWaterUsageAlertRule, err error)
func (*Client) FetchUser ¶
func (fw *Client) FetchUser() (flumeUser FlumeWaterUser, err error)
func (*Client) FetchUserDevice ¶
func (fw *Client) FetchUserDevice(deviceID string, queryParams FlumeWaterFetchDeviceRequest) (device FlumeWaterDevice, err error)
func (*Client) FetchUserDevices ¶
func (fw *Client) FetchUserDevices(queryParams FlumeWaterFetchDeviceRequest) (devices []FlumeWaterDevice, err error)
func (*Client) FetchUserLocation ¶
func (fw *Client) FetchUserLocation(locationID int) (location FlumeWaterLocation, err error)
func (*Client) FetchUserLocations ¶
func (fw *Client) FetchUserLocations(queryParams LocationsQueryParams) (locations []FlumeWaterLocation, err error)
func (*Client) FetchUserNotifications ¶
func (fw *Client) FetchUserNotifications(queryParams FlumeWaterNotificationsParams) (notifications []FlumeWaterNotification, err error)
func (*Client) FetchUserSubscription ¶
func (fw *Client) FetchUserSubscription(subscriptionID int) (subscription FlumeWaterSubscription, err error)
func (*Client) FetchUserSubscriptions ¶
func (fw *Client) FetchUserSubscriptions(queryParams FlumeWaterSubscriptionParams) (subscriptions []FlumeWaterSubscription, err error)
func (*Client) FetchUserUsageAlerts ¶
func (fw *Client) FetchUserUsageAlerts(queryParams FlumeWaterUsageAlertsParams) (flumeResp *FlumeWaterUsageAlertsResponse, err error)
func (*Client) QueryUserDevice ¶
func (fw *Client) QueryUserDevice(deviceID string, Queries FlumeWaterQueryRequest) (queryResults []FlumeWaterQueryResult, err error)
func (*Client) RefreshToken ¶
func (*Client) UpdateUserLocation ¶
func (fw *Client) UpdateUserLocation(locationID string, awayMode bool) (flumeResp *ResponseBase, err error)
type FlumeWaterAuthData ¶
type FlumeWaterAuthRequest ¶
type FlumeWaterAuthResponse ¶
type FlumeWaterAuthResponse struct { *ResponseBase Data []FlumeWaterAuthData `json:"data"` }
type FlumeWaterBucket ¶
type FlumeWaterBucket string
const ( FlumeWaterBucketMinute FlumeWaterBucket = "MIN" FlumeWaterBucketHour FlumeWaterBucket = "HR" FlumeWaterBucketDay FlumeWaterBucket = "DAY" FlumeWaterBucketMonth FlumeWaterBucket = "MON" FlumeWaterBucketYear FlumeWaterBucket = "YR" )
type FlumeWaterBudget ¶
type FlumeWaterContact ¶
type FlumeWaterContactCategory ¶
type FlumeWaterContactCategory string
const (
FlumeWaterContactCategorySupport FlumeWaterContactCategory = "SUPPORT"
)
type FlumeWaterContactParams ¶
type FlumeWaterContactParams struct { *QueryParamsBase Type FlumeWaterContactType `url:"type,omitempty"` Category FlumeWaterContactCategory `url:"category,omitempty"` }
func NewFlumeWaterContactParams ¶
func NewFlumeWaterContactParams() *FlumeWaterContactParams
type FlumeWaterContactResponse ¶
type FlumeWaterContactResponse struct { *ResponseBase Data []FlumeWaterContact `json:"data"` }
type FlumeWaterContactType ¶
type FlumeWaterContactType string
const ( FlumeWaterContactTypePhone FlumeWaterContactType = "PHONE" FlumeWaterContactTypeEmail FlumeWaterContactType = "EMAIL" )
type FlumeWaterDevice ¶
type FlumeWaterDevice struct { ID string `json:"id"` BridgeID string `json:"bridge_id"` Type FlumeWaterDeviceType `json:"type"` Name string `json:"name"` Description string `json:"description"` AddedDatetime string `json:"added_datetime"` UserID int `json:"user_id"` Registered bool `json:"registered"` Oriented bool `json:"oriented"` LastSeen string `json:"last_seen"` Location FlumeWaterLocation `json:"location"` User FlumeWaterUser `json:"user"` }
type FlumeWaterDeviceBudgetsResponse ¶
type FlumeWaterDeviceBudgetsResponse struct { *ResponseBase Data []FlumeWaterBudget `json:"data"` }
type FlumeWaterDeviceType ¶
type FlumeWaterDeviceType int
const ( FlumeWaterDeviceTypeBridge FlumeWaterDeviceType = 1 FlumeWaterDeviceTypeSensor FlumeWaterDeviceType = 2 )
type FlumeWaterEventRule ¶
type FlumeWaterEventRuleResponse ¶
type FlumeWaterEventRuleResponse struct { *ResponseBase Data []FlumeWaterEventRule `json:"data"` }
type FlumeWaterFetchDeviceResponse ¶
type FlumeWaterFetchDeviceResponse struct { *ResponseBase Data []FlumeWaterDevice `json:"data"` }
type FlumeWaterFetchUserResponse ¶
type FlumeWaterFetchUserResponse struct { *ResponseBase Data []FlumeWaterUser `json:"data"` }
type FlumeWaterLocation ¶
type FlumeWaterLocation struct { ID int `json:"id"` UserID int `json:"user_id"` Name string `json:"name"` PrimaryLocation bool `json:"primary_location"` Address string `json:"address"` Address2 string `json:"address_2"` City string `json:"city"` State string `json:"state"` PostalCode string `json:"postal_code"` Country string `json:"country"` TZ string `json:"tz"` Installation string `json:"installation"` BuildingType string `json:"building_type"` UsageProfile FlumeWaterUsageProfile `json:"usage_profile"` }
type FlumeWaterLocationsResponse ¶
type FlumeWaterLocationsResponse struct { *ResponseBase Data []FlumeWaterLocation `json:"data"` }
type FlumeWaterNotification ¶
type FlumeWaterNotification struct { ID int `json:"id"` DeviceID string `json:"device_id"` UserID int `json:"user_id"` EventRule string `json:"event_rule"` Type int `json:"type"` Message string `json:"message"` CreatedDatetime time.Time `json:"created_datetime"` Title string `json:"title"` Read bool `json:"read"` Extra FlumeWaterNotificationsExtra `json:"extra"` }
type FlumeWaterNotificationType ¶
type FlumeWaterNotificationType int
const ( FlumeWaterNotificationTypeUsageAlert FlumeWaterNotificationType = 1 FlumeWaterNotificationTypeBudget FlumeWaterNotificationType = 2 FlumeWaterNotificationTypeGeneral FlumeWaterNotificationType = 4 FlumeWaterNotificationTypeHeartbeat FlumeWaterNotificationType = 8 FlumeWaterNotificationTypeBattery FlumeWaterNotificationType = 16 )
type FlumeWaterNotificationsParams ¶
type FlumeWaterNotificationsParams struct { *QueryParamsBase DeviceID string `url:"device_id,omitempty"` LocationID int `url:"location_id,omitempty"` AlertType string `url:"alert_type,omitempty"` NotificationType FlumeWaterNotificationType `url:"type,omitempty"` NotificationTypes int `url:"types,omitempty"` Read bool `url:"read,omitempty"` }
func NewFlumeWaterNotificationsParams ¶
func NewFlumeWaterNotificationsParams() *FlumeWaterNotificationsParams
type FlumeWaterNotificationsResponse ¶
type FlumeWaterNotificationsResponse struct { *ResponseBase Data []FlumeWaterNotification `json:"data"` }
type FlumeWaterOperation ¶
type FlumeWaterOperation string
const ( FlumeWaterOperationSum FlumeWaterOperation = "SUM" FlumeWaterOperationAverage FlumeWaterOperation = "AVG" FlumeWaterOperationMin FlumeWaterOperation = "MIN" FlumeWaterOperationMax FlumeWaterOperation = "MAX" FlumeWaterOperationCount FlumeWaterOperation = "CNT" )
type FlumeWaterQuery ¶
type FlumeWaterQuery struct { Bucket FlumeWaterBucket `json:"bucket"` GroupMultiplier int `json:"group_multiplier,omitempty"` SinceDatetime string `json:"since_datetime"` UntilDatetime string `json:"until_datetime,omitempty"` Operation FlumeWaterOperation `json:"operation,omitempty"` Units FlumeWaterUnit `json:"units,omitempty"` SortDirection FlumeWaterSortDirection `json:"sort_direction,omitempty"` RequestID string `json:"request_id"` }
type FlumeWaterQueryRequest ¶
type FlumeWaterQueryRequest struct {
Queries []FlumeWaterQuery `json:"queries"`
}
type FlumeWaterQueryResponse ¶
type FlumeWaterQueryResponse struct { *ResponseBase Data []FlumeWaterQueryResult `json:"data"` }
type FlumeWaterQueryResult ¶
type FlumeWaterQueryResult map[string][]FlumeWaterQueryResultBucket
type FlumeWaterSortDirection ¶
type FlumeWaterSortDirection string
const ( FlumeWaterSortDirectionAsc FlumeWaterSortDirection = "ASC" FlumeWaterSortDirectionDesc FlumeWaterSortDirection = "DESC" )
type FlumeWaterSubscription ¶
type FlumeWaterSubscription struct { ID int `json:"id"` UserID int `json:"user_id"` AlertType string `json:"alert_type"` AlertInfo string `json:"alert_info"` DeviceID string `json:"device_id"` NotificationTypes int `json:"notification_types"` CreatedDatetime time.Time `json:"created_datetime"` UpdatedDatetime time.Time `json:"updated_datetime"` }
type FlumeWaterSubscriptionParams ¶
type FlumeWaterSubscriptionParams struct { *QueryParamsBase AlertType string `url:"alert_type,omitempty"` NotificationTypes int `url:"notification_types,omitempty"` NotificationType FlumeWaterNotificationType `url:"notification_type,omitempty"` DeviceID string `url:"device_id,omitempty"` DeviceType FlumeWaterDeviceType `url:"device_type,omitempty"` LocationID int `url:"location_id,omitempty"` }
func NewFlumeWaterSubscriptionParams ¶
func NewFlumeWaterSubscriptionParams() *FlumeWaterSubscriptionParams
type FlumeWaterUnit ¶
type FlumeWaterUnit string
const ( FlumeWaterUnitGallon FlumeWaterUnit = "GALLONS" FlumeWaterUnitLiters FlumeWaterUnit = "LITERS" FlumeWaterUnitCubicFeet FlumeWaterUnit = "CUBIC_FEET" FlumeWaterUnitCubicMeters FlumeWaterUnit = "CUBIC_METERS" )
type FlumeWaterUpdateUserLocationRequest ¶
type FlumeWaterUpdateUserLocationRequest struct {
AwayMode bool `json:"away_mode"`
}
type FlumeWaterUsageAlert ¶
type FlumeWaterUsageAlertRuleResponse ¶
type FlumeWaterUsageAlertRuleResponse struct { *ResponseBase Data []FlumeWaterUsageAlertRule `json:"data"` }
type FlumeWaterUsageAlertsParams ¶
type FlumeWaterUsageAlertsParams struct { *QueryParamsBase DeviceID string `url:"device_id,omitempty"` FlumeLeak bool `url:"flume_leak,omitempty"` }
func NewFlumeWaterUsageAlertsParams ¶
func NewFlumeWaterUsageAlertsParams() *FlumeWaterUsageAlertsParams
type FlumeWaterUsageAlertsResponse ¶
type FlumeWaterUsageAlertsResponse struct { *ResponseBase Data []FlumeWaterUsageAlert `json:"data"` }
type FlumeWaterUsageProfile ¶
type FlumeWaterUser ¶
type FlumeWaterUser struct { ID int `json:"id"` EmailAddress string `json:"email_address"` FirstName string `json:"first_name"` LastName string `json:"last_name"` Phone string `json:"phone"` Status string `json:"status"` Type string `json:"type"` SignupDatetime string `json:"signup_datetime,omitempty"` }
type FlumeWaterUserSubscriptionsResponse ¶
type FlumeWaterUserSubscriptionsResponse struct { *ResponseBase Data []FlumeWaterSubscription `json:"data"` }
type LocationsQueryParams ¶
type LocationsQueryParams struct { *QueryParamsBase }
func NewLocationsQueryParams ¶
func NewLocationsQueryParams() *LocationsQueryParams
type QueryParamsBase ¶
type QueryParamsBase struct { Limit int `url:"limit,omitempty"` Offset int `url:"offset,omitempty"` SortField string `url:"sort_field,omitempty"` SortDirection FlumeWaterSortDirection `url:"sort_direction,omitempty"` }
type ResponseBase ¶
type ResponseBase struct { Success bool `json:"success"` Code int `json:"code"` Message string `json:"message"` HTTPCode int `json:"http_code"` HTTPMessage string `json:"http_message"` Detailed []string `json:"detailed"` Count int `json:"count"` Pagination struct { Next string `json:"next"` Prev string `json:"prev"` } `json:"pagination"` }
Click to show internal directories.
Click to hide internal directories.