Skip to content

Commit 2f17c9a

Browse files
add faq entry about mqtt outdated (#941)
Co-authored-by: Michael Geers <michael@geers.tv>
1 parent 4836685 commit 2f17c9a

4 files changed

Lines changed: 54 additions & 2 deletions

File tree

docs/devices/plugins.mdx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,20 @@ Schaue in die [Modbus Dokumentation](/docs/reference/modbus) für weitere Detail
382382
Das `mqtt`-Plugin ermöglicht das Lesen von Werten über MQTT-Topics.
383383
Das ist insbesondere für Strommessgeräte nützlich, z. B. wenn diese ihre Daten bereits über MQTT bereitstellen.
384384
Schaue in die [MBMD Dokumentation](https://github.com/volkszaehler/mbmd) für ein Beispiel, wie man Modbus Messdaten in MQTT bekommt.
385-
Das Plugin bietet auch die Fähigkeit JSON Datenstrukturen über jq-ähnliche Abfragen zu lesen oder zu parsen (Siehe [HTTP plugin](#http)).
385+
386+
**Parameter (Lesen)**:
387+
388+
| Parameter | Typ | Erfordert | Beschreibung |
389+
| --------- | -------- | --------- | ------------------------------------------------------------------------ |
390+
| topic | string | ja | MQTT Topic zum Lesen |
391+
| timeout | duration | nein | Maximales Alter empfangener Werte |
392+
| scale | float | nein | Skalierungsfaktor für Ergebnis (z. B. 0.001 für Wh zu kWh Konvertierung) |
393+
394+
Das Plugin gibt einen Fehler zurück, wenn innerhalb der `timeout` Dauer kein neuer Wert empfangen wurde.
395+
Wenn `timeout` nicht gesetzt ist, werden Werte beliebigen Alters akzeptiert, sobald die erste Nachricht empfangen wurde.
396+
Es wird empfohlen, einen Timeout zu setzen, um zu erkennen, wenn die Quelle keine aktuellen Daten mehr liefert.
397+
398+
Für die Datenextraktion stehen die unter [Lesen](#lesen) beschriebenen Pipeline-Parameter zur Verfügung (`regex`, `jq`, `quote`, etc.).
386399

387400
**Beispiel Lesen**:
388401

@@ -393,6 +406,13 @@ timeout: 30s # don't accept values older than timeout
393406
scale: 0.001 # factor applied to result, e.g. for Wh to kWh conversion
394407
```
395408

409+
**Parameter (Schreiben)**:
410+
411+
| Parameter | Typ | Erfordert | Beschreibung |
412+
| --------- | ------ | --------- | ----------------------------------------------------------------------- |
413+
| topic | string | ja | MQTT Topic zum Schreiben |
414+
| payload | string | nein | Payload-Template (verwendet Wert im Standardformat, wenn nicht gesetzt) |
415+
396416
Für den Schreibzugriff werden die Daten mit dem Attribut `payload` bereitgestellt.
397417
Falls dieser Parameter in der Konfiguration fehlt, wird der Wert im Standardformat geschrieben.
398418

docs/faq.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ Dort werden dann auch Fehlerhinweise gegeben, die den Start des Service verhinde
191191
Mittels der oben genannten Tests kann man diesen Fehlern auf den Grund gehen und sie beheben.
192192
Erst wenn alles fehlerfrei ist, sollte der Service gestartet werden.
193193

194+
### MQTT plugin gibt `outdated` Warnung
195+
196+
Bei der Nutzung des [MQTT plugins](devices/plugins#mqtt) kann über den `timeout` parameter gesteuert werden, wie lange ein Wert der per MQTT erhalten wurde, gültig ist.
197+
Wenn kein neuer Wert innerhalb dieser Zeit kommt, ist der Wert für evcc `outdated`.
198+
Wichtig ist, dass hier eine Einheit mit angegeben werden muss, also z.B. `timeout: 30s`
199+
194200
## Laden
195201

196202
### Auto lädt beim Einstecken obwohl kein Überschuss vorhanden ist

i18n/en/docusaurus-plugin-content-docs/current/devices/plugins.mdx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,20 @@ See the [Modbus Documentation](/docs/reference/modbus) for more details.
382382
The `mqtt` plugin enables reading values via MQTT topics.
383383
This is particularly useful for power meters, e.g. when they already provide their data via MQTT.
384384
See the [MBMD Documentation](https://github.com/volkszaehler/mbmd) for an example of how to get Modbus measurement data into MQTT.
385-
The plugin also offers the ability to read or parse JSON data structures via jq-like queries (see [HTTP plugin](#http)).
385+
386+
**Parameters (Reading)**:
387+
388+
| Parameter | Type | Required | Description |
389+
| --------- | -------- | -------- | --------------------------------------------------------------- |
390+
| topic | string | yes | MQTT topic to read from |
391+
| timeout | duration | no | Maximum age of received values |
392+
| scale | float | no | Scaling factor for result (e.g. 0.001 for Wh to kWh conversion) |
393+
394+
The plugin returns an error if no new value has been received within the `timeout` duration.
395+
If `timeout` is not set, values of any age are accepted once the first message has been received.
396+
It is recommended to set a timeout to detect when the source is no longer providing current data.
397+
398+
For data extraction, the pipeline parameters described under [Reading](#reading) are available (`regex`, `jq`, `quote`, etc.).
386399

387400
**Reading Example**:
388401

@@ -393,6 +406,13 @@ timeout: 30s # don't accept values older than timeout
393406
scale: 0.001 # factor applied to result, e.g. for Wh to kWh conversion
394407
```
395408

409+
**Parameters (Writing)**:
410+
411+
| Parameter | Type | Required | Description |
412+
| --------- | ------ | -------- | ---------------------------------------------------------- |
413+
| topic | string | yes | MQTT topic to write to |
414+
| payload | string | no | Payload template (uses value in default format if not set) |
415+
396416
For write access, the data is provided with the `payload` attribute.
397417
If this parameter is missing from the configuration, the value is written in the default format.
398418

i18n/en/docusaurus-plugin-content-docs/current/faq.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ It's not uncommon for errors to be overlooked in the configuration, saved, and t
195195

196196
To help diagnose the problem, run `evcc` directly from the terminal - this should hopefully give you a better idea of what's going on.
197197

198+
### MQTT plugin shows `outdated` warning
199+
200+
When using the [MQTT plugin](devices/plugins#mqtt), you can control how long a value received via MQTT remains valid using the `timeout` parameter.
201+
If no new value arrives within this time, the value is considered `outdated` by evcc.
202+
It is important to specify a unit here, e.g. `timeout: 30s`.
203+
198204
## Charging
199205

200206
### Vehicle starts charging when plugged in, even though there's no surplus

0 commit comments

Comments
 (0)