Skip to content

Home Assistant Configuration

Andrew J Freyer edited this page May 6, 2023 · 2 revisions

Here's a dump from a Home Assistant package yaml defining all sensors and an nubmer of buttons:

#TURN ON IN THE MORNING ON FIRST MOTION FROM LIVING ROOM OR KITCHEN
automation:
  - alias: "appliance: ENA90 Morning Motion"
    initial_state: true
    mode: single
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.living_room_motion
          - binary_sensor.kitchen_motion
        from: "off"
        to: "on"
    condition:
      - condition: state
        entity_id: binary_sensor.ena90_bridge_power
        state: "off"
      - condition: time
        after: "05:30:00"
        before: "10:00:00"
    action:
      - service: button.press
        target:
          entity_id: button.jura_power_controller_ena90_relay_power_button
      - delay: "05:00"

mqtt:
  button:
    ################################################################################
    #
    # menu items
    #
    ################################################################################
    - name: "ENA90 Menu Rinse"
      command_topic: "jurabridge/menu"
      payload_press: "rinse"
      icon: mdi:menu
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Menu Milk Clean"
      command_topic: "jurabridge/menu"
      payload_press: "mclean"
      icon: mdi:menu
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Menu Milk Rinse"
      command_topic: "jurabridge/menu"
      payload_press: "mrinse"
      icon: mdi:menu
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Menu Clean"
      command_topic: "jurabridge/menu"
      payload_press: "clean"
      icon: mdi:menu
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Menu Filter"
      command_topic: "jurabridge/menu"
      payload_press: "filter"
      icon: mdi:menu
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    ################################################################################
    #
    # recipes and automations
    #
    ################################################################################

    - name: "ENA90 Make Short Cappuccino"
      command_topic: "jurabridge/command"
      payload_press: "short cappuccino"
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Americano"
      command_topic: "jurabridge/command"
      payload_press: "americano"
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Double Ristretto"
      command_topic: "jurabridge/command"
      payload_press: >
        [
            ["id", "DOUBLE RISTRETTO"],
            ["msg", " MORNING!"],
            ["delay", 1000],
            ["msg", " STEP 1/2"],
            ["delay", 2000],
            ["ready"],
            ["espresso"],
            ["pump"],
            ["dispense", 30],
            ["interrupt"],
            ["msg", " STEP 2/2"],
            ["delay", 2000],
            ["ready"],
            ["espresso"],
            ["pump"],
            ["dispense", 30],
            ["interrupt"],
            ["msg", "    :)"],
            ["delay", 5000]
          ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Espresso"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["espresso"],
          ["pump"],
          ["dispense",40],
          ["interrupt"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Cappuccino"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["cappuccino"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Coffee"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["coffee"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Macchiato"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["macchiato"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Water"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["water"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Make Milk Foam"
      command_topic: "jurabridge/command"
      payload_press: >
        [
          ["ready"],
          ["milk"],
          ["msg","    :)"]
        ]
      icon: mdi:coffee-maker-outline
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    ################################################################################
    #
    # button presses
    #
    ################################################################################

    - name: "ENA90 Power Off"
      command_topic: "jurabridge/command"
      payload_press: "off"
      icon: mdi:power
      entity_category: "config"
      availability:
        topic: "jurabridge/ready"
        payload_available: "TRUE"
        payload_not_available: "FALSE"

    - name: "ENA90 Settings"
      command_topic: "jurabridge/command"
      payload_press: "settings"
      icon: mdi:cog-outline
      entity_category: "config"

    - name: "ENA90 Confirm"
      command_topic: "jurabridge/command"
      payload_press: "confirm"
      icon: mdi:cog-outline
      entity_category: "config"

  ########################### JURA BRIDGE MQTT BINARIES ##############################

  binary_sensor:
    - name: "ENA90 Bridge Power"
      state_topic: "jurabridge/power"
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:power

    - name: "ENA90 Machine Ready"
      state_topic: "jurabridge/ready"
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:alert

    - name: "ENA90 Input Board State"
      state_topic: "jurabridge/machine/input board"
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:alert

    - name: "ENA90 Brewgroup Ready"
      state_topic: "jurabridge/machine/brewgroup"
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:check

    ########################### ERRORS ##############################
    - name: "ENA90 Drip Tray Removed"
      state_topic: "jurabridge/errors/tray removed"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Drip Tray Overfill"
      state_topic: "jurabridge/errors/tray overfill"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Water Reservior Volume"
      state_topic: "jurabridge/errors/reservoir low"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Grounds"
      state_topic: "jurabridge/errors/grounds"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Beans Hopper Cover"
      state_topic: "jurabridge/errors/beans"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Water Reservior"
      state_topic: "jurabridge/errors/water"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Bypass Doser"
      state_topic: "jurabridge/errors/powder"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    ########################### BINARY RECOMMENDATIONS ##############################

    - name: "ENA90 Recommendation"
      state_topic: "jurabridge/recommendations"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Rinse Recommended"
      state_topic: "jurabridge/recommendations/rinse"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Milk Rinse Recommended"
      state_topic: "jurabridge/recommendations/milk rinse"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

    - name: "ENA90 Milk Clean Recommended"
      state_topic: "jurabridge/recommendations/milk clean"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

      ########################### OTHER ##############################

    - name: "ENA90 Custom Automation"
      state_topic: "jurabridge/machine/custom execution"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: problem
      icon: mdi:alert

      ########################### PARTS ##############################

    - name: "ENA90 Thermoblock Preheated"
      state_topic: "jurabridge/parts/thermoblock/preheated"
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:thermometer

    - name: "ENA90 Thermoblock Heating"
      state_topic: "jurabridge/parts/thermoblock/active"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: heat
      icon: mdi:fire

    - name: "ENA90 Pump Active"
      state_topic: "jurabridge/parts/pump/active"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: running
      icon: mdi:water

    - name: "ENA90 Pump Circulating"
      state_topic: "jurabridge/parts/pump/flowing"
      payload_on: "TRUE"
      payload_off: "FALSE"
      device_class: running
      icon: mdi:water

    - name: "ENA90 Brewgroup Active"
      state_topic: "jurabridge/parts/grinder/active"
      device_class: running
      payload_on: "TRUE"
      payload_off: "FALSE"
      icon: mdi:cog-outline

  ########################### PREPARATIONS ##############################

  sensor:
    - name: "ENA90 Machine Ready State"
      state_topic: "jurabridge/system"
      icon: mdi:state-machine

    - name: "ENA90 Machine Recommendation State"
      state_topic: "jurabridge/recommendation"
      icon: mdi:information

    - name: "ENA90 History"
      state_topic: "jurabridge/history"
      icon: mdi:history

    - name: "ENA90 Total Automations"
      state_topic: "jurabridge/counts/total automations"
      unit_of_measurement: "preparations"
      icon: mdi:counter

    - name: "ENA90 Input Board State"
      state_topic: "jurabridge/machine/input board/state"
      icon: mdi:history

    - name: "ENA90 Water Tank Volume"
      state_topic: "jurabridge/counts/water tank/volume"
      unit_of_measurement: "%"
      icon: mdi:water

    - name: "ENA90 Last Grind Duration"
      state_topic: "jurabridge/machine/last grind duration"
      unit_of_measurement: "ms"
      icon: mdi:timer

    - name: "ENA90 Pump Status"
      state_topic: "jurabridge/parts/pump/status"
      unit_of_measurement: "state"
      icon: mdi:pump

    - name: "ENA90 Tray Volume"
      state_topic: "jurabridge/counts/tray volume"
      unit_of_measurement: "ml"
      icon: mdi:water

    - name: "ENA90 Estimated Hopper Volume"
      state_topic: "jurabridge/counts/beans"
      unit_of_measurement: "%"
      icon: mdi:counter

    - name: "ENA90 High Pressure Operations"
      state_topic: "jurabridge/counts/high pressure operations"
      unit_of_measurement: "operations"
      icon: mdi:counter

    - name: "ENA90 Espresso Preparations"
      state_topic: "jurabridge/counts/espresso"
      unit_of_measurement: "preparations"
      icon: mdi:coffee

    - name: "ENA90 Coffee Preparations"
      state_topic: "jurabridge/counts/coffee"
      unit_of_measurement: "preparations"
      icon: mdi:coffee

    - name: "ENA90 Cappuccino Preparations"
      state_topic: "jurabridge/counts/cappuccino"
      unit_of_measurement: "preparations"
      icon: mdi:coffee

    - name: "ENA90 Macchiato Preparations"
      state_topic: "jurabridge/counts/macchiato"
      unit_of_measurement: "preparations"
      icon: mdi:coffee

    - name: "ENA90 Milk Foam"
      state_topic: "jurabridge/counts/milk foam"
      unit_of_measurement: "preparations"
      icon: mdi:beer

    - name: "ENA90 Hot Water"
      state_topic: "jurabridge/counts/hot water"
      unit_of_measurement: "preparations"
      icon: mdi:cup-water

      ########################### PARTS ##############################

    - name: "ENA90 Thermoblock Temperature"
      state_topic: "jurabridge/parts/thermoblock/temp"
      unit_of_measurement: "C"
      icon: mdi:thermometer

    - name: "ENA90 Thermoblock Duty Cycle"
      state_topic: "jurabridge/parts/thermoblock/duty"
      unit_of_measurement: "%"
      icon: mdi:percent-box

    - name: "ENA90 Pump Duty Cycle"
      state_topic: "jurabridge/parts/pump/duty"
      unit_of_measurement: "%"
      icon: mdi:percent-box

    - name: "ENA90 Ceramic Valve Temperature"
      state_topic: "jurabridge/parts/ceramic valve/temp"
      unit_of_measurement: "C"
      icon: mdi:thermometer

    - name: "ENA90 Output Valve Position"
      state_topic: "jurabridge/parts/output valve/position"
      icon: mdi:valve

    - name: "ENA90 Ceramic Valve Position"
      state_topic: "jurabridge/parts/ceramic valve/position"
      icon: mdi:valve

    - name: "ENA90 Last Dispense"
      state_topic: "jurabridge/machine/last dispense"
      unit_of_measurement: "mL"
      icon: mdi:water

      ########################### ADMIN ##############################

    - name: "ENA90 Spent Grounds"
      state_topic: "jurabridge/counts/grounds"
      unit_of_measurement: "pucks"
      icon: mdi:hockey-puck

    - name: "ENA90 Since Cleaned"
      state_topic: "jurabridge/counts/since clean"
      unit_of_measurement: "preparations"
      icon: mdi:counter

      ########################### SANITARY ##############################

    - name: "ENA90 Low Pressure Operations"
      state_topic: "jurabridge/counts/low pressure operations"
      unit_of_measurement: "operations"
      icon: mdi:water

    - name: "ENA90 Descale Cycles"
      state_topic: "jurabridge/counts/descales"
      unit_of_measurement: "descale"
      icon: mdi:water

    - name: "ENA90 Milk Clean Cycles"
      state_topic: "jurabridge/counts/milk clean"
      unit_of_measurement: "cleans"
      icon: mdi:spray-bottle

    - name: "ENA90 System Clean Cycles"
      state_topic: "jurabridge/counts/cleans"
      unit_of_measurement: "cleans"
      icon: mdi:spray-bottle

    - name: "ENA90 Grinder"
      state_topic: "jurabridge/counts/grinder"
      unit_of_measurement: "grinds"
      icon: mdi:counter

Clone this wiki locally