I can't see an obvious way of disconnecting IO from the car, short of changing the Tesla password which would in theory invalidate all of the API keys previously created.
I can't have another situation like this morning where IO spazzed out in the wee hours to the point where my charger stopped working. In an ideal world I would just want to use the 23:30 - 05:30 block in one continuous charge, it's more than I would ever need for my usage. I know that's not the spirit of IO though (or actually against the T&Cs) so I'm playing ball with it and letting it tell me car what to do... for the moment.
Easiest way is going onto your Octopus Account & Settings in the app > Devices > Intelligent Octopus > disable Smart Charging at the bottom.
Basically the charging is a black box based on how stressed / green / cheap is the electricity.
Octopus (in a perfect world) aims to get you at the target you set in the app by the time to set in the app, based on the car variant (battery size) & charger speed you selected when you set up the app initially.
But the car will always get priority so if you have a lower target on the car than in IO and you will see a lot of attempted starts by IO that the car will immediately stop if it has reached the limit SoC you selected.
So let’s say your car is a M3P (78kWh), current SoC at 40%, home charger at 7.4kWh and you plug in at 8pm the night before.
If you have a 100% target in the app by 8am, Octopus knows you need (78x0.6)=47kWh , so 6hours20mins of charge that night, within this 12h window.
So yes it could start and stop roughly on and off every half hour if it was deemed better for the grid depending on the live parameters at the time.
However if by the target time you haven’t reached the required target something might be off (restricted charging amps), or IO bug that you should escalate with them.