OctoPrint integration stopped working after 2021.11

As the title says, OctoPrint’s integration has been working fine for me for a little over a year now, but after installing 2021.11 it just broke completely. The integration is still there and reports 1 device and 12 entities. Clicking the device, I see that most of those entities are just not working anymore:

Lovelace obviously reports an error trying to use one of those unavailable entities.

This is what’s in my configuration.yaml:

octoprint:
  - host: octopi-cr-x
    api_key: !secret octoprint_api_key
    name: Creality CR-X
    bed: true
    number_of_tools: 1

…and that host is obviously reachable:

pi@jarvis: $ ping octopi-cr-x
PING octopi-cr-x (192.168.1.129) 56(84) bytes of data.
64 bytes from octopi-cr-x (192.168.1.129): icmp_seq=1 ttl=64 time=40.7 ms

The API key is also correct and the server is running 24/7, though obviously the printer itself is only on when I’m using it.

What happened here and how do I fix it?

Did you read the release notes about the breaking changes?
Maybe that is the cause.

I did read those, but they stated:

Your existing YAML configuration is automatically imported on upgrade to this release; and thus can be safely removed from your YAML configuration after upgrading.

I just removed the YAML config and as expected the setup is still there, but I did notice something else: it didn’t have the same name as before. So apparently the upgrade script decided that using the same name was unnecessary so all my entities were now named differently than what my Lovelace config was expecting.

I’ve changed the name of the device and propagated that to the entities so hopefully now things work better, though I still don’t think everything is fixed, because it’s still showing like this:

OctoPrint is running, “printing” should be “off,” not unavailable. At the very least it always used to be before 2021.11.

Also, the bed and tool temperature sensors at the bottom there all show this:

I’ve got the feeling that whatever conversion script was used just completely shat itself and now I’ll have to set everything up from scratch manually…

Change the name of your entites to sensor.octoprint_actual_bed_temp

Replace “creality_cr_x” with octoprint, or look in your developer tools if the entites were not auto-created during update/migration. The entites should be also visible in your “Integrations” Section under “Octoprint”

octoprint

In the worst case you just need to change the Lovelace Config or entity naming.

For me all is working, except the actual bed and tool temp…