Logging events with Ikea Strybar using Logbook:Log service call and display result in dashboard

Trying to replace a paper log for our dog (we track elimination and walks so that we know when she was out last, if she’s been walked, etc.) with an automation based on the Ikea Styrbar 4-button remote.

I’ve got the remote wired up, and as a test, I set up the blueprint to call the Logger:Log service to add a custom entry to the log.

The part I’m missing is getting the information displayed in the dashboard.

I can use the Logbook card to view the automation activity, but that’s not very readable. There doesn’t seem to be a way in the Logbook card to tell it to display the custom log events written by the automation.

I can see those entries if I go to the main Logbook in the navigation menu, but the Logbook card relies on entities, so I can show the result of the automation, but not the custom event entries themselves.

Any ideas of the best way to approach this? Am I overcomplicating things?

Found this thread:

which led me to the custom logbook-card project, which allowed me to just use a text input helper as the entity to track.

So my working solution is:

  1. Pair the Styrbar remote (requires resetting the remote and some patience)

  2. Use the Blueprint from EPMatt to handle the button events (you will need to add a text helper to track the state…it’s in the instructions, but easy to miss that step)

  3. Create another text input helper for the state you want to show in the dashboard

  4. For each event, first use Call Service to set the text of the second input helper to the desired message, then use Call Service again to set to a neutral value (I’m using ‘null’). This second part is needed because the text input helper value only gets logged when it changes.

  5. Install the custom logbook-card, either via HACS or by manually installing and registering the JS file as a resource.

  6. Add the custom logbook card using the instructions on Github. There are several example configurations so it’s pretty easy to get it the way you want. Note that I used the hidden_state parameter to hide the ‘null’ values, so those do not show up in the list. A bit hacky, but it does what I want.