I configured a button (Runlesswire Click) to log diaper changes for my new baby. The diaper changes are logged in a Google Docs spreadsheet. I set up a simple public facing Google Form that I could run unauthenticated curl requests against. I then configured Home Assistant to run that curl command when the button is pressed. Instant diaper logging by the press of a button.
Lessons learned:
- Zigbee Home Assistant (ZHA) does not yet support the Zigbee Green protocol, which the RunlessWire Click uses. I had to pair the switches to my Hue hub instead.
* It looks like they’re getting close to supporting it, though: https://github.com/zigpy/zigpy/pull/1282
Here was my process:
- Create Google Form
- Obtain form ID from URL bar
- Get pre-filled link to get names of fields by clicking the three dots on top right and clicking “Get pre-filled link”. Make note of the names for each entry e.g.
entry.1363419348
Thanks to help from: https://stackoverflow.com/questions/65142364/i-cant-find-name-attribute-while-inspecting-input-elements-of-google-form-ho - Curl command is:
curl https://docs.google.com/forms/<FORM_URL>/formResponse -d ifq -d <ENTRY_NAME>=<ENTITY_VALUE> -d <ADDITIONAL_ENTRY_NAME>=<ADDITIONAL_ENTRY_VALUE> -d submit=Submit
Thanks to help from: https://eureka.ykyuen.info/2014/07/30/submit-google-forms-by-curl-command/ - Shell commands go into configuration.yaml
shell_command:
Thanks to help from: https://community.home-assistant.io/t/dont-understand-how-to-use-shell-commands/576580/9
log_pee: <CURL_COMMAND>
log_poo: <CURL_COMMAND> - Restart Home Assistant to pick up your configuration changes.
- Configure the automation to call Service: shell_command
Success!