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-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
(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