kdudkov / go-aqaramqtt

Xiaomi Aqara client for Go plus MQTT bridge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Xiaomi Aqara MQTT

I've been using a custom Xiaomi Aqara MQTT bridge for a while, but it loads my Raspberry Pi Model B a lot as it was written in Python.

This project includes

Building

This project use Bazel to build, although go build would probably works fine if you have the dependencies installed.

To build and run:

bazel run :go-aqaramqtt

Bazel will download and install all dependencies, including the Go compiler!

For cross compiling to Raspberry Pi:

bazel build :rpi

The output binary will be in bazel-bin/linux_arm_pure_stripped/rpi

To update dependencies using bazel-gazelle. This should be run when you've created new files or import an external module.

bazel run :gazelle

To add external dependencies:

bazel run :gazelle -- update-repos github.com/example/module

Command line options

Option Required Description
--help Read help
--ip Xiaomi Gateway IP address
--sid Xiaomi Gateway SID
--key Y Xiaomi Gateway encryption key (Tutorial). Use environment variable AQARA_KEY instead.
--iface Y Network adapter to use for Xiaomi communication (eg. eth0)
--mqtt-server Y Protocol and address of MQTT server (eg. tcp://192.168.1.1:1883. Supported scheme: tcp, ssl, ws)
--username MQTT username. Use environment variable MQTT_USERNAME instead.
--password MQTT password. Use environment variable MQTT_PASSWORD instead.
--prefix MQTT prefix. Default to "xiaomi"

License

Licensed under the MIT license

About

Xiaomi Aqara client for Go plus MQTT bridge

License:MIT License


Languages

Language:Go 86.8%Language:Python 13.0%Language:Dockerfile 0.3%