From a17423d470fdfbbcf3fa7853bdc06a712d94e450 Mon Sep 17 00:00:00 2001 From: Jean-Marc Collin Date: Fri, 14 Apr 2023 08:24:01 +0200 Subject: [PATCH] FIX #73, #72. thanks to Salabur --- README-fr.md | 7 ++++++- README.md | 6 +++++- .../versatile_thermostat/open_window_algorithm.py | 4 ++-- custom_components/versatile_thermostat/underlyings.py | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README-fr.md b/README-fr.md index c7d11f4d..81e19d5d 100644 --- a/README-fr.md +++ b/README-fr.md @@ -6,8 +6,9 @@ ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/icon.png?raw=true) -> ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/tips.png?raw=true?raw=true) Cette intégration de thermostat vise à simplifier considérablement vos automatisations autour de la gestion du chauffage. Parce que tous les événements autour du chauffage classiques sont gérés nativement par le thermostat (personne à la maison ?, activité détectée dans une pièce ?, fenêtre ouverte ?, délestage de courant ?), vous n'avez pas à vous encombrer de scripts et d'automatismes compliqués pour gérer vos climats. ;-). +> ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/tips.png?raw=true) Cette intégration de thermostat vise à simplifier considérablement vos automatisations autour de la gestion du chauffage. Parce que tous les événements autour du chauffage classiques sont gérés nativement par le thermostat (personne à la maison ?, activité détectée dans une pièce ?, fenêtre ouverte ?, délestage de courant ?), vous n'avez pas à vous encombrer de scripts et d'automatismes compliqués pour gérer vos climats. ;-). +- [Merci pour la bière buymecoffee: https://www.buymeacoffee.com/jmcollin78](#merci-pour-la-bière-buymecoffee-httpswwwbuymeacoffeecomjmcollin78) - [Quand l'utiliser et ne pas l'utiliser](#quand-lutiliser-et-ne-pas-lutiliser) - [Pourquoi une nouvelle implémentation du thermostat ?](#pourquoi-une-nouvelle-implémentation-du-thermostat-) - [Comment installer cet incroyable Thermostat Versatile ?](#comment-installer-cet-incroyable-thermostat-versatile-) @@ -60,6 +61,10 @@ Ce composant personnalisé pour Home Assistant est une mise à niveau et est une > * **release 2.2** : ajout de fonction de sécurité permettant de ne pas laisser éternellement en chauffe un radiateur en cas de panne du thermomètre > * **release majeure 2.0** : ajout du thermostat "over climate" permettant de transformer n'importe quel thermostat en Versatile Thermostat et lui ajouter toutes les fonctions de ce dernier. +# Merci pour la bière [buymecoffee]: https://www.buymeacoffee.com/jmcollin78 +Un grand merci à @salabur pour la bière. Ca fait très plaisir. + + # Quand l'utiliser et ne pas l'utiliser Ce thermostat peut piloter 2 types d'équipement: 1. un radiateur qui ne fonctionne qu'en mode marche/arrêt (nommé ```thermostat_over_switch```). La configuration minimale nécessaire pour utiliser ce type thermostat est : diff --git a/README.md b/README.md index 9cece77a..803b0bb8 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,9 @@ ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/icon.png?raw=true) -> ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/tips.png?raw=true?raw=true) This thermostat integration aims to drastically simplify your automations around climate management. Because all classical events in climate are natively handled by the thermostat (nobody at home ?, activity detected in a room ?, window open ?, power shedding ?), you don't have to build over complicated scripts and automations to manage your climates ;-). +> ![Tip](https://github.com/jmcollin78/versatile_thermostat/blob/main/images/tips.png?raw=true) This thermostat integration aims to drastically simplify your automations around climate management. Because all classical events in climate are natively handled by the thermostat (nobody at home ?, activity detected in a room ?, window open ?, power shedding ?), you don't have to build over complicated scripts and automations to manage your climates ;-). +- [Thanks for the beer](#thanks-for-the-beer) - [When to use / not use](#when-to-use--not-use) - [Why another thermostat implementation ?](#why-another-thermostat-implementation-) - [How to install this incredible Versatile Thermostat ?](#how-to-install-this-incredible-versatile-thermostat-) @@ -59,6 +60,9 @@ This custom component for Home Assistant is an upgrade and is a complete rewrite > * **release 2.2**: addition of a safety function allowing a radiator not to be left heating forever in the event of a thermometer failure > * **major release 2.0**: addition of the "over climate" thermostat allowing you to transform any thermostat into a Versatile Thermostat and add all the functions of the latter. +# Thanks for the beer [buymecoffee]: https://www.buymeacoffee.com/jmcollin78 +Many thanks to @salabur for the beer. It's very pleasing. (Vielen Dank an @salabur für das Bier. Es ist sehr erfreulich.) + # When to use / not use This thermostat can control 2 types of equipment: 1. a heater that only works in on/off mode (named ```thermostat_over_switch```). The minimum configuration required to use this type of thermostat is: diff --git a/custom_components/versatile_thermostat/open_window_algorithm.py b/custom_components/versatile_thermostat/open_window_algorithm.py index f482ae68..27bc6355 100644 --- a/custom_components/versatile_thermostat/open_window_algorithm.py +++ b/custom_components/versatile_thermostat/open_window_algorithm.py @@ -54,7 +54,7 @@ def add_temp_measurement( delta_t_sec = float((datetime_measure - self._last_datetime).total_seconds()) delta_t = delta_t_sec / 60.0 if delta_t_sec <= MIN_DELTA_T_SEC: - _LOGGER.warning( + _LOGGER.debug( "Delta t is %d < %d which should be not possible. We don't consider this value", delta_t_sec, MIN_DELTA_T_SEC, @@ -64,7 +64,7 @@ def add_temp_measurement( delta_temp = float(temperature - self._last_temperature) new_slope = delta_temp / delta_t if new_slope > MAX_SLOPE_VALUE or new_slope < -MAX_SLOPE_VALUE: - _LOGGER.warning( + _LOGGER.debug( "New_slope is abs(%.2f) > %.2f which should be not possible. We don't consider this value", new_slope, MAX_SLOPE_VALUE, diff --git a/custom_components/versatile_thermostat/underlyings.py b/custom_components/versatile_thermostat/underlyings.py index 210a9eb4..5fbe48fc 100644 --- a/custom_components/versatile_thermostat/underlyings.py +++ b/custom_components/versatile_thermostat/underlyings.py @@ -178,6 +178,7 @@ async def set_hvac_mode(self, hvac_mode: HVACMode) -> bool: if hvac_mode == HVACMode.OFF: if self.is_device_active: await self.turn_off() + await self._cancel_cycle() return True @property