danielperna84 / hahomematic

Python 3 Interface for Home Assistant to interact with HomeMatic devices
MIT License
132 stars 21 forks source link

Heizungsstatus und Heizstatus #545

Closed emufan closed 2 years ago

emufan commented 2 years ago

DONT'T DELETE THIS.

Language: german

custom_component/hahomematic version (if applicable): 1.12.0

Home Assistant version (if applicable): 2022.7.5

CCU version:

Problem-relevant configuration:

Do you use tls? no Do you use callback? no Do you use username and password? yes Which interfaces do you use (hmip/bidcos/wired)? hmip, bidcos, groups

Describe the bug Zwei Themen:

1. Heizungsstatus

Ich weiß, HM hat kein wirkliches Heizungs-Aus, sondern setzt die Temperatur auf ein CCU-Minimum von 5 Grad.

Dennoch zweigt die Core-Integration dann schlüssiger Weise "aus" an image

Diese ansonsten natürlich viel bessere 😉 Integration aber heat image

Oder

image

vs

image

Aber irgendwie bin ich mir fast sicher, dass das hier auch noch nicht immer so war, bzw. eigentlich wäre mir das aufgefallen.

Und hierbei ist es egal ob es eine Heizungsgruppe oder ein HmIP-eTRV-C-2 oder ein HmIP-WTH-2 oder ein HmIP-BWTH. Alle zeigen in Core bei virtuellem-5 Grad-Aus, d.h. wenn ich in WebUI auf Aus-Klicke oder in HA auf Aktion "Aus" Aus an. Diese Integration aber immer 5 Grade heat

2. Heizstatus

Auch hier bin ich mir sicher, dass das schon anders war. Sieht man auch gut u.A. in der Diskussion her: https://github.com/danielperna84/hahomematic/discussions/314

Und zwar wird nun (sicher durch 1 auch immer heat als Chart-Status geplottet. Und nicht nur wenn Level>0 oder State ch9=on.

image

Im Beispiel ist die Heizung "Aus" und State ch9=off. Ist aber auch bei den anderen Geräte, wenn "Aus" und Level=0.

Expected behavior

zu 1. Status "Aus", wenn "Aus"

zu 2. orange nur, wenn Ch9=on oder Level>0 (oder welcher Schwellenwert auch immer).

Baxxy13 commented 2 years ago

Zu 1: Hast du da auch richtig recherchiert? Bei AUS haben die Thermostate (HM/HmIP) einen Sollwert von 4,5°C. Das geht aber nur wenn in den jeweiligen Geräteeinstellungen die "Minimale Temperatur" auf "Aus" gesetzt ist. Sieht dann bei HM (links) und IP (rechts) in HA so aus: HA_STHD_TC-IT_AUS

Mit 2. habe ich mich noch nicht beschäftig.

SukramJ commented 2 years ago
  1. Die Aus Temperatur bei HM ist 4,5 Grad. Kann es sein das deine minimal Temperatur in der CCU auf 5 Grad steht?
SukramJ commented 2 years ago

Zu 2 Die Integration malt keine Diagramme, sondern setzt nur Properties. Das von dir beschriebene Verhalten steuert das Property hvac_action. Hier wäre also wichtig zu wissen was in hvac_action steht. Was dann wie gemalt wird weiss ich leider nicht.

emufan commented 2 years ago

zu 1. Ja, bei mir ist Min 5 Grad. Aber schon ewig. Grund ist, weil in der Integration bei einigen Thermostaten andauernd zwischen 4,5 und 5 Grad umgeschaltet wurde, warum auch immer. Mit fix 5 Grad war damit Schluss. Und s.o. Die Core-Integration zeigt ja auch Aus an.

Update: Ja, mit Min=AUS zeigt auch diese Integration aus an. Das auch bei glatt 5 in Core Aus angezeigt wurde und das auch so funktioniert gefiel mir persönlich besser. Sicher Geschmackssache, wobei ich nicht ganz verstehe, warum das dort dann ging.

zu 2. Ich habe ja nicht geschrieben, dass die Integration das Diagramm malt. Ich habe geschrieben, dass der Parameter früher von der Integration anders gesetzt wurde als es aktuell der Fall ist. Bzw. Aktuell finde ich in keinem der HMIP Geräte überhaupt den Parameter. Oder gucke ich an der falschen Stelle? Screenshot siehe oben.

Update: Bei 4,5=aus wird nun auch hvac_action=off angezeigt. Bei auto und heat aber gar nicht (mehr).

SukramJ commented 2 years ago

zu 2 hvac_action wird in den Entwicklertools angezeigt, Der Parameter wurde früher nicht gesetzt bzw. den gab es noch nicht. Der Parameter wird aktuell nur gesetzt, wenn STATE oder LEVEL ungleich None sind. Gibt es in der CCU Fehler bei dem Gerät?

emufan commented 2 years ago

Ich versteh Dich nicht. Der Screenshot oben (und Du willst ja Screenshots) ist doch aus den Entwicklertools. Nein, es gibt keine Fehler im Gerät.

Aber anscheinend hängt das alles zusammen. Mit Min=5 setzt aus in dieser Integration auf heat und wenn heat, dann ist egal ob hvac_action da ist, es wird immer als hvac_action=heating interpretiert und eingezeichnet. Passt im Grunde genommen ja auch. Finde ich aber dennoch irgendwie unlogisch, da ja level=0, bzw. state=off.

Der Parameter wird aktuell nur gesetzt, wenn STATE oder LEVEL ungleich None sind.

Nein, er ist auch da, wenn STATE=off oder LEVEL=0, aber climate.entity = off. Ist aber egal, schadet sicher nichts. Frage ist, ob man zur Konsistent so nicht immer setzen sollte, d.h. statt nicht setzen mit off setzen, wie im genannten Fall jetzt schon?

SukramJ commented 2 years ago

Der Parameter wird aktuell nur gesetzt, wenn STATE oder LEVEL ungleich None sind.

Ja habe mich verschrieben. Wenn Du es genau wissen willst:

        if self._e_state.value is None and self._e_level.value is None:
            return None
        if self.hvac_mode == HmHvacMode.OFF:
            return HmHvacAction.OFF
        if self._is_heating_mode is not None and (
            self._e_state.value is True
            or (self._e_level.value and self._e_level.value > 0.0)
        ):
            return HmHvacAction.HEAT if self._is_heating_mode else HmHvacAction.COOL
        return HmHvacAction.IDLE

Also, gibt es einen Fehler in der Integration?

SukramJ commented 2 years ago

HVACAction.IDLE wurde bisher nicht angezeigt. Das hab ich korrigiert.

emufan commented 2 years ago

HVACAction.IDLE wurde bisher nicht angezeigt. Das hab ich korrigiert.

Gucke ich mir an, wenn es in einem Release ankommt.

Also, gibt es einen Fehler in der Integration?

Bzgl. 1. weiß ich nicht. wahrscheinlich nicht, da Ursache 4,5 Grad vs. 5 Grad gefunden. Fand es in Core aber gefühlt besser, wenn es auch dort mit "glatter" Zahl geklappt hat. Aber egal.

Bzgl. 2. muss ich drüber nachdenken und mit anderen Climates vergleichen. Mache ich, wenn das HVACAction.IDLE angezeigt wird, bzw. ich dann weiß wo und wann. Werde testen und Feedback geben. Bis dahin mache ich hier zu.

SukramJ commented 2 years ago

1.12.1 wurde released.

emufan commented 2 years ago

Feedback: Gefällt mir. Funktioniert. Auch im Status heat wird nun hvac_action hübsch nach STATE/LEVEL-Status gesetzt, d.h. idle oder heating. Danke vielmals.