Hallo Community
Wie kann ich eine Komponente (Controller) aus dem UI aktivieren bzw. deaktivieren oder ganz allgemein konfigurieren? Ich möchte nicht gehen über:
UI -> Menü -> Einstellungen -> Komponenten konfigurieren
Gibt es dafür einen Channel oder muss das erfolgen über:
jsonrpc -> Edge -> Component.deactivate()
Vielen Dank!
Hi,
es gibt sehr viele Möglichkeiten, die Konfiguration in OpenEMS zu ändern.
- JSON RPC über HTTP
- JSON RPC über Websockets
Für beide Fälle müsste man die folgende Anfrage an OpenEMS senden:
{
"method": "updateComponentConfig",
"params": {
"componentId": "yourFancyComponentId",
"properties": [{
"name": "enabled",
"value": true
}]
}
}
Diese Methode ist auch in der Dokumentation beschrieben.
Wenn du abenteuerlustig bist, kannst du auch über Apache Felix Webconsole gehen. Dort kann man die Konfiguration auch über die REST API erledigen.
Beispielsweise könnte man die Einstellung enabled
mit der folgende Anfrage setzen:
$ curl -u admin:admin -X POST -d "enabled=true" http://localhost:8080/system/console/configMgr/io.openems.edge.mycomponent
Die Beschreibung der REST API findest du in der Dokumentation von Apache Felix
Viele Grüße
2 Likes
Hi Lóránt
Danke für den Hinweis auf die Methode updateComponentConfig
.
Ich hätte sonst vom Controller abgeleitet, handleJsonrpcRequest
implementiert und die Komponente manuell deaktiviert.
So ist es einfacher 