Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/mqtt v 3 #1752

Closed
wants to merge 21 commits into from
Closed

Conversation

DerStoecki
Copy link
Contributor

Hallo Stefan,
Hallo Community,

Unsere Implementierung von MQTT der Version 3.1.1 ist hier,
Hier wird es möglich, individuelle Payloads, und topics für einzelne OpenEMS Komponenten anzugeben und zu pushen.
Außerdem können virtuelle Werte subscribed und in Channel geschrieben werden.

Dies ist außerdem die Grundlage für den später folgenden "Optimizer" der der unseren Fahrplan der FleXa analysiert und aufteilt sowie dann optimierte Steuerung von einzelnen komponenten ermöglicht

Bei Fragen stehe ich zur Verfügung :)

Felix added 21 commits April 23, 2021 14:45
-This Implementation allows the use of MQTT v. 3.1.1
- Configure a Broker with URL xor a Combination of IP, Port, Basepath, ConnectionType
- Add an optional Last Will
- Use TelemetryComponent to configure on the fly your openems components with differenty payloads and topics to publish and subscribe values depending on a key:Value pair
- Publish: set up a Key:value concatination to publish channel values mapped to a key
- Subscribe: Subscribe a Key within a topic and write the Value to the mapped Channel
- Within every configuration it is possible to set multiple payloads and topics where each topic gets 1 payload
- map the same payload to different topics
- each configuration entry of publish/subscribe -> set up priority, QoS, RetainFlag, Payload, TimeInterval for push / refresh subscription
- add an optional timestamp to the payload of each publish / subscribe config entry
When the "OtherComponent" is configured, telemetry/Command component will sort the Channels of the other component by ne id and display them in the Configuration
At the beginning of developing the MqttBridge I wanted to do something with the different connections
But since this feature is not needed within the Publish/Subscribe Manager, different Connections can be removed -> only 2 instead of 6 Connections are now needed by the MqttManager.
Since there will be only 2 connections now instead of 6 -> Executor Max Time could be reduced
We noticed, that some OpenEMS Components add some of their channel later on, after instatiation (SMA PV Invert for example)
That's why we added a method to check for that
@DerStoecki DerStoecki closed this Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant