Entfeuchter steuern

Guten tag
Ich habe Homeassistant und komme leider nicht weiter bei einer Automation um einen Entfeuchter zu steuern.

Die automation soll folgendermaßen funktionieren:

  • Wenn im Raum xy die Zeit ausserhalb der
    Nachtruhe liegt soll der Entfeuchter immer
    angehen sobald die Luftfeuchtigkeit über
    50% steigt.
  • Wenn im Raum xy die Luftfeuchtigkeit
    unter 50% fällt soll der Entfeuchter immer
    ausgehen.
  • Wenn die Uhrzeit 23.00 ereicht hat und
    der Entfeuchter immer noch an ist soll er
    automatisch ausgehen auch wenn die
    Luftfeuchtigkeit noch nicht unter 50% ist.
    (Nacht ruhe 23.00Uhr - 10.00 Uhr)

Vorhandene Sensoren:

  • Shelly H&T G3

Vorhandene Smartplugs:

  • MyStrom Wifi Switch Zero

könnt ihr mir helfen diese Automation zu realisieren?

Danke schon im voraus

Freundliche grüsse P.Alder aus der Schweiz

1 „Gefällt mir“

Ich würde drei Trigger anlegen, mit IDs versehen und dann die entsprechenden IDs ansprechen um die Aktionen auszulösen.

Solltest du so verwenden können, einfach noch deine ID für den Luftentfeuchter bzw. deine Steckdose eintragen. Wenn du den Code kopierst, kannst du ihn über die drei punkte oben rechts, yaml editor in einer neuen Automatisierung einfügen. Danach kannst du wieder auf visueller editor gehen und deine IDs eintragen.

alias: Entfeuchter Steuerung mit Trigger IDs
triggers:
  - entity_id: sensor.luftfeuchtigkeit_xy
    above: 50
    id: feuchtigkeit_hoch
    trigger: numeric_state
  - entity_id: sensor.luftfeuchtigkeit_xy
    below: 50
    id: feuchtigkeit_niedrig
    trigger: numeric_state
  - at: "23:00:00"
    id: nachtruhe_start
    trigger: time
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: feuchtigkeit_hoch
          - condition: time
            after: "10:00:00"
            before: "23:00:00"
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_on
            data: {}
      - conditions:
          - condition: trigger
            id: feuchtigkeit_niedrig
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_off
            data: {}
      - conditions:
          - condition: trigger
            id: nachtruhe_start
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_off
            data: {}

2 „Gefällt mir“

feuchtigkeit_niedrig und nachtruhe_start könnte man in eine ID zusammen fassen bzw. reicht eigentlich nur eine ID

description: ""
mode: single
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.luftfeuchtigkeitssensoren_buero
    above: 50
    id: An
  - trigger: numeric_state
    entity_id:
      - sensor.luftfeuchtigkeitssensoren_buero
    below: 51
  - trigger: time
    at: "23:00:00"
conditions:
  - condition: time
    after: "08:00:00"
    before: "23:00:05"
actions:
  - if:
      - condition: trigger
        id:
          - An
    then:
      - action: switch.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: switch.air_purifier
    else:
      - action: switch.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: switch.air_purifier

2 „Gefällt mir“

@jayjojayson Bei dir fehlt noch ein „10 Uhr Trigger“, um den Entfeuchter einzuschalten, wenn um 10 Uhr die Feuchtigkeit bereits > 50% ist.
@maxe Bei dir auch.

Hi, nein wir haben beide an die conditions gedacht. Maxe sein Weg ist wieder Mal etwas kürzer, aber beide Wege führen zum Ziel.

bei mir:

conditions:
  - condition: trigger
    id: feuchtigkeit_hoch
  - condition: time
    after: "10:00:00"
    before: "23:00:00"

bei maxe:

conditions:
  - condition: time
    after: "08:00:00"
    before: "23:00:05"

Ja, an die conditions habt ihr gedacht.
Die Automatisierung wird meiner Meinung nach nicht ausgelöst, wenn um 10 Uhr die Feuchtigkeit bereits größer 50% ist, oder?

1 „Gefällt mir“

danke @jayjojayson und @maxe für de yaml dateien.
ergebniss von mir:
alias: Entfeuchter Gästebad automatisch
triggers:

  • entity_id:
    • sensor.shellyhtg3_8cbfea9b0d34_humidity
      above: 50
      id: feuchtigkeit_hoch
      trigger: numeric_state
  • entity_id:
    • sensor.shellyhtg3_8cbfea9b0d34_humidity
      below: 50
      id: feuchtigkeit_niedrig
      trigger: numeric_state
  • at: „23:00:00“
    id: nachtruhe_start
    trigger: time
    conditions:
    actions:
  • choose:
    • conditions:
      • condition: trigger
        id: feuchtigkeit_hoch
      • condition: time
        after: „10:00:00“
        before: „23:00:00“
        sequence:
      • action: switch.turn_on
        data: {}
        target:
        entity_id: switch.entfeuchter_gastebad_3
    • conditions:
      • condition: trigger
        id: feuchtigkeit_niedrig
        sequence:
      • action: switch.turn_off
        data: {}
        target:
        entity_id: switch.entfeuchter_gastebad_3
    • conditions:
      • condition: trigger
        id: nachtruhe_start
        sequence:
      • action: switch.turn_off
        data: {}
        target:
        entity_id: switch.entfeuchter_gastebad_3

Doch sollte eigentlich weil der trigger above 50 ist. Wird also ein Wert über 50 festgestellt und die Bedingung nach 10.00 Uhr ist erfüllt, dann wird die Aktion ausgeführt.

@PASKI94 schön, dann teste da mal, sollte aber funktionieren.

Test kann ich erst nach einem tag euch mitteilen aber es ist jetzt schon ein Problem aufgetreten denn meine Feuchtigkeit liegt bei 47.9% nach Thermostat und der Entfeuchter ist trotzdem angegangen leider. was könnte falsch sein an der yaml?

Ist der ‚Thermostat‘ das Shelly H&T?

als kleiner Tipp. Ich würde die Spreizung zwischen über 50% und unter 50% etwas höher ansetzten. So geht das Ding ja permanent an,aus,an,aus.
Ich würde 5-10% Unterschied nehmen.

Ja also einfach h&t generation 3 der neuste

@meins57 anhand der nächsten tage müssen wir die entwicklung anschauen wie sich die feuchtigkeit wieder aufbaut. Zur zeit denke ich das die wände die feuchtigkeit aufgenommen haben aber sobald die wände wieder trockner sind wird sich die feuchtigkeit nicht mehr so rasch aufbauen können

Ich habe einen etwas besseren Luftentfeuchter im Keller stehen der das Automatisch macht. Da sind die Sprünge 10%. Sprich ich stelle z.B. 55% ein. Dann springt er bei 60% an und geht bei 50% wieder aus. Das finde ich auch eine gute Spanne. Und wenn du denkst das Feuchtigkeit in die Wände gezogen ist würde ich generell eine größere Differenz nehmen.

1 „Gefällt mir“

Ja stimmt, da hast du recht.
Wenn es nicht meine Automatisierungen sind, muss man sich immer erst mal rein finden.

@jayjojayson
Leider ist der entfeuchter nicht angegangen um 10.00 obwohl 55% luftfeuchtigkeit ist wie kann ich deine automation erweitern dass auch dies funktioniert?

Ok, dann haben wir wohl beide etwas schnell gedacht. Der Trigger wird so nur funktionieren, wenn genau 50 über- oder unterschritten wurden. Ich habe jetzt den Trigger geändert, so dass er die Werte der Luftfeuchtigkeit bei jeder Änderung überprüft. wenn dann über 50 oder unter 50% gemessen werden, wird der Entfeuchter eingeschaltet. Probiere das so mal aus. :slight_smile:

alias: Entfeuchter Steuerung mit Trigger IDs
triggers:
  - at: "23:00:00"
    id: nachtruhe_start
    trigger: time
  - trigger: state
    entity_id:
      - sensor.luftfeuchtigkeit_xy
    id: feuchtigkeit_hoch
  - trigger: state
    entity_id:
      - sensor.luftfeuchtigkeit_xy
    id: feuchtigkeit_niedrig
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: feuchtigkeit_hoch
          - condition: time
            after: "10:00:00"
            before: "23:00:00"
          - condition: numeric_state
            entity_id: sensor.luftfeuchtigkeit_xy
            above: 50
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_on
            data: {}
      - conditions:
          - condition: trigger
            id: feuchtigkeit_niedrig
          - condition: numeric_state
            entity_id: sensor.luftfeuchtigkeit_xy
            below: 50
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_off
            data: {}
      - conditions:
          - condition: trigger
            id: nachtruhe_start
        sequence:
          - target:
              entity_id: switch.entfeuchter_deineID
            action: switch.turn_off
            data: {}

Es würde einfach reichen, wie @_Jerry schon geschrieben hat, einen weiteren Trigger auf 10 Uhr zu setzen.
Aber @jayjojayson hat die ja noch eine andere Variante gezeigt. Wobei da der Trigger doppelt ist, was total unnötig ist.

1 „Gefällt mir“

Ich befürchte, das wird auch nicht funktionieren, weil die Trigger-ID feuchtigeit_niedrig nie ausgelöst wird, weil vorher die Trigger-ID feuchtigkeit_hoch immer auslöst. Außerdem wird bei jeder Luftfeuchtigkeitsänderung die Automation ausgelöst. Also auch, wenn die Feuchtigkeit von 50.4 auf 50.3 sinkt.
Hier mein Vorschlag:

mode: single
triggers:
  - trigger: time
    at: "23:00:00"
    id: aus
  - trigger: time
    at: "10:00:00"
    id: an
  - trigger: numeric_state
    entity_id:
      - sensor.shellyhtg3_8cbfea9b0d34_humidity
    above: 50
    id: an
  - trigger: numeric_state
    entity_id:
      - sensor.shellyhtg3_8cbfea9b0d34_humidity
    below: 50
    id: aus
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - aus
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: switch.entfeuchter_gastebad_3
      - conditions:
          - condition: trigger
            id:
              - an
          - condition: time
            after: "09:59:00"
            before: "22:59:00"
          - condition: numeric_state
            entity_id: sensor.shellyhtg3_8cbfea9b0d34_humidity
            above: 50
        sequence:
          - action: switch.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: switch.entfeuchter_gastebad_3

Zur Erläuterung:
Wenn es 23:00 ist oder die Feuchtigkeit zu <50 wechselt, wird der Schalter ausgeschaltet.
Wenn es 10:00 ist oder die Feuchtigkeit zu >50 wechselt, wird geprüft, ob die Zeit zwischen 9:59 (1 min Reserve für den 10:00 Trigger) und 22:59 (1 min Reserve für den 23:00 Trigger) und die Feuchtigkeit > 50 ist, wird der Schalter eingeschaltet.

1 „Gefällt mir“

danke euch ich werde mal die yaml von @_Jerry probieren da diese mir plausibel klingt