Skip to content

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
@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()

@s-hadinger s-hadinger deleted the berry_func_any_key branch January 6, 2025 14:21
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