From 2763495d6707d5bd1c62f704fedef7a08f57f05b Mon Sep 17 00:00:00 2001 From: Markus Thierolf <77847348+thierolm@users.noreply.github.com> Date: Mon, 13 Mar 2023 08:42:01 +0100 Subject: [PATCH] Homematic: add initialise methods (#6813) --- meter/homematic/connection.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meter/homematic/connection.go b/meter/homematic/connection.go index fddd4f330..31775e255 100644 --- a/meter/homematic/connection.go +++ b/meter/homematic/connection.go @@ -51,6 +51,10 @@ func NewConnection(uri, device, meterchannel, switchchannel, user, password stri conn.Client.Transport = transport.BasicAuth(user, password, conn.Client.Transport) } + if err := conn.Init(); err != nil { + return conn, err + } + return conn, nil } @@ -97,6 +101,12 @@ func (c *Connection) XmlCmd(method, channel string, values ...Param) (MethodResp return hmr, err } +// Initialze CCU methods via system.listMethods call +func (c *Connection) Init() error { + _, err := c.XmlCmd("system.listMethods", c.SwitchChannel) + return err +} + // Enabled reads the homematic HMIP-PSM switchchannel state true=on/false=off func (c *Connection) Enabled() (bool, error) { res, err := c.XmlCmd("getValue", c.SwitchChannel, Param{CCUString: "STATE"})