baby

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnsureValidBabyUID

func EnsureValidBabyUID(babyUID string)

EnsureValidBabyUID - Checks that Baby UID does not contain any bad characters This is necessary because we use it as part of file paths

Types

type Baby

type Baby struct {
	UID       string `json:"uid"`
	Name      string `json:"name"`
	CameraUID string `json:"camera_uid"`
}

Baby - baby info (matching the Nanit API)

type State

type State struct {
	StreamState        *StreamState        `internal:"true"`
	StreamRequestState *StreamRequestState `internal:"true"`
	IsWebsocketAlive   *bool               `internal:"true"`

	MotionTimestamp  *int32 // int32 is used to represent UTC timestamp
	SoundTimestamp   *int32 // int32 is used to represent UTC timestamp
	Temperature      *bool
	IsNight          *bool
	TemperatureMilli *int32
	HumidityMilli    *int32
}

State - struct holding information about state of a single baby

func NewState

func NewState() *State

NewState - constructor

func (*State) AsMap

func (state *State) AsMap(includeInternal bool) map[string]interface{}

AsMap - returns K/V map of non-nil properties

func (*State) EnhanceLogEvent

func (state *State) EnhanceLogEvent(e *zerolog.Event) *zerolog.Event

EnhanceLogEvent - appends non-nil properties to a log event

func (*State) GetHumidity

func (state *State) GetHumidity() float64

GetHumidity - returns humidity as floating point

func (*State) GetIsWebsocketAlive

func (state *State) GetIsWebsocketAlive() bool

GetIsWebsocketAlive - safely returns value

func (*State) GetStreamRequestState

func (state *State) GetStreamRequestState() StreamRequestState

GetStreamRequestState - safely returns value

func (*State) GetStreamState

func (state *State) GetStreamState() StreamState

GetStreamState - safely returns value

func (*State) GetTemperature

func (state *State) GetTemperature() float64

GetTemperature - returns temperature as floating point

func (*State) Merge

func (state *State) Merge(stateUpdate *State) *State

Merge - Merges non-nil values of an argument to the state. Returns ptr to new state if changes Returns ptr to old state if not changed

func (*State) SetHumidityMilli

func (state *State) SetHumidityMilli(value int32) *State

SetHumidityMilli - mutates field, returns itself

func (*State) SetIsNight

func (state *State) SetIsNight(value bool) *State

SetIsNight - mutates field, returns itself

func (*State) SetMotionTimestamp

func (state *State) SetMotionTimestamp(value int32) *State

func (*State) SetSoundTimestamp

func (state *State) SetSoundTimestamp(value int32) *State

func (*State) SetStreamRequestState

func (state *State) SetStreamRequestState(value StreamRequestState) *State

SetStreamRequestState - mutates field, returns itself

func (*State) SetStreamState

func (state *State) SetStreamState(value StreamState) *State

SetStreamState - mutates field, returns itself

func (*State) SetTemperature

func (state *State) SetTemperature(value bool) *State

func (*State) SetTemperatureMilli

func (state *State) SetTemperatureMilli(value int32) *State

SetTemperatureMilli - mutates field, returns itself

func (*State) SetWebsocketAlive

func (state *State) SetWebsocketAlive(value bool) *State

SetWebsocketAlive - mutates field, returns itself

type StateManager

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

StateManager - state manager context

func NewStateManager

func NewStateManager() *StateManager

NewStateManager - state manager constructor

func (*StateManager) GetBabyState

func (manager *StateManager) GetBabyState(babyUID string) *State

GetBabyState - returns current state of a baby

func (*StateManager) NotifyMotionSubscribers

func (manager *StateManager) NotifyMotionSubscribers(babyUID string, time time.Time)

func (*StateManager) NotifySoundSubscribers

func (manager *StateManager) NotifySoundSubscribers(babyUID string, time time.Time)

func (*StateManager) Subscribe

func (manager *StateManager) Subscribe(callback func(babyUID string, state State)) func()

Subscribe - registers function to be called on every update Returns unsubscribe function

func (*StateManager) Update

func (manager *StateManager) Update(babyUID string, stateUpdate State)

Update - updates baby info in thread safe manner

type StreamRequestState

type StreamRequestState int32
const (
	StreamRequestState_NotRequested StreamRequestState = iota
	StreamRequestState_Requested
	StreamRequestState_RequestFailed
)

type StreamState

type StreamState int32
const (
	StreamState_Unknown StreamState = iota
	StreamState_Unhealthy
	StreamState_Alive
)

Jump to

Keyboard shortcuts

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