Ich glaube zwar nicht, dass hier jemand zufällig eine min. 10 Jahre alte Honeywell Smile Connect geregelte Heizung hat und sich schon mal gefragt hat, wie man die sinnvoll in Home Assistant integriert. Ich habe daran gearbeitet.
Das Ganze ist eigentlich ein Projekt, das ich vor ein paar Jahren angefangen hatte. Damals bin ich mit Man-in-the-Middle Monitoring eingestiegen und habe wenigstens die API-Endpoints identifizieren können, da eine iOS-App lesbar die GET und POST-requests sendet. (Die App geht übrigens auch noch unter iOS 27!) Die App ist auch x Jahre alt. Wenn die die mal einstellen, setze ich mich mit dem Wissen um die API, was ich nun habe selber an X-Code...
Ich wollte das damals in NodeRED implementieren, weil das mein Smarthome damals einschließlich HomeKit Integration gesteuert hat. Das war mühsam, unzuverlässig und ich habe es irgendwann aufgegeben, dass die API-Requests zwar lesbar sind, jedoch mit einer Signatur aus einer Token-Challenge signiert waren. So schlecht war die Security dieses "alten" Gateways schon mal nicht. Gut, dass auf Github tatsächlich einem PoCs mittels Ruby dokumentiert war, die zeigen, dass andere Leute das schon geschafft hatten. Allerdings ist mein Regler und dessen Gateway eine OEM Version von einer anderen Lösung, die so ähnlich funktioniert. Dafür gibt es auch ein drei Jahre alte Lösung für Home-Assistant. Also genug Referenz-Material...
Passend zum Beginn der Heizsaison hat mich das wieder gepackt. Also bin ich das ganze API-Request-Signing-Chaos nochmal angegangen. Diesmal mit Claude Code. Das hat alles verändert. Alleine hätte ich weiter im Dunkeln gestochert. Mit Claude konnte ich die Crypto-Logik für die API-Request-Signierung dekodieren, Edge Cases reparieren und es endlich hinbekommen.
Beta-Version, läuft stabil bei mir:
Repo: https://github.com/djiwondee/honeywell-smileconnect-ha