# Question about component structure in edge

**URL:** <https://community.openems.io/t/question-about-component-structure-in-edge/10673>\
**Category:** English Forum\
**Created:** [December 20, 2025, 12:47pm UTC](https://community.openems.io/t/question-about-component-structure-in-edge/10673 "2025-12-20T12:47:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sjjh](https://community.openems.io/user_avatar/community.openems.io/sjjh/32/2296_2.png) [@sjjh](https://community.openems.io/u/sjjh)\
**Post date:** [December 20, 2025, 12:47pm UTC](https://community.openems.io/t/question-about-component-structure-in-edge/10673/1 "2025-12-20T12:47:17Z")

</div>

Using the UI to add or configure components within the edge, I’m sometimes confused by the structure/clustering of the components into the different categories. Let’s have a look at following example: If I search for _channel threshold_ I do get two `controllers` that sound very similar in their description, one taking one threshold into account and the other taking two thresholds into account:

 ![grafik](https://community.openems.io/uploads/default/original/2X/0/07e4a1df169920d0ae1d64faff48ccad29836c39.png)  
But they are in two different sections, one is clustered as `i/o-control`, the other as `special-controller`.  
If I read the [controller documentation](https://openems.github.io/openems.io/openems/latest/edge/controller.html) I can find both, one in section [10. Channel-Threshold](https://openems.github.io/openems.io/openems/latest/edge/controller.html#_channel_threshold) (BTW the description reads more like the description of the other controller to me!?) and the other one in section [42. IO Channel-Single-Threshold](https://openems.github.io/openems.io/openems/latest/edge/controller.html#_io_channel_single_threshold). For the second one, the [source code link](https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.channelsinglethreshold) actually leads to `404`, the [correct source code link](https://github.com/OpenEMS/openems/tree/develop/io.openems.edge.controller.io.channelsinglethreshold) would contain an `io` in the url.  
Can someone please explain it to me? 🙂

---

<div class="post-metadata">

**Author:** ![stefan.feilmeier](https://community.openems.io/user_avatar/community.openems.io/stefan.feilmeier/32/2585_2.png) [@stefan.feilmeier](https://community.openems.io/u/stefan.feilmeier)\
**Post date:** [December 21, 2025, 9:22pm UTC](https://community.openems.io/t/question-about-component-structure-in-edge/10673/2 "2025-12-21T21:22:38Z")

</div>

Well no, there is no clearly defined structure here. Honestly we focus more on structuring the OpenEMS (FEMS) Apps into categories.

Still - if you feel there is a logical problem - like described in your post: feel free to create a PR.

Thanks! Stefan
