Commit Graph

99 Commits

Author SHA1 Message Date
Tony 49dcd8785b feat: add readMemoryLocation method and update GatewayController for memory identity reads
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-15 17:01:27 +08:00
Tony 780b4aa8d5 feat: update DaliDomainService to support logarithmic brightness control and enhance KNX broadcast management request handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-15 16:11:19 +08:00
Tony 9598147dd5 feat: implement raw frame dispatch and handling in DaliDomainService
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-14 21:20:42 +08:00
Tony 4d2cfa3cb3 feat: add support for FunctionPropertyCommand and FunctionPropertyState in broadcast management request handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-14 20:07:45 +08:00
Tony fc4e9016cf Enhance Gateway Network and Runtime Functionality
- Added a check in GatewayNetworkService::handleDaliRawFrame to ensure raw reporting is enabled for the gateway before processing the frame.
- Extended the JSON snapshot in GatewayNetworkService::gatewaySnapshotJson to include additional operation-related fields for each channel, providing more detailed status information.
- Updated GatewayRuntime::classifyCommandPriority to include new opcodes (0x66 and 0x67) in the control command classification, improving command handling.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-13 20:13:33 +08:00
Tony 530f0ecf12 feat: add chip level command handling in GatewayController
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-13 14:43:47 +08:00
Tony be9ff9c2c9 feat: add KNX gateway snapshot and command transaction handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-13 01:47:36 +08:00
Tony 40a0e8e303 feat: implement device name handling and update gateway name features
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-12 01:26:31 +08:00
Tony dceede8602 feat: enhance gateway channel management with serial command handling and gateway ID updates
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-11 21:04:20 +08:00
Tony 6ffca719d9 feat: add application controller handling and DALI control device commands
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-11 18:46:32 +08:00
Tony 1342ab6aaf Add KNX Secure configuration for DALI-GW
- Introduced DALI-GW.security.xml to define security settings including enabling security and maximum entries for individual addresses and group keys.
- Updated DALI-GW.xml to reference the new security configuration file.
- Enhanced README.md to document the purpose of DALI-GW.security.xml and clarify the organization of XML fragments in the project.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-01 18:18:38 +08:00
Tony 4fa1b3cb06 Refactor DALI-GW XML and README for clarity and accuracy
- Updated DALI-GW.xml to correct application version and product naming conventions.
- Removed unnecessary configuration parameters from XML.
- Revised README.md for improved clarity on the source and migration process.
- Adjusted application version in README to reflect changes in DALI-GW.xml.
- Enhanced instructions for generating product database artifacts.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-30 14:04:22 +08:00
Tony 6381ca58cf fix: update parameter block names for DALI address, group, HCL curve, and gateway overview
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-30 00:12:19 +08:00
Tony b87c8087f5 fix: update parameter block IDs in DALI templates for consistency
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-29 23:59:40 +08:00
Tony d39547bdc6 fix: update communication flags and read/write permissions for DALI group and address ComObjects
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-29 23:52:35 +08:00
Tony c60ef2ccde feat: Enhance DALI Gateway with RGBW and RGBCW support
- Added support for RGBW and RGBCW color modes in the DALI Gateway.
- Updated JSON color mode parsing to handle new color types.
- Extended the StoreDt8SceneSnapshot function to include white, amber, and free color parameters.
- Introduced new methods in DaliGatewayBridge for setting RGBW, RGBCW, and RGBWAF colors.
- Modified KnxDaliChannel to send RGBW and RGBCW colors based on the color type.
- Updated parameter types and definitions in the KNX product XML files to accommodate new color modes.
- Enhanced README with migration details and validation instructions.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-29 11:32:10 +08:00
Tony f39ae6f0c6 fix: enhance KNX OAM router functionality and security features
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-29 01:31:58 +08:00
Tony bb0fb01c00 fix: remove unused translation elements for zh-CN and de-DE in Gateway-Dependency-Translations.xml and Gateway-OAM-IP-Router.share.xml
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 20:34:36 +08:00
Tony b5b9e53c22 fix: remove redundant Translation element for zh-CN in Gateway-OAM-IP-Router.share.xml
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 20:02:06 +08:00
Tony 691a740111 fix: remove unused translation elements for zh-CN and de-DE in XML configuration files
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 19:38:32 +08:00
Tony 29920195ba fix: update MaxUserEntries configuration in Gateway-OAM-IP-Router.xml
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 19:22:25 +08:00
Tony 67c2410be7 fix: remove unused language configuration for en-US in Gateway-SecureTemplateRouter.xml
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 19:07:03 +08:00
Tony 8bda4f727e fix: update language configuration to include translations for multiple languages
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 17:47:34 +08:00
Tony a46cef3ee9 fix: correct XML tag from includetemplate to include for language configuration
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 17:38:02 +08:00
Tony 4c9f26a638 Add InfoLed configuration XML for KNX application
- Introduced a new XML file `InfoLed.part.xml` to define the Info LED configuration for the KNX application.
- The file includes manufacturer data, application programs, and dynamic parameter blocks for configuring Info LEDs.
- Logic for showing/hiding default checkboxes and function tables based on user selections is implemented.
- Parameter blocks are structured to allow customization of Info LEDs with appropriate UI hints and layout.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 17:20:10 +08:00
Tony 803348ea3a Add Gateway OAM IP Router XML and README documentation
- Introduced `Gateway-SecureTemplateRouter.xml` for the OAM-compatible BAU091A KNX/IP Router, incorporating secure application metadata and supporting secure tunneling.
- Created a `README.md` file detailing the purpose, structure, and validation steps for the new XML configuration, including instructions for running XML checks and using OpenKNXproducer.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 16:01:38 +08:00
Tony 8211514fe3 feat: Enhance OAM router functionality and improve KNX device handling
- Added support for OAM router configuration in app_main, allowing the IP interface individual address to be set based on the OAM router's individual address.
- Updated GatewayBridgeService to validate IP interface addresses only when OAM router is disabled, ensuring proper address management.
- Introduced KnxResponseDeduplicator to prevent duplicate responses in KNX communication.
- Enhanced ETS device runtime to handle bus frames and set up frame receivers for OAM router.
- Improved GatewayKnxTpIpRouter to manage OAM router interactions, including handling tunnel frames and bus frames.
- Updated CMakeLists to include new knx_device_broker source file.
- Refined logging messages to provide clearer context regarding the IP interface being used.
- Added methods to retrieve IP interface names and friendly names based on the OAM router configuration.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-28 15:44:17 +08:00
Tony 078c37a20f feat(gateway): enhance DALI and KNX handling with broadcast management support and configurable task stack size
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-27 21:06:58 +08:00
Tony 6d0b36b60a Refactor channel binding configuration and validation
- Introduced `NativeChannelConfig` and `SerialChannelConfig` functions to streamline the creation of `ChannelBindingConfig` instances.
- Replaced manual channel configuration with macros `GATEWAY_CONFIGURE_NATIVE_CHANNEL` and `GATEWAY_CONFIGURE_SERIAL_CHANNEL` for better maintainability.
- Updated `BuildChannelBindings` to utilize the new configuration functions, reducing redundancy.
- Enhanced `ValidateChannelBindings` to check for required TX and RX GPIO pins for native channels.
- Simplified `BindConfiguredChannels` to iterate over the built channel bindings, improving readability and reducing code duplication.
- Adjusted the handling of reserved UART ports in `app_main` to dynamically include all serial channels.
- Updated SDK configuration for channel 1 gateway ID and modified KNX-related configurations for enhanced functionality.
- Removed obsolete NVS flash initialization code and replaced it with a more streamlined approach for managing runtime data.
- Added a new command in `GatewayController` to publish gateway IDs when requested.
- Defined a constant for maximum KNX instance count to improve clarity in the codebase.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-27 18:08:53 +08:00
Tony 7a820e700c feat(gateway): add cloud integration for KNX and DALI with configurable transport options
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-27 15:20:29 +08:00
Tony 5622e6ba81 fix(gateway): update clangd configuration and sdkconfig for improved build settings
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-26 23:18:13 +08:00
Tony 865bf8425a feat(gateway): enhance DALI host activity tracking and presence management
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-26 22:21:36 +08:00
Tony f922993d2f feat(gateway): enhance DALI and KNX settings management with instance support
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-26 12:57:13 +08:00
Tony 2b779d5532 Add secure transport and OAM router runtime implementations
- Implement secure transport mechanisms in `gateway_knx_secure_transport.cpp` for handling secure sessions, including AES encryption, session key generation, and secure packet wrapping and unwrapping.
- Introduce `OamRouterRuntime` in `oam_router_runtime.cpp` to manage OAM router identity, individual addresses, and tunnel frame handling.
- Enhance secure session management with functions for session allocation, authentication, and secure packet processing.
- Ensure compatibility with existing KNXnet/IP protocols while adding support for secure communications.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-25 08:18:01 +08:00
Tony 0467179f70 fix(gateway): update DALI configuration parameters for improved timing and cache reconciliation
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-22 03:05:02 +08:00
Tony 20642e5ec3 fix(gateway): update DALI configuration parameters for improved performance and reliability
This commit add comat parameter for some old DALI-1 control gear.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 17:03:35 +08:00
Tony 0827befb06 feat(gateway_cache): enhance DALI state management and caching
- Increased flush interval to 10 seconds and added a refresh interval of 120 seconds in GatewayCacheConfig.
- Introduced a new boolean `stale` in GatewayCacheDaliRuntimeStatus to track stale states.
- Added methods for setting actual DALI levels and persisting DALI address states.
- Implemented functions to build and apply DALI state payloads, including handling scene levels.
- Enhanced the GatewayCache class to manage DALI states more effectively, including loading and persisting states.
- Updated GatewayController to support cache refresh operations, including handling cache commands and reporting cache status.
- Added mechanisms for periodic cache refresh based on idle time and configured intervals.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 15:34:26 +08:00
Tony 2b8ef31263 Add GatewayKnxTpIpRouter implementation for handling KNXnet/IP services
- Implemented handleUdpDatagram to process incoming UDP datagrams and route them to appropriate handlers based on service type.
- Added methods for handling various KNXnet/IP requests including search, description, tunneling, device configuration, connection state, and disconnect requests.
- Introduced TunnelClient management for handling multiple tunnel connections, including allocation, resetting, and pruning stale clients.
- Implemented secure service handling with appropriate logging for unsupported secure sessions.
- Enhanced logging for better traceability of incoming requests and responses.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 14:12:46 +08:00
Tony 8e80fd05b4 fix(gateway): enhance DALI logging with query packet logging and configuration
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 13:39:31 +08:00
Tony 7ab1855295 fix(gateway): enhance DALI logging and error handling in gateway_knx
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 13:22:38 +08:00
Tony e8bf8c56cd fix(gateway): update subproject commit reference for knx module
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-21 11:59:24 +08:00
Tony 416320604b fix(gateway): update subproject commit reference for knx module
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-20 06:33:10 +08:00
Tony e489a2de36 fix(gateway): update subproject commit reference for knx module
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-20 06:18:30 +08:00
Tony b73e0c6138 fix(gateway): update subproject commit reference for knx module
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-20 05:54:48 +08:00
Tony 3165afe8a4 fix(gateway): update subproject commit reference for knx module
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-20 04:57:25 +08:00
Tony 57950e7b0b feat(gateway): implement commissioning scan functionality with options for new, randomize, delete, and assign
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-19 10:47:44 +08:00
Tony a3f03719f9 feat(gateway): add extended function property handlers and diagnostics support for OpenKNX
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-19 10:02:57 +08:00
Tony e091b4301e fix(gateway): enable KNX security device endpoints and enhance tunnel frame handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-19 08:16:28 +08:00
Tony 226855362b feat(gateway): integrate bridge service into gateway controller for transport handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-19 05:52:36 +08:00
Tony 3bc5355041 feat(gateway): enable full IP forwarding for KNX TP and enhance group value write handling
Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-05-19 04:18:53 +08:00