@@ -41,6 +41,7 @@ Zusätzlich können Plugins auch für die in [Messaging](/de/reference/configura
4141- [ Convert Plugin] ( #convert ) - Meta-Plugin zur Datentyp-Konvertierung beim Schreiben (z. B. float zu int).
4242- [ Delta Plugin] ( #delta ) - Meta-Plugin zur Umwandlung von absoluten Werten in Änderungswerte (Deltas) beim Schreiben.
4343- [ Ignore Plugin] ( #ignore ) - Meta-Plugin zum Unterdrücken spezifischer Fehlermeldungen.
44+ - [ IfElse Plugin] ( #ifelse ) - Meta-Plugin für bedingte Schreibvorgänge mit zwei Zweigen (if/else).
4445- [ Map Plugin] ( #map ) - Meta-Plugin zur Übersetzung von Integer-Werten (z. B. gerätespezifische Modi in evcc-Modi).
4546- [ Meter Plugin] ( #meter-plugin ) - Plugin um ein anderes Messgerät als Datenquelle zu verwenden.
4647- [ Sequence Plugin] ( #sequence ) - Meta-Plugin zur sequentiellen Ausführung mehrerer Schreibvorgänge.
@@ -1039,6 +1040,7 @@ Es wird verwendet, wenn ein Plugin einen anderen Datentyp erwartet als evcc lief
10391040| float2int | Float64 → Int64 (Nachkommastellen werden abgeschnitten) |
10401041| int2float | Int64 → Float64 |
10411042| int2bytes | Int64 → Byte-Array (Big Endian, 8 Bytes) |
1043+ | bool2int | Bool → Int64 (true=1, false=0) |
10421044
10431045**Beispiel** (evcc liefert float, Gerät erwartet int):
10441046
@@ -1188,6 +1190,40 @@ batterymode:
11881190
11891191In diesem Beispiel gibt das Gerät einen harmlosen Modbus-Fehler zurück, der ignoriert wird.
11901192
1193+ # ## IfElse <Badge text="schreiben" variant="caution" size="small" />
1194+
1195+ Das `ifelse` Plugin führt bedingte Schreibvorgänge mit zwei Zweigen aus.
1196+ Je nach Eingabewert wird entweder das `if` oder das `else` Plugin ausgeführt.
1197+
1198+ **Parameter**:
1199+
1200+ | Parameter | Typ | Erfordert | Beschreibung |
1201+ | --------- | ------ | --------- | --------------------------------------------------------- |
1202+ | if | config | ja | Plugin, das bei erfüllter Bedingung ausgeführt wird |
1203+ | else | config | ja | Plugin, das bei nicht erfüllter Bedingung ausgeführt wird |
1204+
1205+ **Funktionsweise**:
1206+
1207+ - Bei `bool` Werten : ` true` führt `if` aus, `false` führt `else` aus
1208+ - Bei `int64` Werten : ` > 0` führt `if` aus, sonst `else`
1209+
1210+ **Unterstützte Datentypen**: `int64`, `bool`
1211+
1212+ **Beispiel** (unterschiedliche Endpunkte für An- und Ausschalten):
1213+
1214+ ` ` ` yaml
1215+ enable:
1216+ source: ifelse
1217+ if:
1218+ source: http
1219+ uri: http://device.local/api/on
1220+ method: POST
1221+ else:
1222+ source: http
1223+ uri: http://device.local/api/off
1224+ method: POST
1225+ ` ` `
1226+
11911227# ## Map <Badge text="lesen" variant="tip" size="small" /> <Badge text="schreiben" variant="caution" size="small" />
11921228
11931229Das `map` Plugin übersetzt Integer-Werte in andere Integer-Werte mithilfe einer Lookup-Tabelle.
0 commit comments