Documentation
¶
Index ¶
- type ExampleHook
- func (h *ExampleHook) ID() string
- func (h *ExampleHook) Init(config any) error
- func (h *ExampleHook) OnConnect(cl *mqtt.Client, pk packets.Packet) error
- func (h *ExampleHook) OnDisconnect(cl *mqtt.Client, err error, expire bool)
- func (h *ExampleHook) OnPublish(cl *mqtt.Client, pk packets.Packet) (packets.Packet, error)
- func (h *ExampleHook) OnPublished(cl *mqtt.Client, pk packets.Packet)
- func (h *ExampleHook) OnSubscribed(cl *mqtt.Client, pk packets.Packet, reasonCodes []byte)
- func (h *ExampleHook) OnUnsubscribed(cl *mqtt.Client, pk packets.Packet)
- func (h *ExampleHook) Provides(b byte) bool
- type ExampleHookOptions
- type InstanceConfig
- type ModbusFactory
- type ModbusInstance
- func (m *ModbusInstance) Close() error
- func (m *ModbusInstance) Get() any
- func (m *ModbusInstance) ID() string
- func (m *ModbusInstance) Init(parent context.Context, env *pluginapi.HostEnv) error
- func (m *ModbusInstance) Type() string
- func (m *ModbusInstance) UpdateConfig(raw pluginapi.InstanceConfig) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExampleHook ¶
func (*ExampleHook) ID ¶
func (h *ExampleHook) ID() string
func (*ExampleHook) Init ¶
func (h *ExampleHook) Init(config any) error
func (*ExampleHook) OnDisconnect ¶
func (h *ExampleHook) OnDisconnect(cl *mqtt.Client, err error, expire bool)
func (*ExampleHook) OnPublished ¶
func (h *ExampleHook) OnPublished(cl *mqtt.Client, pk packets.Packet)
func (*ExampleHook) OnSubscribed ¶
func (*ExampleHook) OnUnsubscribed ¶
func (h *ExampleHook) OnUnsubscribed(cl *mqtt.Client, pk packets.Packet)
func (*ExampleHook) Provides ¶
func (h *ExampleHook) Provides(b byte) bool
type ExampleHookOptions ¶
Options contains configuration settings for the hook.
type InstanceConfig ¶
type InstanceConfig struct {
IsSerial bool
Timeout time.Duration // Timeout 是单次请求超时(例如 "1s") Timeout is per-request timeout (e.g. "1s").
Channel models.Channel
Serial models.Serial
URL string `mapstructure:"url"`
// UnitID 是从站地址(0~247),为 0 时使用库默认值(一般是 1)
// UnitID is the slave/unit ID (0~247). 0 means "leave library default" (often 1).
UnitID uint8 `mapstructure:"unit_id"`
// StartAddr 是起始寄存器地址
// StartAddr is the starting register address.
StartAddr uint16 `mapstructure:"start_addr"`
// Quantity 是读取的寄存器数量
// Quantity is the number of registers to read.
Quantity uint16 `mapstructure:"quantity"`
// RegType 寄存器类型:
// - "holding" => modbus.HOLDING_REGISTER
// - "input" => modbus.INPUT_REGISTER
//
// RegType indicates which register type to read:
// - "holding" => modbus.HOLDING_REGISTER
// - "input" => modbus.INPUT_REGISTER
RegType string `mapstructure:"reg_type"`
}
ModbusConfig:单个 modbus 实例的配置 ModbusConfig: configuration for a single modbus instance.
type ModbusFactory ¶
type ModbusFactory struct{}
ModbusFactory:实现 Factory 接口 ModbusFactory: implements pluginapi.Factory.
func (*ModbusFactory) New ¶
func (f *ModbusFactory) New(id string, raw pluginapi.InstanceConfig) (pluginapi.Instance, error)
New:根据配置创建实例(真正启动在 Init 中完成) New: create an instance from config (real start happens in Init).
func (*ModbusFactory) Type ¶
func (f *ModbusFactory) Type() string
type ModbusInstance ¶
type ModbusInstance struct {
Status models.InstanceStatus
// contains filtered or unexported fields
}
ModbusInstance:具体插件实例,实现 pluginapi.Instance ModbusInstance: concrete plugin instance implementing pluginapi.Instance.
func (*ModbusInstance) Close ¶
func (m *ModbusInstance) Close() error
Close:停止轮询、关闭 client Close: stop poller and close client.
func (*ModbusInstance) Get ¶
func (m *ModbusInstance) Get() any
func (*ModbusInstance) ID ¶
func (m *ModbusInstance) ID() string
func (*ModbusInstance) Init ¶
Init:用 parent ctx + HostEnv 初始化实例并启动轮询协程 Init: initialize instance with parent ctx + HostEnv and start poller goroutine.
func (*ModbusInstance) Type ¶
func (m *ModbusInstance) Type() string
func (*ModbusInstance) UpdateConfig ¶
func (m *ModbusInstance) UpdateConfig(raw pluginapi.InstanceConfig) error
UpdateConfig:支持运行时配置更新(包括 URL、端口等),必要时重启 Modbus 客户端 UpdateConfig: support runtime config updates (including URL/port), restarting client if needed.