diff options
| author | xengineering <me@xengineering.eu> | 2026-03-22 09:54:32 +0100 |
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2026-03-22 10:23:46 +0100 |
| commit | f752ba8296fa95f2e76977e4c5031af0ddecd501 (patch) | |
| tree | e14e96d0c1db14fcef7e815196057f9abdee36f8 /tools | |
| parent | f9f2ed8911f867b97369129ae87cf21873172335 (diff) | |
| download | sia-server-f752ba8296fa95f2e76977e4c5031af0ddecd501.tar sia-server-f752ba8296fa95f2e76977e4c5031af0ddecd501.tar.zst sia-server-f752ba8296fa95f2e76977e4c5031af0ddecd501.zip | |
tools: websocket: Implement Sys.GenConfig
This is the first working command for the Shelly 2PM Gen3.
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/websocket.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/websocket.go b/tools/websocket.go index ea2ea86..c882ce2 100644 --- a/tools/websocket.go +++ b/tools/websocket.go @@ -33,6 +33,19 @@ func main() { } defer c.Close() + go func() { + for { + _, message, err := c.ReadMessage() + if err != nil { + log.Println("read:", err) + return + } + log.Printf("recv: %s", message) + } + }() + + getConfig(c) + Await(syscall.SIGTERM, syscall.SIGINT) } @@ -57,3 +70,21 @@ func Await(signals ...os.Signal) { sig := <-listener log.Printf("Received OS signal '%v'\n", sig) } + +func getConfig(c *websocket.Conn) { + request := ` +{ + "jsonrpc":"2.0", + "id": 1, + "src":"user_1", + "method":"Sys.GetConfig", + "params": { + "id":2 + } +} +` + err := c.WriteMessage(websocket.TextMessage, []byte(request)) + if err != nil { + log.Fatal(err) + } +} |
