Those tracebacks are telling you what’s wrong, your result from the script is None, not a dictionary. So you have to check the script itself. You’re focusing on the binary_sensor entity, when the problem is the script.
In the UI, go to the script and view the traces, it will show you what the result was. In the 3 dot menu on the trace itself, down load the trace and post the JSON here.
I’m not sure what to tell you, you seem eager for an argument. Historically that has never worked, it’s possible a PR went through and updated the functionality recently.
I had never seen/used the traces in the script menu. All my previous scripts needed no debugging. But I found them after your comment, and also found my issue:
One of the script invocations (One per Openwrt host) failed, because the OpenWrt host had been reinstalled (by accident) without LLDP.
As a result, all of the attributes for ALL the binary_sensors got stuck on empty/broken.
Because all sensors were broken, I falsely assumed, that already the first invocation of the script was failing, and concentrated my debugging on the first hostname in the list… which worked fine, and gave the correct result in DevTools
Thank you for your patience and help in tracking this down!
It’s not a weird thing to say, it’s like you’re trying to start an argument. Regardless if I’m right or not, the conversation is over. There’s no reason to rekindle anything like this. Don’t do it again, thanks.
My guy, I literally don’t care. What I don’t want is people coming in and starting a conversation like this, I didn’t even want to have it in the first place. I’m trying to help someone else, not talk about what’s right or wrong about variables. You understand now?
Pointing out someone is wrong, the way you did, is toxic. I’m telling you to stop now. I don’t care if I am or was wrong. That’s great. Move on.