967967</ li >
968968
969969 < li class ="md-nav__item ">
970- < a href ="#targetcomponentscategoryset " class ="md-nav__link ">
970+ < a href ="#targetcomponentscategoryandtype " class ="md-nav__link ">
971971 < span class ="md-ellipsis ">
972- TargetComponents.CategorySet
972+ TargetComponents.CategoryAndType
973+ </ span >
974+ </ a >
975+
976+ </ li >
977+
978+ < li class ="md-nav__item ">
979+ < a href ="#targetcomponentscategorytypeset " class ="md-nav__link ">
980+ < span class ="md-ellipsis ">
981+ TargetComponents.CategoryTypeSet
973982 </ span >
974983 </ a >
975984
18201829</ li >
18211830
18221831 < li class ="md-nav__item ">
1823- < a href ="#targetcomponentscategoryset " class ="md-nav__link ">
1832+ < a href ="#targetcomponentscategoryandtype " class ="md-nav__link ">
1833+ < span class ="md-ellipsis ">
1834+ TargetComponents.CategoryAndType
1835+ </ span >
1836+ </ a >
1837+
1838+ </ li >
1839+
1840+ < li class ="md-nav__item ">
1841+ < a href ="#targetcomponentscategorytypeset " class ="md-nav__link ">
18241842 < span class ="md-ellipsis ">
1825- TargetComponents.CategorySet
1843+ TargetComponents.CategoryTypeSet
18261844 </ span >
18271845 </ a >
18281846
@@ -2054,7 +2072,8 @@ <h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-o
20542072< li > < a href ="#frequenz-api-dispatch-v1-StreamMicrogridDispatchesRequest "> StreamMicrogridDispatchesRequest</ a > </ li >
20552073< li > < a href ="#frequenz-api-dispatch-v1-StreamMicrogridDispatchesResponse "> StreamMicrogridDispatchesResponse</ a > </ li >
20562074< li > < a href ="#frequenz-api-dispatch-v1-TargetComponents "> TargetComponents</ a > </ li >
2057- < li > < a href ="#frequenz-api-dispatch-v1-TargetComponents-CategorySet "> TargetComponents.CategorySet</ a > </ li >
2075+ < li > < a href ="#frequenz-api-dispatch-v1-TargetComponents-CategoryAndType "> TargetComponents.CategoryAndType</ a > </ li >
2076+ < li > < a href ="#frequenz-api-dispatch-v1-TargetComponents-CategoryTypeSet "> TargetComponents.CategoryTypeSet</ a > </ li >
20582077< li > < a href ="#frequenz-api-dispatch-v1-TargetComponents-IdSet "> TargetComponents.IdSet</ a > </ li >
20592078< li > < a href ="#frequenz-api-dispatch-v1-TimeIntervalFilter "> TimeIntervalFilter</ a > </ li >
20602079< li > < a href ="#frequenz-api-dispatch-v1-UpdateMicrogridDispatchRequest "> UpdateMicrogridDispatchRequest</ a > </ li >
@@ -2716,12 +2735,19 @@ <h3 id="streammicrogriddispatchesresponse">StreamMicrogridDispatchesResponse<a c
27162735< p > < a name ="frequenz-api-dispatch-v1-TargetComponents "> </ a > </ p >
27172736< h3 id ="targetcomponents "> TargetComponents< a class ="headerlink " href ="#targetcomponents " title ="Permanent link "> ¤</ a > </ h3 >
27182737< p > Parameter for controlling which components a dispatch applies to
2719- either a set of component IDs, or a set of component categories.
2738+ either a set of component IDs, or a set of component categories (with optional type) .
27202739Examples:
27212740- To dispatch to a set of component IDs:
27222741 components { component_ids { ids: [1, 2, 3] } }
27232742- To dispatch to a set of component categories:
2724- components { component_categories { categories: [COMPONENT_CATEGORY_BATTERY, COMPONENT_CRYPTO_MINER] } }</ p >
2743+ components {
2744+ component_categories {
2745+ categories: [
2746+ {category: COMPONENT_CATEGORY_BATTERY, type: BATTERY_TYPE_LI_ION},
2747+ {cateogry: COMPONENT_CRYPTO_MINER}
2748+ ]
2749+ }
2750+ }</ p >
27252751< table >
27262752< thead >
27272753< tr >
@@ -2740,15 +2766,56 @@ <h3 id="targetcomponents">TargetComponents<a class="headerlink" href="#targetcom
27402766</ tr >
27412767< tr >
27422768< td > component_categories</ td >
2743- < td > < a href ="#frequenz-api-dispatch-v1-TargetComponents-CategorySet "> TargetComponents.CategorySet </ a > </ td >
2769+ < td > < a href ="#frequenz-api-dispatch-v1-TargetComponents-CategoryTypeSet "> TargetComponents.CategoryTypeSet </ a > </ td >
27442770< td > </ td >
27452771< td > Component categories</ td >
27462772</ tr >
27472773</ tbody >
27482774</ table >
2749- < p > < a name ="frequenz-api-dispatch-v1-TargetComponents-CategorySet "> </ a > </ p >
2750- < h3 id ="targetcomponentscategoryset "> TargetComponents.CategorySet< a class ="headerlink " href ="#targetcomponentscategoryset " title ="Permanent link "> ¤</ a > </ h3 >
2751- < p > Wrapper for controlling dispatches with a set of component categories
2775+ < p > < a name ="frequenz-api-dispatch-v1-TargetComponents-CategoryAndType "> </ a > </ p >
2776+ < h3 id ="targetcomponentscategoryandtype "> TargetComponents.CategoryAndType< a class ="headerlink " href ="#targetcomponentscategoryandtype " title ="Permanent link "> ¤</ a > </ h3 >
2777+ < p > A tuple of a required category and an optional type
2778+ If a type is specified, it must be a valid type for the given category and
2779+ only components of that type will be targeted.</ p >
2780+ < table >
2781+ < thead >
2782+ < tr >
2783+ < th > Field</ th >
2784+ < th > Type</ th >
2785+ < th > Label</ th >
2786+ < th > Description</ th >
2787+ </ tr >
2788+ </ thead >
2789+ < tbody >
2790+ < tr >
2791+ < td > category</ td >
2792+ < td > < a href ="#frequenz-api-common-v1-microgrid-components-ComponentCategory "> frequenz.api.common.v1.microgrid.components.ComponentCategory</ a > </ td >
2793+ < td > </ td >
2794+ < td > The category of the target component (required)</ td >
2795+ </ tr >
2796+ < tr >
2797+ < td > battery</ td >
2798+ < td > < a href ="#frequenz-api-common-v1-microgrid-components-BatteryType "> frequenz.api.common.v1.microgrid.components.BatteryType</ a > </ td >
2799+ < td > </ td >
2800+ < td > The type of battery Only applicable if the category is COMPONENT_CATEGORY_BATTERY</ td >
2801+ </ tr >
2802+ < tr >
2803+ < td > inverter</ td >
2804+ < td > < a href ="#frequenz-api-common-v1-microgrid-components-InverterType "> frequenz.api.common.v1.microgrid.components.InverterType</ a > </ td >
2805+ < td > </ td >
2806+ < td > The type of solar array Only applicable if the category is COMPONENT_CATEGORY_INVERTER</ td >
2807+ </ tr >
2808+ < tr >
2809+ < td > ev_charger</ td >
2810+ < td > < a href ="#frequenz-api-common-v1-microgrid-components-EvChargerType "> frequenz.api.common.v1.microgrid.components.EvChargerType</ a > </ td >
2811+ < td > </ td >
2812+ < td > The type of EV charger Only applicable if the category is COMPONENT_CATEGORY_EV_CHARGER</ td >
2813+ </ tr >
2814+ </ tbody >
2815+ </ table >
2816+ < p > < a name ="frequenz-api-dispatch-v1-TargetComponents-CategoryTypeSet "> </ a > </ p >
2817+ < h3 id ="targetcomponentscategorytypeset "> TargetComponents.CategoryTypeSet< a class ="headerlink " href ="#targetcomponentscategorytypeset " title ="Permanent link "> ¤</ a > </ h3 >
2818+ < p > Wrapper for controlling dispatches with a set of component categories and optional types
27522819Required as we can't use < code > repeated</ code > directly in a < code > oneof</ code > </ p >
27532820< table >
27542821< thead >
@@ -2762,7 +2829,7 @@ <h3 id="targetcomponentscategoryset">TargetComponents.CategorySet<a class="heade
27622829< tbody >
27632830< tr >
27642831< td > categories</ td >
2765- < td > < a href ="#frequenz-api-common -v1-microgrid-components-ComponentCategory " > frequenz.api.common.v1.microgrid.components.ComponentCategory </ a > </ td >
2832+ < td > < a href ="#frequenz-api-dispatch -v1-TargetComponents-CategoryAndType " > TargetComponents.CategoryAndType </ a > </ td >
27662833< td > repeated</ td >
27672834< td > Set of component categories</ td >
27682835</ tr >
0 commit comments