Waschmaschine fertig

Bei unserer auch, aber das Woll-Waschprogramm nutzen wir auch nicht! :wink:

Ich habe es über 3 Automationen gemacht, da ich ich noch den Zustand ausgeräumt auf dem Dashboard haben wollte.
Der Zustand wird geändert über den Stromverbrauch und durch normale Aqara Fenstersensoren. Sobald die Tür geöfffnet wird, geht der Zustand auf ausgeräumt. (Okay mit Kindern ist das nicht unbedingt mit 100% Garantie :slight_smile: )
Gleiches Prozedere auch für den Geschirrspüler / Trockner.
Über den Button am Dashboard kann auch zusätzlich der Zustand auf ausgeräumt gesetzt werden. Das Ganze ist eine Conditional Card, bedeutet diese verschwindet wieder wenn gedrückt.

    - id: '1582406016656'
      alias: 'Waschmaschine  waschen an '
      description: ''
      trigger:
      - above: '20'
        entity_id: sensor.waschmaschine_current_consumption
        for: 00:00:10
        platform: numeric_state
      condition: []
      action:
      - data:
          option: Waschen
        entity_id: input_select.state_washingmachine
        service: input_select.select_option
        
    - id: '1582406294417'
      alias: 'Waschmaschine fertig'
      description: ''
      trigger:
      - below: '5'
        entity_id: sensor.waschmaschine_current_consumption
        for: 00:10:00
        platform: numeric_state
      condition:
      - condition: state
        entity_id: input_select.state_washingmachine
        state: Waschen
      action:
      - data:
          option: Fertig
        entity_id: input_select.state_washingmachine
        service: input_select.select_option
  

    - id: '1633590993803'
      alias: 'Status Waschmaschine ausgeräumt'
      description: ''
      trigger:
      - platform: state
        entity_id: binary_sensor.tur_waschmaschine_opening_4
        to: 'on'
      condition: []
      action:
      - data:
          option: Ausgeräumt
        entity_id: input_select.state_washingmachine
        service: input_select.select_option

Hallo zusammen, bin recht neu in dem Thema Home Assistent und habe auch gleich ein Problem.
Hatte mir die Blueprint für die Waschmaschine eingefügt und hat auch alles super funktioniert mit Benachrichtigungen auf Alexa.
Seit 2 Tagen funktioniert es nicht mehr.
Hab dann heute versucht die Automationen neu zu machen und habe dann folgende Fehlermeldung bekommen. “Message malformed: Missing input pre_actions”
jemand eine Idee was ich tun kann? Einstellungen sind exakt genau so wie vorher.

Viele Grüße Markus

@Markus1409 Schau mal hier (unter den Comments):

2 „Gefällt mir“

Super. Vielen Dank. Das hat geholfen

sehr sehr cooles dashboard, sowas hätte ich auch sehr gerne, Du mußt mal sagen, wie du das gemacht hast bitte …

Ist das Dashboard von Matt angepasst auf meine Entitäten etc.
https://github.com/matt8707/hass-config

Hallo zusammen. Mir war die Lösung über reine Automation nicht genug, daher habe ich ein Script für einen Template Sensor geschrieben.
Der Sensor kann Status on / off einnehmen und hat die Attribute

  • triggered
  • running
  • end
  • friendly name

On/off: wenn der jeweilige threshold überschritten bzw. unterschritten wird.
(Im Script kann man zwei Thresholds festlegen)
Triggered: eine time-stamp, wann der Threshold ausgelöst wurde.
Running:

  • true: wenn der threshold für Zeit x (kann im Script festgelegt werden) überschritten wurde
  • false:
    end:
  • true: wenn der threshold für Zeit x (kann im
    Script festgelegt werden) Unterschritten wurde
  • false

Damit kann man nun einfach Buttons bauen oder sich die voraussichtliche Restlaufzeit (an Hand der Time-stamp) errechnen und anzeigen lassen. Automatisationrn natürlich auch.

im meinem Beispiel
Sensor.steckdose_waschkuche_power : aktuelle Watt des Smart-Plug
waschmaschine_status: Name des neuen Sensor

  1. Threshold: > 6

  2. Threshold: <= 4

  3. Zahl 30 = 30 sekunden (attribute running: true)

  4. Zahl 30 = 30 sekunden ( attribute end: true)

##### Waschmaschine #####
- platform: template
  sensors:
    waschmaschine_status:
      friendly_name: "Waschmaschine Status"
      value_template: >-
        {% if states('sensor.steckdose_waschkuche_power') | float > 6 %}
          on
        {% elif states('sensor.steckdose_waschkuche_power') | float <= 4 %}
          off
        {% else %}
          {% if is_state('sensor.waschmaschine_status', 'on') and not is_state_attr('sensor.waschmaschine_status', 'running', true) %}
            on
          {% elif is_state('sensor.waschmaschine_status', 'off') and not is_state_attr('sensor.waschmaschine_status', 'end', true) %}
            off
          {% else %}
            unknown
          {% endif %}
        {% endif %}
      attribute_templates:
        triggered: >-
          {{ as_timestamp(states.sensor.waschmaschine_status.last_changed) | timestamp_custom('%Y-%m-%d %H:%M:%S', true) }}
        running: >-
          {% if is_state('sensor.waschmaschine_status', 'on') and (as_timestamp(now()) - as_timestamp(states.sensor.waschmaschine_status.attributes.triggered)) >= 30 %}
            true
          {% else %}
            false
          {% endif %}
        end: >-
          {% if is_state('sensor.waschmaschine_status', 'off') and (as_timestamp(now()) - as_timestamp(states.sensor.waschmaschine_status.attributes.triggered)) >= 30 %}
            true
          {% else %}
            false
          {% endif %}

Nachtrag:
Hier auch meine Buttons in einer Grid card:

square: false
type: grid
cards:
  - type: custom:button-card
    entity: sensor.waschmaschine_status
    name: Waschgang
    icon: mdi:washing-machine
    show_name: true
    show_icon: true
    show_label: true
    show_state: false
    hold_action:
      action: more-info
    label: |
      [[[
        if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
          return 'läuft';
        } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
          return 'Ende';
        } else {
          return 'warten';
        }
      ]]]
    styles:
      grid:
        - grid-template-areas: '". i" "l l" "n n"'
        - grid-template-rows: 24px 1.5fr 24px
        - grid-template-columns: 1fr 1fr
      card:
        - height: 100%
        - padding: 1rem
        - background: |
            [[[
              if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
                return 'var(--blue)';
              } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
                return 'var(--primary-background-color)';
              } else {
                return 'var(--yellow)';
              }
            ]]]
      img_cell:
        - justify-content: end
        - overflow: hidden
        - padding: 0 0 0 0
      icon:
        - justify-self: end
        - align-self: center
        - width: 24px
        - padding: 0 0 0 0
        - overflow: hidden
        - color: |
            [[[
              if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
                return 'var(--black)';
              } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
                return 'var(--contrast20)';
              } else {
                return 'var(--black)';
              }
            ]]]
        - animation: |
            [[[
              if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
                return 'blink 1.5s linear infinite';
              } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
                return 'null';
              } else {
                return 'blink 1.5s linear infinite';
              }
            ]]] 
      label:
        - text-align: left
        - font-size: 14px
        - font-weight: 500
        - justify-self: start
        - align-self: end
        - overflow: visible
        - color: |
            [[[
              if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
                return 'var(--black)';
              } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
                return 'var(--contrast20)';
              } else {
                return 'var(--black)';
              }
            ]]]
      name:
        - text-align: left
        - font-size: 12px
        - opacity: 0.7
        - justify-self: start
        - align-self: center
        - overflow: visible
        - color: |
            [[[
              if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
                return 'var(--black)';
              } else if (states['sensor.waschmaschine_status'].attributes.end == 'true') {
                return 'var(--contrast20)';
              } else {
                return 'var(--black)';
              }
            ]]]
  - type: custom:button-card
    name: |
      [[[
        // Check if the washing machine is running
        if (states['sensor.waschmaschine_status'].attributes.running == 'true') {
          // Get the triggered timestamp from the sensor attribute
          var triggeredTimestamp = new Date(states['sensor.waschmaschine_status'].attributes.triggered);
          // Get the current timestamp
          var currentTimestamp = new Date();
          // Calculate the time difference in milliseconds
          var timeDifference = currentTimestamp - triggeredTimestamp;
          // Convert milliseconds to minutes
          var remainingMinutes = 59 - Math.floor(timeDifference / (1000 * 60));
          // Ensure the remaining minutes is not negative
          remainingMinutes = Math.max(remainingMinutes, 0);

          return remainingMinutes;
        } else {
          return 'off';
        }
      ]]]
    label: Ende in ca.
    custom_fields:
      einheit: Minuten
    show_state: false
    show_label: true
    show_name: true
    entity: sensor.waschmaschine_status
    styles:
      grid:
        - grid-template-areas: '"n einheit" "l l"'
        - grid-template-columns: min-content min-content
        - grid-template-rows: min-content 14px
      name:
        - font-size: 32px
        - color: var(--contrast20)
        - justify-self: end
      card:
        - height: 80px
        - border-radius: 24px
        - padding: 20px 0 6px 16px
        - box-sizing: border-box
        - background: var(--primary-background-color)
        - box-shadow: none
      label:
        - justify-self: start
        - font-size: 14px
        - color: var(--contrast20)
        - margin-top: '-7px'
      custom_fields:
        einheit:
          - justify-self: end
          - font-size: 12px
          - color: var(--contrast9)
          - margin-bottom: '-10px'
          - padding-left: 2px
columns: 1

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion :crayon: nutzen).

macht das eure Frau so mit? Weil,

ich hatte das eine Weile ähnlich. Zwar per HomeConnect, aber kommt ja aufs selbe raus. 5 Minuten vor Ende gabs ne Whatsapp “Bin gleich fertig”, am Ende über den Homepod “bin fertig”. Nach zwei Wochen hatte meine Lebensabschnittsgefahr das so dermaßend satt. :rofl:

Bei uns gibt es nur zum Ende hin eine Benachrichtigung über die App, wenn Waschmaschine bzw. Trockner fertig sind.
Meine Frau findet das sogar sehr positiv. Hat schon einige unnötige Ausflüge in den Keller verhindert.
Allerdings gibt es bei mir, wie oben erwähnt, über Node-RED nur die Fertig-Meldung, da vor allem der Trockner doch sehr unterschiedlich lange braucht trotz gleichen Programms.
Vorhersage habe ich keine. Wie gut ist die denn? Weil das unterscheidet sich ja doch sehr vom Programm und anderen (Umgebungs-)Bedingungen.

cool! würd’ mich mal interessieren, wie das dann im dashboard aussieht …

Meine geniesst es weil sie dann nicht in den Keller rennen muss um zu prüfen ob die errechnete Restzeit mit der Realität übereinstimmt :slight_smile:

Also die Karten, die ich gepostet habe, sind die Links im Grid. Habe es mal simuliert, wenn die Maschine an wäre


1 „Gefällt mir“

das mit dem voraussichtlichen Ende finde ich gut aber 3 Kacheln für eine Waschmaschine nimmt ja recht viel Platz auf dem Dashboard ein. Wenn man dasselbe dann noch mit Trockner und Spülmaschine macht …
könnte man nicht eine bedingte Anzeige nehmen, die entweder das voraussichtliche Ende oder den Steckdosen-Schalter einbelndet oder was auch immer wichtig ist? Es gibt glaube ich auch Kacheln wo man durch Klicken zu weiteren Funktionen kommt, damit habe ich mich aber noch nicht beschäftigt.

Kann man natürlich machen. Meine Karten waren nur ein Beispiel, wie man den neuen Sensor verwenden kann. Aktuell plane ich eine Karte zu erstellen, die alle Informationen beinhaltet und einige Details nur einblendet, wenn die Maschine auch an ist. Geht ganz simple über die conditional card.

Die 5 Minutenwarnung war sehr genau. Über Home Connect liefert unsere Waschmaschine die Programmrestlaufzeit. Automation war dann Laufzeit kleiner 6 Minuten, schreib eine Whatsapp. Hat aber meine Frau genervt. Gut bei uns steht die WM auch nicht im Keller sondern nur zwei Räume weiter.

OK. Das sollte das natürlich hinbekommen. Unsere Maschinen übernehmen noch nicht die Welt, :wink: sind also nicht smart, da wird das nur über den Stromverbrauch gemessen, wenn fertig. Irgendwie hatte ich das so verstanden, dass das aus dem Stromverbrauch “vorausgesagt” wird.

Bei uns steht sie im Keller und man hört sie nicht. Dann kommt Abends das große UPS… Wäsche vergessen…grrr. also meine ist jetzt Happy :grin::+1:t2:

ja, ist bei uns genauso, vielleicht wäre eine Erinnerung noch gut, aber dazu müsse man wissen, ob die Wäsche abgeholt wurde was wohl nur mit einem Türkontakt geht und das lohnt mE den Aufwand nicht …

Evtl. Über den smart plug on/off Schalter. Wenn der ausgeschaltet wurde. Dann Wäsche geholt. Wenn nicht, dann ist sie noch in der Maschine.
Wäre ein Möglichkeit.