Package: thermotecaeroflowflexismart
thermotec-aeroflow-flexismartPython Library to communicate with the Thermotec AeroFlow® FlexiSmart GatewayDisclaimer:This is completely a private / community project and isNOTrelated to the CompanyThermotec AGin any way!Use this Library / Client on yourown risk. I amNOTresponsible for anydamage, data loss, error or malfunction!Why this ProjectWhen I got my Thermotec AeroFlow® heater, I was quite pleased by the product, but I figured out that theFlexiSmart Gatewaymodule was not quite "smart" (at least not in the way I would think of "smart").Why do I think it's not smart?
There are only 2 ways of communication with the Gateway:The APP for the SmartPhone (Android / iOS)Alexa SkillThere are some nice features already build into the Heater itself. Like automatic window open detection.BUTI have Door / Window sensors at every Door / Window, so I would like to directly control the heater and stop heating as long as the window(s) are open.Or I want to go automatically in the anti freeze mode if I'm not in the area of my house.There are many many many reasons why I want an API / Client / Direct way to communicate with the Gateway / Heater directly from my own network.My Setup is based onHASS (Home Assistant), so I created this library / client project as a dependency for the hassio-integration.FeaturesAll* functions which are available in the APPProgramming is currently not implementedTemperatureRead Current TemperatureRead Target TemperatureSet Target TemperatureWindow Open DetectionRead current StatusEnable / DisableAnti-FreezeRead current valueSet target TemperatureSmart-StartRead current statusEnable / DisableTemperature OffsetRead current valueSet valueHoliday ModeRead Current settingEnable / DisableBoostRead if Boost is activeSet BoostRestartRestart the HeaterRegister HeaterZoneList ZonesWith Heater CountAdd ZoneDelete Zone (delete heaters in zone)Get Heater Firmware informationGateway InformationRead Network settingsDate / TimeReadUpdateRead FirmwareRead Installation InformationRead external Severer endpointsPingCustom implementation to see if the Gateway is availableMost Features are available for the whole Zone or for a specific Heater independentlySpecial features (which are not available in the APP)Control each Heater independently or the whole Zonespecific Heater works even if in a zone with multiple HeatersEnable BoostHow to useYou need the IP address of your GatewayUse the APP (If you have the APP and you are in your local Network)Open the APP -> Click on Configuration / InformationThere you have your IPUse your Router / DHCP Server to find the IPRequire this Repository in your Project and use the Commands defined in the commands classProvide the IP to the function
If your Port is different from the default (6653), you can specify the port next to the ip in the function parameterHow does it work / RestrictionsCommunication via UDPDirect communication in the Local NetworkInternet is not necessaryI personally have blocked the Gateway from accessing the InternetComplete Async approachCommands are build as functions to make it easy to useAPP etc. still worksno side effects of using this project beside the official Appthere might be more "sync" requests in the app, e.g. if you change zonesToDoadd command for Programingadd some more DTOs for some objectsadd limits to some commandsmax temperature, etc.Known issuesFlexiSmart Gateway: Subnet is always 255.255.255.0. It doesNOTrespect the DHCP informationThis is unrelated to this Project, but maybe interesting to knowNoteThis Project is Licenced under the GPL v3. This decision was made to keep this Project and any improvements Open Source.Any Trademark, Name or Product is only referenced, but this project does not hold any of these.AeroFlow® is the Registered Trademark byThermotec AGThermotec AGis the Name of the Company behind the Heater and the GatewayFlexiSmart is the Product Type / Line of the Gateway / Heater