Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 1.88 KB

README.md

File metadata and controls

70 lines (55 loc) · 1.88 KB

govee

Scans for Govee H5075 devices over bluetooth and pushes the data to an AWS Kinesis stream. Works well on a raspberry pi.

The format of the uploaded data is:

{
  "timestamp": 1594685154057511200, // time since unix epoch in nanoseconds
  "temp": 77.8111,                  // temperature in Fahrenheit
  "humidity": 50.6,                 // relative humidity %
  "battery": 100,                   // battery %
  "name": "GVH5075_XXXX"            // the id associated with the device the measurement is from
}

Heavily borrowed from GoveeBTTempLogger

Building And Running

Install AWS (For raspberry pi you need to build from source)

Install bluez:

sudo apt-get install libbluetooth-dev

Run make from the govee directory and the executable should end up at build/apps/govee

Run:

./build/apps/govee --stream_name=govee-data

Installing as a system service

(These instructions are also in install.sh)

Change the ExecStart line in govee.service to match your AWS kinesis stream name:

ExecStart=/bin/govee --stream_name=YOUR_STREAM_NAME

Copy govee.service to /etc/systemd/system/govee.service:

sudo cp govee.service /etc/systemd/system/govee.service

Restart the systemd daemon to load the service file:

sudo systemctl daemon-reload

Copy the govee executable to /bin/govee:

sudo cp build/apps/govee /bin/govee

Enable the service to automatically start at boot:

sudo systemctl enable govee.service

Or just start/stop the service manually:

sudo systemctl start govee.service
sudo systemctl stop govee.service

Then to view logs:

sudo journalctl -u govee.service