Skip to content

Energy gateway app (Part 2) - Add CommodityPrice Delegate and Test Event Trigger support#38255

Merged
mergify[bot] merged 179 commits intoproject-chip:masterfrom
jamesharrow:energy-gateway-app-2
Apr 25, 2025
Merged

Energy gateway app (Part 2) - Add CommodityPrice Delegate and Test Event Trigger support#38255
mergify[bot] merged 179 commits intoproject-chip:masterfrom
jamesharrow:energy-gateway-app-2

Conversation

@jamesharrow
Copy link
Copy Markdown
Contributor

@jamesharrow jamesharrow commented Apr 4, 2025

This PR aims to complete the commodity-price-server and add delegate and Test event trigger support

In order to keep this PR smallish there will be several follow up PRs which close out this work:

Currently the number of list elements in Forecast is limited due to udp packet size and it attempts to dynamically size the number of entries based on content to avoid running out of memory.

Testing

All test cases are passing

jamesharrow and others added 30 commits March 6, 2025 12:42
…e due to device type problems bringing in expected clusters.
…g error 'Unable to find cluster extension by component'
…l and global-enums.xml (NOTE: ApparentPowerThresholds SHOULD be power_mva! but Zap does not recognise this yet.
…s. Removed legacy measurement-and-sensing.xml in favour of new global-structs/global-enums.xml
…tub basic-type Currency. Disabled Ember in config-data.yaml. Linux now builds but aborts at start-up.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 24, 2025

PR #38255: Size comparison from bc7f2a4 to 96a3110

Full report (14 builds for cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, tizen)
platform target config section bc7f2a4 96a3110 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 820268 0 0.0
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 829228 0 0.0
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 776272 0 0.0
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 760572 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 544194 0 0.0
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 578182 0 0.0
RAM 205408 205408 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 919416 0 0.0
RAM 167485 167485 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 911500 0 0.0
RAM 145729 145729 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 855940 0 0.0
RAM 141239 141239 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 667244 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 625520 0 0.0
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 464440 0 0.0
RAM 141504 141504 0 0.0
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1806904 0 0.0
RAM 94576 94576 0 0.0
chip-tool-ubsan arm unknown 20280 20280 0 0.0
FLASH 20391606 20391614 8 0.0
RAM 8885064 8885064 0 0.0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 24, 2025

PR #38255: Size comparison from bc7f2a4 to 49a3e80

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section bc7f2a4 49a3e80 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1100446 0 0.0
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 655368 0 0.0
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 832618 0 0.0
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1065142 0 0.0
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 896030 0 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 978818 0 0.0
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 820268 0 0.0
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 829228 0 0.0
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 776272 0 0.0
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 760572 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 544194 0 0.0
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 578182 0 0.0
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 662237 0 0.0
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 639021 0 0.0
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 622317 0 0.0
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 641765 0 0.0
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 618161 0 0.0
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
efr32 lock-app BRD4187C FLASH 943544 943544 0 0.0
RAM 132040 132040 0 0.0
BRD4338a FLASH 737720 737720 0 0.0
RAM 206932 206932 0 0.0
window-app BRD4187C FLASH 1035488 1035488 0 0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103424 103424 0 0.0
FLASH 1804066 1804066 0 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121996 121996 0 0.0
FLASH 1769422 1769422 0 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2757013 2757013 0 0.0
RAM 114360 114360 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6304952 6304952 0 0.0
RAM 532368 532368 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5429898 5429898 0 0.0
RAM 224624 224624 0 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4726974 4726974 0 0.0
RAM 202976 202976 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6804763 6804763 0 0.0
RAM 225488 225488 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14051355 14051355 0 0.0
RAM 649880 649880 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14321871 1432187 2 0.0
RAM 636864 636864 0 0.0
chip-tool-ipv6only arm64 unknown 39712 39712 0 0.0
FLASH 12355040 12355040 0 0.0
RAM 683160 683160 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12429283 12429283 0 0.0
RAM 636224 636224 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4557662 4557662 0 0.0
RAM 190256 190256 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5698373 5698373 0 0.0
RAM 486600 486600 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5627729 5627729 0 0.0
RAM 207240 207240 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4795470 4795470 0 0.0
RAM 194368 194368 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4415188 4415188 0 0.0
RAM 183088 183088 0 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4547780 4547780 0 0.0
RAM 187560 187560 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3066076 3066076 0 0.0
RAM 147920 147920 0 0.0
thermostat-no-ble arm64 unknown 9568 9568 0 0.0
FLASH 4212304 4212304 0 0.0
RAM 231048 231048 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6045621 6045621 0 0.0
RAM 610016 610016 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12487581 12487581 0 0.0
RAM 754928 754928 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 919416 0 0.0
RAM 167485 167485 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 911500 0 0.0
RAM 145729 145729 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 855940 0 0.0
RAM 141239 141239 0 0.0
nxp contact k32w0+release FLASH 590568 590568 0 0.0
RAM 72852 72852 0 0.0
mcxw71+release FLASH 622624 622624 0 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616404 616404 0 0.0
RAM 72148 72148 0 0.0
k32w1+release FLASH 706912 706912 0 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771920 771920 0 0.0
RAM 67604 67604 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665364 1665364 0 0.0
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1569612 0 0.0
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1445148 0 0.0
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1473932 0 0.0
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 667244 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 625520 0 0.0
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 464440 0 0.0
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 674472 674472 0 0.0
697590 697590 0 0.0
RAM 90728 90728 0 0.0
101876 101876 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 779406 0 0.0
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 769666 0 0.0
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 758124 758124 0 0.0
786042 786042 0 0.0
RAM 97556 97556 0 0.0
109324 109324 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 685158 685158 0 0.0
707268 707268 0 0.0
RAM 51604 51604 0 0.0
62636 62636 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 713608 713608 0 0.0
743450 743450 0 0.0
RAM 73424 73424 0 0.0
85824 85824 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 711154 0 0.0
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605628 605628 0 0.0
605170 605170 0 0.0
RAM 138656 138656 0 0.0
148720 148720 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 793126 793130 4 0.0
820656 820660 4 0.0
RAM 96412 96412 0 0.0
107584 107584 0 0.0
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1806904 0 0.0
RAM 94576 94576 0 0.0
chip-tool-ubsan arm unknown 20280 20280 0 0.0
FLASH 20391606 20391614 8 0.0
RAM 8885064 8885064 0 0.0

Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.h Outdated
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
@mergify mergify Bot added the conflict label Apr 25, 2025
@jamesharrow jamesharrow requested review from a team as code owners April 25, 2025 07:11
@mergify mergify Bot removed the conflict label Apr 25, 2025
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 25, 2025

PR #38255: Size comparison from 40ee1e9 to 42306bb

Full report (3 builds for cc32xx, stm32)
platform target config section 40ee1e9 42306bb change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 544194 0 0.0
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 578182 0 0.0
RAM 205408 205408 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 464440 0 0.0
RAM 141504 141504 0 0.0

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 25, 2025

PR #38255: Size comparison from 40ee1e9 to 8c2ff6c

Full report (46 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section 40ee1e9 8c2ff6c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1100446 0 0.0
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 655368 0 0.0
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 832618 0 0.0
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1065142 0 0.0
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 896030 0 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 978818 0 0.0
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 820268 0 0.0
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 829228 0 0.0
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 776272 0 0.0
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 760572 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 544194 0 0.0
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 578182 0 0.0
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 662237 0 0.0
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 639021 0 0.0
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 622317 0 0.0
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 641765 0 0.0
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 618161 0 0.0
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 919336 -80 -0.0
RAM 167485 167487 2 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 911420 -80 -0.0
RAM 145729 145731 2 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 855940 0 0.0
RAM 141239 141239 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665364 1665284 -80 -0.0
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1569612 0 0.0
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1445148 0 0.0
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1473932 0 0.0
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 667244 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 625520 0 0.0
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 464440 0 0.0
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 674472 674472 0 0.0
697590 697590 0 0.0
RAM 90728 90728 0 0.0
101876 101876 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 779406 0 0.0
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 769666 0 0.0
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 758124 758124 0 0.0
786042 786042 0 0.0
RAM 97556 97556 0 0.0
109324 109324 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 685158 685158 0 0.0
707268 707268 0 0.0
RAM 51604 51604 0 0.0
62636 62636 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 713608 713608 0 0.0
743450 743450 0 0.0
RAM 73424 73424 0 0.0
85824 85824 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 711154 0 0.0
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605628 605628 0 0.0
605170 605170 0 0.0
RAM 138656 138656 0 0.0
148720 148720 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 793126 793130 4 0.0
820656 820660 4 0.0
RAM 96412 96412 0 0.0
107584 107584 0 0.0
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1806896 -8 -0.0
RAM 94576 94504 -72 -0.1
chip-tool-ubsan arm unknown 20280 20232 -48 -0.2
FLASH 20391606 20374246 -17360 -0.1
RAM 8885104 8878184 -6920 -0.1

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 25, 2025

PR #38255: Size comparison from 40ee1e9 to 6b8c310

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 40ee1e9 6b8c310 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1100446 0 0.0
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 655368 0 0.0
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 832618 0 0.0
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1065142 0 0.0
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 896030 0 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 978818 0 0.0
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 820268 0 0.0
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 829228 0 0.0
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 776272 0 0.0
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 760572 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 544194 0 0.0
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 578182 0 0.0
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 662237 0 0.0
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 682097 0 0.0
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 639021 0 0.0
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 622317 0 0.0
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 641953 0 0.0
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 641765 0 0.0
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 661481 0 0.0
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 618161 0 0.0
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 638021 0 0.0
RAM 73252 73252 0 0.0
efr32 lock-app BRD4187C FLASH 943544 943544 0 0.0
RAM 132040 132040 0 0.0
BRD4338a FLASH 737720 737720 0 0.0
RAM 206932 206932 0 0.0
window-app BRD4187C FLASH 1035488 1035488 0 0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103424 103424 0 0.0
FLASH 1804066 1803986 -80 -0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121996 121996 0 0.0
FLASH 1769422 1769302 -120 -0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2757013 2757013 0 0.0
RAM 114360 114360 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6304952 6304852 -100 -0.0
RAM 532368 531760 -608 -0.1
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5429898 5429898 0 0.0
RAM 224624 224624 0 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4726974 4726974 0 0.0
RAM 202976 202976 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6804763 6804763 0 0.0
RAM 225488 225488 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14051355 14041851 -9504 -0.1
RAM 649880 648920 -960 -0.1
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14321871 14310427 -11444 -0.1
RAM 636928 635968 -960 -0.2
chip-tool-ipv6only arm64 unknown 39712 39616 -96 -0.2
FLASH 12355040 12346672 -8368 -0.1
RAM 683224 682264 -960 -0.1
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12429283 12419773 -9510 -0.1
RAM 636288 635328 -960 -0.2
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4557662 4557662 0 0.0
RAM 190256 190256 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5698373 5698373 0 0.0
RAM 486600 486088 -512 -0.1
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5627729 5627729 0 0.0
RAM 207240 207240 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4795470 4795470 0 0.0
RAM 194368 194368 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4415188 4415188 0 0.0
RAM 183088 183088 0 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4547780 4547780 0 0.0
RAM 187560 187560 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3066076 3066076 0 0.0
RAM 147920 147824 -96 -0.1
thermostat-no-ble arm64 unknown 9568 9568 0 0.0
FLASH 4212304 4212304 0 0.0
RAM 231048 231048 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6045621 6045621 0 0.0
RAM 610016 609504 -512 -0.1
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12487581 12475741 -11840 -0.1
RAM 754928 753872 -1056 -0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 919336 -80 -0.0
RAM 167485 167487 2 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 911420 -80 -0.0
RAM 145729 145731 2 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 855940 0 0.0
RAM 141239 141239 0 0.0
nxp contact k32w0+release FLASH 590568 590568 0 0.0
RAM 72852 72852 0 0.0
mcxw71+release FLASH 622624 622624 0 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616404 616404 0 0.0
RAM 72148 72148 0 0.0
k32w1+release FLASH 706912 706912 0 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771920 771920 0 0.0
RAM 67604 67604 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665364 1665284 -80 -0.0
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1569612 0 0.0
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1445148 0 0.0
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1473932 0 0.0
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 667244 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 625520 0 0.0
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 464440 0 0.0
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 697590 697590 0 0.0
RAM 101876 101876 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 779406 0 0.0
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 769666 0 0.0
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 786042 758124 -27918 -3.6
RAM 109324 97556 -11768 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 707268 685158 -22110 -3.1
RAM 62636 51604 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 743450 713608 -29842 -4.0
RAM 85824 73424 -12400 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 711154 0 0.0
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605170 605628 458 0.1
RAM 148720 138656 -10064 -6.8
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820656 793130 -27526 -3.4
RAM 107584 96412 -11172 -10.4
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1806896 -8 -0.0
RAM 94576 94504 -72 -0.1
chip-tool-ubsan arm unknown 20280 20232 -48 -0.2
FLASH 20391606 20374246 -17360 -0.1
RAM 8885104 8878184 -6920 -0.1

Copy link
Copy Markdown
Contributor Author

@jamesharrow jamesharrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated after reviews

Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
Comment thread examples/energy-gateway-app/common/include/EnergyTimeUtils.h
Comment thread src/app/clusters/commodity-price-server/commodity-price-server.cpp Outdated
@mergify mergify Bot merged commit 781292b into project-chip:master Apr 25, 2025
72 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in [Platform] Darwin Apr 25, 2025
@jamesharrow jamesharrow deleted the energy-gateway-app-2 branch April 25, 2025 12:48
sayondeep pushed a commit to sayondeep/connectedhomeip that referenced this pull request Apr 26, 2025
…ent Trigger support (project-chip#38255)

* Basic energy-gateway-app framework for Linux and ESP32 - linking issue due to device type problems bringing in expected clusters.

* Initial attempt to add new clusters based of PR 10815 - ZAP is raising error 'Unable to find cluster extension by component'

* Added missing xml files to zcl.json. Added regen of global-structs.xml and global-enums.xml (NOTE: ApparentPowerThresholds SHOULD be power_mva! but Zap does not recognise this yet.

* Temporary change of "money" to int64s whilst waiting for a ZAP change.

* Added Meter Identification cluster XML

* Updated tests.yaml and rules.matterlint to include new clusters

* .matter file updates caused by new enums

* Updated files after zap_regen_all

* New files after zap_regen_all

* Add support for money and new electrical data types

* Added new attributes for structs to attributeAccessInterfaceAttributes. Removed legacy measurement-and-sensing.xml in favour of new global-structs/global-enums.xml

* Updated .matter files after subsequent regen_all

* code autogen after moving to global structs/enums and updating structs in attributes- regen_all

* Backed out change to support SetVidVerificationStatement etc

* Enabled Commodity Price in data_model/contoller-clusters.zap. Added stub basic-type Currency. Disabled Ember in config-data.yaml. Linux now builds but aborts at start-up.

* Update chip-types.xml with new energy types and money

* Changed to use correct global struct CurrencyStruct

* Revert changes to generated attribute-type.h file

* regen_all after merging in Hasty's new types PR: project-chip#37980

* Further zap_regen_all updates after picking up fix from Hasty#s project-chip#37980

* Revert reversion of generated attribute-type.h

* Fix build issue due to moving MeasurementAccuracyStruct to global-structs.

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Update attribute-type.h

* Fix EEM/EPM clusters which use new global MeasurementAccuracyRangeStruct and MeasurementTypeEnum

* Restyled by clang-format

* Generated XML files from Alchemy for new clusters and refreshed older EM clusters with latest Alchemy.

* Added missing zap_cluster_list.json

* Added missing CurrencyStruct

* zap_regen_all

* Fix-up EEM/EPM and apps that use them because the Structs and Enums have moved to Globals:: namespace

* Fix CI issue - Re-did bootstrap to pick up new ZAP, and regen_all. Updated ChipStructs.java which was different in CI

* Reverted back to using existing measurement-and-sensing-.xml to avoid API backwards compatibility change.

* Regen_all to revert all .matter files back to remove global MeasurementType enum

* Another regen_all

* Manually added missing description to the clusters to hopefully fix the IDL parsing errors.

* Regen_all to include description tag from XML.

* Updated ChipStructs.java after previous regen_all

* Revert bad merge

* Reverted removal of measurement and sensing xml

* regen_all

* Moved MatterCommodityPricePluginServerInitCallback() to util.cpp to resolve linker error

* Reverted ElectricalPowermeasurementDelegate use of global struct

* Added basic test steps for TC_SEPR_2.1/2/3.py

* Bump zap to 2025.3.25

* Partial regen-all to update .matter files (zap-regen-all still crashes!)

* Support non-nightly versions

* Another update for logic

* Fix bad update

* Update one more extra extension

* Reverted some of the xml files that were updated by alchemy and not really needed in this pr

* Reverted EEM/EPM xml files

* Zap regen all finally fixed with increased timeout

* Merge of .github/workflows/tests.yaml had screwed up

* Fixed Linux crash on startup by adding an empty cmd handler function for now and calling ChipLinuxAppInit()

* Revert "Merge remote-tracking branch 'andrei/zap_update' into energy-gateway-app"

This reverts commit 0cc1dea, reversing
changes made to 2fd6786.

* Syncd back to Master after reverting Andrei's zap changes

* Initial stab at CommodityPriceDelegate.cpp/.h

* moved files

* Basic delegate added with ability and setting of Descriptor tags for this endpoint

* Added CommodityPriceTestEventTriggerHandler.h

* Added hooks to enable/disable chip_enable_commodity_price_trigger to Linux build

* Used TestEvent Trigger to set a Price into CurrentPrice. Needs more work but is basically working.

* Per review comment - changed copyright to only 2025

* Updated more copyright to 2025

* Update copyright commodity-price-server.cpp

* Merged Hasty's PR 38226 into TC_SEPR_2_1.py

* Currently returns a valid empty list for PriceForecast.

* Updated test case to not complain if list is empty and to check that the description and components must not be included.

* New proposed ElectricalGridConditions (EGC)

* Fixed issue in spec which caused 2nd event not to generate correctly

* Manually added new cluster to tests.yaml, rules.matterlint, zcl.json since Alchemy didn't work for some reason

* Ran zap_regen_all

* Updated XML based on Rene's PR review comments.

* Initial attempt to add a Forecast with list and sub-list and memory management

* Updated CommodityPrice XML based on Spec PR to add PriceLevel and make Events have nullable fields to match attributes.

* ZAP Regen all

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Restyled by isort

* Fix build issue caused by new spec update to make price optional

* Updated test script to allow for optional price or price level in both CommodityPrice and CommodityPriceComponent structs

* Updated test steps after spec update and test plan update.

* Moved common code into TC_SEPRTestBase. Some additional checks added to 2.2 test

* Update test scripts so that they use TestBase

* ruff fixes in python tests

* Restyled by autopep8

* Restyled by isort

* regen_all update

* Refactor - made cluster server handle 'set' operations so that it sends out a Matter Reporting callback for each attribute if it is changed.
Started making commands work but needs more work

* Refactoring to allow cluster server to retrieve a copy of the Forecast based on bitmap

* Slightly buggy version but sort of works if there is enough memory

* An update to get per entry component values. Currently had to reduce the forecast to 4 entries to get it to fit

* Clean up and fix some issues in the data and SetCurrentPrice. Removed unnecessary files now that delegate isn't really holding the data.

* More clean-up

* More clean up

* Updated zcl.json with AttributeInterface handling.

* Zap regen all once zcl.json was updated

* Had accidentally turned off FeatureMap in CommodityPrice. Now back on.

* Update commodity-price-cluster.xml based on spec PR 11569

* zap regen all

* Marked TC_SEPRTestBase as shared code (not a script)

* Update EntryToText.cpp - restore newline at EOF

* Update EntryToText.h - restore newline at EOF

* Update EntryToText.cpp - restore newline at EOF

* Update EntryToText.h - restore newline at EOF

* Align structures to corrected Price as Money type.

* Fixed IncorrectState when running commands caused by AddStatus after AddResponse

* Made the ReadAttribute and GetDetailedForecastCommand dynamically size the response to avoid packet overflow.

* Deleted unused java files so CI passes

* Completed and fixed test case TC_SEPR_2_2.

* Fixed bug introduced in last commit. TC_SEPR_2_1 now passes again

* Updated SDK to send PriceForecast events. Note that events have an overhead so not as many entries can be sent.

* Implemented TC_SEPR_2_3 and fixed other issues with test scripts.

* Restyled by isort

* Fix Lint error

* Made local copy of EnergyTimeUtils.h

* Updated linux to use local copy of EnergyTimeUtils.cpp

* Removed Python Tests so that they don't trigger build check failure.

* Revert test_metadata.yaml since we're backing out Python scripts from this PR.

* Restyled by clang-format

* Changed GetDetailedForecastRequest to take a ScopedMemoryBuffer

* Improved Memory management for GetDetailedPriceRequest()

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Remove Forecast Changed Event

* Addressing most of code review comments

* More review comment changes

* removing chip:: and moving to CharSpan::fromCharString()

* Refactored SetCurrentPrice to save a local copy into the cluster server.

* Fixed issue with wrong variable in SetCurrentPrice - removed unused variable now - seen when sending multiple triggers.

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Further review comments fixed in SetCurrentPrice()

* Further refinement on SetCurrentPrice deep copy

* Fixed issues with wrong buffer and a bug in the .component.Value() called without checking .HasValue() first

* Removed byte counting nonsense now we have Large Message support

* Renamed function

* Avoid error when it is ok not to have allocated sub-elements

* Missing .matter file after regen_all after merge causing CI issues.

* Update src/app/clusters/commodity-price-server/commodity-price-server.h

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Merge from Master

* Revert "Merge from Master"

This reverts commit bf42fda.

* Tidy up AppMain.cpp after merge

* Fixed another merge error

* Removed VerifyOrDie when checking that memory should already be free'd. Free it if allocated.

* Fixed GetEpochTS (again) - merge issue?

---------

Co-authored-by: Hasty Granbery <hasty@granbery.org>
Co-authored-by: Hasty Granbery <granbery@google.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Andrei Litvin <andreilitvin@google.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
dsavitsky-dsr pushed a commit to popovdg/connectedhomeip that referenced this pull request Apr 29, 2025
…ent Trigger support (project-chip#38255)

* Basic energy-gateway-app framework for Linux and ESP32 - linking issue due to device type problems bringing in expected clusters.

* Initial attempt to add new clusters based of PR 10815 - ZAP is raising error 'Unable to find cluster extension by component'

* Added missing xml files to zcl.json. Added regen of global-structs.xml and global-enums.xml (NOTE: ApparentPowerThresholds SHOULD be power_mva! but Zap does not recognise this yet.

* Temporary change of "money" to int64s whilst waiting for a ZAP change.

* Added Meter Identification cluster XML

* Updated tests.yaml and rules.matterlint to include new clusters

* .matter file updates caused by new enums

* Updated files after zap_regen_all

* New files after zap_regen_all

* Add support for money and new electrical data types

* Added new attributes for structs to attributeAccessInterfaceAttributes. Removed legacy measurement-and-sensing.xml in favour of new global-structs/global-enums.xml

* Updated .matter files after subsequent regen_all

* code autogen after moving to global structs/enums and updating structs in attributes- regen_all

* Backed out change to support SetVidVerificationStatement etc

* Enabled Commodity Price in data_model/contoller-clusters.zap. Added stub basic-type Currency. Disabled Ember in config-data.yaml. Linux now builds but aborts at start-up.

* Update chip-types.xml with new energy types and money

* Changed to use correct global struct CurrencyStruct

* Revert changes to generated attribute-type.h file

* regen_all after merging in Hasty's new types PR: project-chip#37980

* Further zap_regen_all updates after picking up fix from Hasty#s project-chip#37980

* Revert reversion of generated attribute-type.h

* Fix build issue due to moving MeasurementAccuracyStruct to global-structs.

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Update attribute-type.h

* Fix EEM/EPM clusters which use new global MeasurementAccuracyRangeStruct and MeasurementTypeEnum

* Restyled by clang-format

* Generated XML files from Alchemy for new clusters and refreshed older EM clusters with latest Alchemy.

* Added missing zap_cluster_list.json

* Added missing CurrencyStruct

* zap_regen_all

* Fix-up EEM/EPM and apps that use them because the Structs and Enums have moved to Globals:: namespace

* Fix CI issue - Re-did bootstrap to pick up new ZAP, and regen_all. Updated ChipStructs.java which was different in CI

* Reverted back to using existing measurement-and-sensing-.xml to avoid API backwards compatibility change.

* Regen_all to revert all .matter files back to remove global MeasurementType enum

* Another regen_all

* Manually added missing description to the clusters to hopefully fix the IDL parsing errors.

* Regen_all to include description tag from XML.

* Updated ChipStructs.java after previous regen_all

* Revert bad merge

* Reverted removal of measurement and sensing xml

* regen_all

* Moved MatterCommodityPricePluginServerInitCallback() to util.cpp to resolve linker error

* Reverted ElectricalPowermeasurementDelegate use of global struct

* Added basic test steps for TC_SEPR_2.1/2/3.py

* Bump zap to 2025.3.25

* Partial regen-all to update .matter files (zap-regen-all still crashes!)

* Support non-nightly versions

* Another update for logic

* Fix bad update

* Update one more extra extension

* Reverted some of the xml files that were updated by alchemy and not really needed in this pr

* Reverted EEM/EPM xml files

* Zap regen all finally fixed with increased timeout

* Merge of .github/workflows/tests.yaml had screwed up

* Fixed Linux crash on startup by adding an empty cmd handler function for now and calling ChipLinuxAppInit()

* Revert "Merge remote-tracking branch 'andrei/zap_update' into energy-gateway-app"

This reverts commit 0cc1dea, reversing
changes made to 2fd6786.

* Syncd back to Master after reverting Andrei's zap changes

* Initial stab at CommodityPriceDelegate.cpp/.h

* moved files

* Basic delegate added with ability and setting of Descriptor tags for this endpoint

* Added CommodityPriceTestEventTriggerHandler.h

* Added hooks to enable/disable chip_enable_commodity_price_trigger to Linux build

* Used TestEvent Trigger to set a Price into CurrentPrice. Needs more work but is basically working.

* Per review comment - changed copyright to only 2025

* Updated more copyright to 2025

* Update copyright commodity-price-server.cpp

* Merged Hasty's PR 38226 into TC_SEPR_2_1.py

* Currently returns a valid empty list for PriceForecast.

* Updated test case to not complain if list is empty and to check that the description and components must not be included.

* New proposed ElectricalGridConditions (EGC)

* Fixed issue in spec which caused 2nd event not to generate correctly

* Manually added new cluster to tests.yaml, rules.matterlint, zcl.json since Alchemy didn't work for some reason

* Ran zap_regen_all

* Updated XML based on Rene's PR review comments.

* Initial attempt to add a Forecast with list and sub-list and memory management

* Updated CommodityPrice XML based on Spec PR to add PriceLevel and make Events have nullable fields to match attributes.

* ZAP Regen all

* Restyled by whitespace

* Restyled by clang-format

* Restyled by gn

* Restyled by isort

* Fix build issue caused by new spec update to make price optional

* Updated test script to allow for optional price or price level in both CommodityPrice and CommodityPriceComponent structs

* Updated test steps after spec update and test plan update.

* Moved common code into TC_SEPRTestBase. Some additional checks added to 2.2 test

* Update test scripts so that they use TestBase

* ruff fixes in python tests

* Restyled by autopep8

* Restyled by isort

* regen_all update

* Refactor - made cluster server handle 'set' operations so that it sends out a Matter Reporting callback for each attribute if it is changed.
Started making commands work but needs more work

* Refactoring to allow cluster server to retrieve a copy of the Forecast based on bitmap

* Slightly buggy version but sort of works if there is enough memory

* An update to get per entry component values. Currently had to reduce the forecast to 4 entries to get it to fit

* Clean up and fix some issues in the data and SetCurrentPrice. Removed unnecessary files now that delegate isn't really holding the data.

* More clean-up

* More clean up

* Updated zcl.json with AttributeInterface handling.

* Zap regen all once zcl.json was updated

* Had accidentally turned off FeatureMap in CommodityPrice. Now back on.

* Update commodity-price-cluster.xml based on spec PR 11569

* zap regen all

* Marked TC_SEPRTestBase as shared code (not a script)

* Update EntryToText.cpp - restore newline at EOF

* Update EntryToText.h - restore newline at EOF

* Update EntryToText.cpp - restore newline at EOF

* Update EntryToText.h - restore newline at EOF

* Align structures to corrected Price as Money type.

* Fixed IncorrectState when running commands caused by AddStatus after AddResponse

* Made the ReadAttribute and GetDetailedForecastCommand dynamically size the response to avoid packet overflow.

* Deleted unused java files so CI passes

* Completed and fixed test case TC_SEPR_2_2.

* Fixed bug introduced in last commit. TC_SEPR_2_1 now passes again

* Updated SDK to send PriceForecast events. Note that events have an overhead so not as many entries can be sent.

* Implemented TC_SEPR_2_3 and fixed other issues with test scripts.

* Restyled by isort

* Fix Lint error

* Made local copy of EnergyTimeUtils.h

* Updated linux to use local copy of EnergyTimeUtils.cpp

* Removed Python Tests so that they don't trigger build check failure.

* Revert test_metadata.yaml since we're backing out Python scripts from this PR.

* Restyled by clang-format

* Changed GetDetailedForecastRequest to take a ScopedMemoryBuffer

* Improved Memory management for GetDetailedPriceRequest()

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Remove Forecast Changed Event

* Addressing most of code review comments

* More review comment changes

* removing chip:: and moving to CharSpan::fromCharString()

* Refactored SetCurrentPrice to save a local copy into the cluster server.

* Fixed issue with wrong variable in SetCurrentPrice - removed unused variable now - seen when sending multiple triggers.

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Further review comments fixed in SetCurrentPrice()

* Further refinement on SetCurrentPrice deep copy

* Fixed issues with wrong buffer and a bug in the .component.Value() called without checking .HasValue() first

* Removed byte counting nonsense now we have Large Message support

* Renamed function

* Avoid error when it is ok not to have allocated sub-elements

* Missing .matter file after regen_all after merge causing CI issues.

* Update src/app/clusters/commodity-price-server/commodity-price-server.h

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>

* Merge from Master

* Revert "Merge from Master"

This reverts commit bf42fda.

* Tidy up AppMain.cpp after merge

* Fixed another merge error

* Removed VerifyOrDie when checking that memory should already be free'd. Free it if allocated.

* Fixed GetEpochTS (again) - merge issue?

---------

Co-authored-by: Hasty Granbery <hasty@granbery.org>
Co-authored-by: Hasty Granbery <granbery@google.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Andrei Litvin <andreilitvin@google.com>
Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants