blob: e799fc47d2a2283ce181edf9d2a4acb719badfde [file] [log] [blame]
/*
*
* Copyright (c) 2023 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <app-common/zap-generated/ids/Attributes.h>
#include <app-common/zap-generated/ids/Clusters.h>
#include <app/clusters/concentration-measurement-server/concentration-measurement-server.h>
using namespace chip;
using namespace chip::app;
using namespace chip::app::DataModel;
using namespace chip::app::Clusters;
using namespace chip::app::Clusters::ConcentrationMeasurement;
static Instance gCarbonDioxideConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), CarbonDioxideConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gCarbonMonoxideConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), CarbonMonoxideConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gNitrogenDioxideConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), NitrogenDioxideConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gPm1ConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), Pm1ConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gPm10ConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), Pm10ConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gPm25ConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), Pm25ConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gRadonConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), RadonConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, MeasurementMediumEnum::kAir,
MeasurementUnitEnum::kPpm);
static Instance gOzoneConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), OzoneConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
static Instance gFormaldehydeConcentrationMeasurementInstance =
CreateNumericMeasurementAndLevelIndicationConcentrationCluster<true, true, true, true>(
EndpointId(1), FormaldehydeConcentrationMeasurement::Id, MeasurementMediumEnum::kAir, MeasurementUnitEnum::kPpm);
void emberAfCarbonDioxideConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gCarbonDioxideConcentrationMeasurementInstance.Init();
gCarbonDioxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gCarbonDioxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gCarbonDioxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(2.0f));
gCarbonDioxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gCarbonDioxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gCarbonDioxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gCarbonDioxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gCarbonDioxideConcentrationMeasurementInstance.SetUncertainty(0.0f);
gCarbonDioxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfCarbonMonoxideConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gCarbonMonoxideConcentrationMeasurementInstance.Init();
gCarbonMonoxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gCarbonMonoxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gCarbonMonoxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gCarbonMonoxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gCarbonMonoxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gCarbonMonoxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gCarbonMonoxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gCarbonMonoxideConcentrationMeasurementInstance.SetUncertainty(0.0f);
gCarbonMonoxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfNitrogenDioxideConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gNitrogenDioxideConcentrationMeasurementInstance.Init();
gNitrogenDioxideConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gNitrogenDioxideConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gNitrogenDioxideConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gNitrogenDioxideConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gNitrogenDioxideConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gNitrogenDioxideConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gNitrogenDioxideConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gNitrogenDioxideConcentrationMeasurementInstance.SetUncertainty(0.0f);
gNitrogenDioxideConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfPm1ConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gPm1ConcentrationMeasurementInstance.Init();
gPm1ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gPm1ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gPm1ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gPm1ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gPm1ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gPm1ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gPm1ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gPm1ConcentrationMeasurementInstance.SetUncertainty(0.0f);
gPm1ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfPm10ConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gPm10ConcentrationMeasurementInstance.Init();
gPm10ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gPm10ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gPm10ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gPm10ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gPm10ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gPm10ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gPm10ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gPm10ConcentrationMeasurementInstance.SetUncertainty(0.0f);
gPm10ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfPm25ConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gPm25ConcentrationMeasurementInstance.Init();
gPm25ConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gPm25ConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gPm25ConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gPm25ConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gPm25ConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gPm25ConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gPm25ConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gPm25ConcentrationMeasurementInstance.SetUncertainty(0.0f);
gPm25ConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfRadonConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gRadonConcentrationMeasurementInstance.Init();
gRadonConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gRadonConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gRadonConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gRadonConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gRadonConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gRadonConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gRadonConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gRadonConcentrationMeasurementInstance.SetUncertainty(0.0f);
gRadonConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfTotalVolatileOrganicCompoundsConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.Init();
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetUncertainty(0.0f);
gTotalVolatileOrganicCompoundsConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfOzoneConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gOzoneConcentrationMeasurementInstance.Init();
gOzoneConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gOzoneConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gOzoneConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gOzoneConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gOzoneConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gOzoneConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gOzoneConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gOzoneConcentrationMeasurementInstance.SetUncertainty(0.0f);
gOzoneConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}
void emberAfFormaldehydeConcentrationMeasurementClusterInitCallback(EndpointId endpoint)
{
gFormaldehydeConcentrationMeasurementInstance.Init();
gFormaldehydeConcentrationMeasurementInstance.SetMinMeasuredValue(MakeNullable(0.0f));
gFormaldehydeConcentrationMeasurementInstance.SetMaxMeasuredValue(MakeNullable(1000.0f));
gFormaldehydeConcentrationMeasurementInstance.SetMeasuredValue(MakeNullable(1.0f));
gFormaldehydeConcentrationMeasurementInstance.SetPeakMeasuredValue(MakeNullable(1.0f));
gFormaldehydeConcentrationMeasurementInstance.SetPeakMeasuredValueWindow(320);
gFormaldehydeConcentrationMeasurementInstance.SetAverageMeasuredValue(MakeNullable(1.0f));
gFormaldehydeConcentrationMeasurementInstance.SetAverageMeasuredValueWindow(320);
gFormaldehydeConcentrationMeasurementInstance.SetUncertainty(0.0f);
gFormaldehydeConcentrationMeasurementInstance.SetLevelValue(LevelValueEnum::kLow);
}