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
Install AWS (For raspberry pi you need to build from source)
Install bluez:
sudo apt-get install libbluetooth-devRun make from the govee directory and the executable should end up at build/apps/govee
Run:
./build/apps/govee --stream_name=govee-data(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.serviceRestart the systemd daemon to load the service file:
sudo systemctl daemon-reloadCopy the govee executable to /bin/govee:
sudo cp build/apps/govee /bin/goveeEnable the service to automatically start at boot:
sudo systemctl enable govee.serviceOr just start/stop the service manually:
sudo systemctl start govee.service
sudo systemctl stop govee.serviceThen to view logs:
sudo journalctl -u govee.service