uhppote

package
v0.6.5 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2020 License: MIT Imports: 10 Imported by: 34

Documentation

Index

Constants

This section is empty.

Variables

View Source
var VERSION string = "v0.6.5"

Functions

func GetCardByIndex

func GetCardByIndex(u iuhppote, deviceID, index uint32) (*types.Card, error)

Types

type Device

type Device struct {
	DeviceID uint32
	Address  *net.UDPAddr
	Rollover uint32
	Doors    []string
}

func NewDevice

func NewDevice(deviceID uint32, address *net.UDPAddr, rollover uint32, doors []string) *Device

type GetListenerResponse

type GetListenerResponse struct {
	MsgType      types.MsgType      `uhppote:"value:0x92"`
	SerialNumber types.SerialNumber `uhppote:"offset:4"`
	Address      net.IP             `uhppote:"offset:8"`
	Port         uint16             `uhppote:"offset:12"`
}

type Listener

type Listener interface {
	OnConnected()
	OnEvent(*types.Status)
	OnError(error) bool
}

type UHPPOTE

type UHPPOTE struct {
	BindAddress      *net.UDPAddr
	BroadcastAddress *net.UDPAddr
	ListenAddress    *net.UDPAddr
	Devices          map[uint32]*Device
	Debug            bool
}

func (*UHPPOTE) Broadcast

func (u *UHPPOTE) Broadcast(request, replies interface{}) error

func (*UHPPOTE) DeleteCard

func (u *UHPPOTE) DeleteCard(deviceID uint32, cardNumber uint32) (bool, error)

func (*UHPPOTE) DeleteCards

func (u *UHPPOTE) DeleteCards(serialNumber uint32) (bool, error)

func (*UHPPOTE) DirectedBroadcast

func (u *UHPPOTE) DirectedBroadcast(serialNumber uint32, request, replies interface{}) error

Sends a UDP message to a specific device but anticipates replies from more than one device because it may fall back to the broadcast address if the device ID has no configured IP address.

func (*UHPPOTE) Execute

func (u *UHPPOTE) Execute(serialNumber uint32, request, reply interface{}) error

func (*UHPPOTE) FindDevice

func (u *UHPPOTE) FindDevice(serialNumber uint32) (*types.Device, error)

func (*UHPPOTE) FindDevices

func (u *UHPPOTE) FindDevices() ([]types.Device, error)

func (*UHPPOTE) GetCardByID

func (u *UHPPOTE) GetCardByID(deviceID, cardNumber uint32) (*types.Card, error)

func (*UHPPOTE) GetCardByIndex

func (u *UHPPOTE) GetCardByIndex(deviceID, index uint32) (*types.Card, error)

func (*UHPPOTE) GetCards

func (u *UHPPOTE) GetCards(deviceID uint32) (uint32, error)

func (*UHPPOTE) GetDoorControlState

func (u *UHPPOTE) GetDoorControlState(serialNumber uint32, door byte) (*types.DoorControlState, error)

func (*UHPPOTE) GetEvent

func (u *UHPPOTE) GetEvent(serialNumber, index uint32) (*types.Event, error)

func (*UHPPOTE) GetEventIndex

func (u *UHPPOTE) GetEventIndex(serialNumber uint32) (*types.EventIndex, error)

func (*UHPPOTE) GetListener

func (u *UHPPOTE) GetListener(serialNumber uint32) (*types.Listener, error)

func (*UHPPOTE) GetStatus

func (u *UHPPOTE) GetStatus(serialNumber uint32) (*types.Status, error)

func (*UHPPOTE) GetTime

func (u *UHPPOTE) GetTime(serialNumber uint32) (*types.Time, error)

func (*UHPPOTE) Listen

func (u *UHPPOTE) Listen(listener Listener, q chan os.Signal) error

func (*UHPPOTE) OpenDoor

func (u *UHPPOTE) OpenDoor(serialNumber uint32, door uint8) (*types.Result, error)

func (*UHPPOTE) PutCard

func (u *UHPPOTE) PutCard(deviceID uint32, card types.Card) (bool, error)

func (*UHPPOTE) Send

func (u *UHPPOTE) Send(serialNumber uint32, request interface{}) (messages.Response, error)

func (*UHPPOTE) SetAddress

func (u *UHPPOTE) SetAddress(serialNumber uint32, address, mask, gateway net.IP) (*types.Result, error)

func (*UHPPOTE) SetDoorControlState

func (u *UHPPOTE) SetDoorControlState(serialNumber uint32, door uint8, state uint8, delay uint8) (*types.DoorControlState, error)

func (*UHPPOTE) SetEventIndex

func (u *UHPPOTE) SetEventIndex(serialNumber, index uint32) (*types.EventIndexResult, error)

func (*UHPPOTE) SetListener

func (u *UHPPOTE) SetListener(serialNumber uint32, address net.UDPAddr) (*types.Result, error)

func (*UHPPOTE) SetTime

func (u *UHPPOTE) SetTime(serialNumber uint32, datetime time.Time) (*types.Time, error)

Jump to

Keyboard shortcuts

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