A local and native Flexit BACnet integration is available in HA now (docs). For now it only has a climate-entity, but hopefully it will improve with more features over time. I probably won't spend a lot of time on this integrations as a local integrations would be much better. I has some issues setting up the Flexit BACnet-integration with this custom_integration installed, I will probably look at that soon.
This integration uses an undocumented API, use at your own risk. This integration uses the same domain name as the official Flexit-integration, so in its current state you can't use both at the same time.
Tested with:
The integration only polls every 30 min by default. When durations and delays are set, the integration and the app might become out of sync. Not sure how to avoid this without polling a lot more.
For instance, if you set a duration_fireplace to 5 minutes and change the mode to Fireplace, then HA will think the state is Fireplace until the next poll, when in reality it changed back after 5 minutes.
This also goes for away_delay. If this is set, the integration switches to Away right away, but it only activates after the delay has passed.
Service status can be found here
API is restricted to 50 calls/min or 500 calls/week. The integration calls the API at least twice per action, depending on the endpoint. Defaults to polling every 30 minutes, this can be configured but be aware of API restrictions.
If something is not working properly, logs might help with debugging. To turn on debug-logging add this to your configuration.yaml
logger:
default: info
logs:
custom_components.flexit: debug
PS: This will log various details, including all HTTP-requests for the Flexit-integration to your home-assistant.log. This includes your username and password in cleartext in your Token-requests.
Have started work on diagnostics. This will be expanded on in the future as it is more clear what is needed to include to resolve issues. To download diagnostics, go into your device and press DOWNLOAD DIAGNOSTICS. This downloads a txt-file you can post in you issue. All sensitive data should be redacted here, so no need to worry, but you can inspect it if you want.