Giter Club home page Giter Club logo

Comments (3)

muxa avatar muxa commented on July 17, 2024 2

Yes, I think having an option to call on_leave and on_enter when changing state via set would be useful. Perhaps add flags to the set call? Something like this:

  - state_machine.set:
      state: OPEN
      call_on_leave: true
      call_on_enter: true

from esphome-state-machine.

samturner3 avatar samturner3 commented on July 17, 2024

In the meantime I have a work around by adding more inputs HA_MODE_CHANGE_TO_MANUAL and HA_MODE_CHANGE_TO_AUTO:

- name: HA_MODE_CHANGE_TO_MANUAL
        transitions:
          - from: OFF_STANDBY
            to: OFF_MANUAL
          - from: OFF_STANDBY_TIMEOUT
            to: OFF_MANUAL
          - from: ON_STANDBY_0
            to: ON_MANUAL
          - from: ON_STANDBY_1
            to: ON_MANUAL
          - from: ON_STANDBY_2
            to: ON_MANUAL
      - name: HA_MODE_CHANGE_TO_AUTO
        transitions:
          - from: ON_MANUAL
            to: ON_STANDBY_0
          - from: OFF_MANUAL
            to: OFF_STANDBY
switch:
  - platform: custom
    lambda: |-
      auto my_custom_switch = new MyCustomSwitch();
      App.register_component(my_custom_switch);
      return {my_custom_switch};
  
    switches:
      name: "Switch manual mode"
      id: ${ha_auto_switch_1_id}
      on_turn_off:
        - state_machine.transition:
            id: sm1
            input: HA_MODE_CHANGE_TO_AUTO
      on_turn_on:
        - state_machine.transition:
            id: sm1
            input: HA_MODE_CHANGE_TO_MANUAL

from esphome-state-machine.

pzeinlinger avatar pzeinlinger commented on July 17, 2024

That would be great! Any news?

from esphome-state-machine.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.