Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Berry FUNC_ANY_KEY event calling any_key() #21708

Merged
merged 1 commit into from
Jun 29, 2024

Conversation

s-hadinger
Copy link
Collaborator

Description:

Berry, add new event handler to drivers capturing FUNC_ANY_KEY event, and calling any_key() method of a driver.

This is used to react to real-time events from Buttons and Switches

Checklist:

  • The pull request is done against the latest development branch
  • Only relevant files were touched
  • Only one feature/fix was added per PR and the code change compiles without warnings
  • The code change is tested and works with Tasmota core ESP8266 V.2.7.7
  • The code change is tested and works with Tasmota core ESP32 V.3.0.2
  • I accept the CLA.

NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass

@s-hadinger s-hadinger merged commit 8d2d121 into arendst:development Jun 29, 2024
59 checks passed
@s-hadinger
Copy link
Collaborator Author

s-hadinger commented Jun 29, 2024

Here is some example code to dump the values of any_key():

class AnyKeyLogger
  def init()
    tasmota.add_driver(self)
  end

  def any_key(cmd, idx)
    #device_save << 24 | key << 16 | state << 8 | device
    var device_state = (idx >> 24) & 0xFF
    var key = (idx >> 16) & 0xFF
    var state = (idx >> 8) & 0xFF
    var device = idx & 0xff
    log(f"---: FUNC_ANY_KEY {device_state=:2i} {key=:2i} {state=:2i} {device=:2i}")
  end
end
AnyKeyLogger()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant