Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
05d2cc4
OpenKNX Standardization: Table Structure for Channel-Type
cornelius-koepp Jun 29, 2026
255d946
OpenKNX Standardization: Remove More Page
cornelius-koepp Jun 29, 2026
823c0fa
fixup! OpenKNX Standardization: Remove More Page
cornelius-koepp Jun 29, 2026
685673f
OpenKNX Standardization: Remove More Page / Unused Script
cornelius-koepp Jun 29, 2026
fd7615f
OpenKNX Standardization: Use Label "Suspended" for Temporary Disabled…
cornelius-koepp Jun 30, 2026
5d67554
Fix: Regenerate ContextHelp-Texts
cornelius-koepp Jun 30, 2026
c89b799
Fix #29: Overflow on Starting with Minutes and Hours
cornelius-koepp Jul 29, 2026
f69d7fe
OpenKNX Standardization: New Channel Activation Pattern; Remove Visib…
cornelius-koepp Aug 11, 2026
b3ca1cb
Update Version to 0.11.0-DEV
cornelius-koepp Aug 11, 2026
94c4ff7
Merge branch 'v1dev-new-channel-select' into v1dev
cornelius-koepp Aug 11, 2026
773477c
Fix/Doc/ContextHelp Typo: "Eingeänge" and + Placeholder Symbol `@`
cornelius-koepp Aug 11, 2026
a4beae6
Revert "Temporary remove Bayes Sensor"
mgeramb Jan 22, 2026
68d1418
Bayes Sensor: Improve Documentation and ETS UI
cornelius-koepp Aug 11, 2026
6a5a19a
Fix Typo: "...type" -> "...typ"
cornelius-koepp Jun 30, 2026
f91c217
fixup! OpenKNX Standardization: New Channel Activation Pattern; Remov…
cornelius-koepp Sep 7, 2026
ae1355f
Cleanup `FunctionBlocksModule::version()`
cornelius-koepp Sep 7, 2026
44ebb0f
Lint(TextFormat): TextFormatBlock.cpp + TextFormatBlock.h
cornelius-koepp Sep 4, 2026
d57a8cb
TextFormat: Write without Compare
cornelius-koepp Aug 11, 2026
2fe8ca5
TextFormat: Placeholders Implementation
cornelius-koepp Aug 27, 2026
2dec7fe
TextFormat: Extract Placeholders Part (without ComObjects) + Time Bas…
cornelius-koepp Aug 27, 2026
f0ab4af
Fix(TextFormat UI): Indention and Removed HRs within Param
cornelius-koepp Aug 30, 2026
febc07c
(Draft) TextFormat: Time
cornelius-koepp Aug 30, 2026
1fbe596
Refactor(TextFormat): TextFormatBlock::updateTextKo(..)
cornelius-koepp Sep 6, 2026
ed33fed
Fix(TextFormat): Force 2-Digits in hh:mm
cornelius-koepp Sep 9, 2026
ccc49fd
Fix(TextFormat): N-Minute Resolution Time Correction - Set Fixed Corr…
cornelius-koepp Sep 9, 2026
bd3645a
Doc: Improve Description for "Initialisierung"
cornelius-koepp Sep 9, 2026
92efbe3
Doc(Bayes Sensor): Improve ContextHelp-Texts and App Description
cornelius-koepp Sep 9, 2026
b1fad80
Merge remote-tracking branch 'origin/fix/issue29-ko-count-down-start-…
cornelius-koepp Sep 9, 2026
c6edc77
Fix(Changelog): Typos and Umlauts
cornelius-koepp Sep 9, 2026
756cb55
Update Changelog for Planned v0.11.0
cornelius-koepp Sep 9, 2026
da27158
Fix(TextFormat): Time Update Trigger for Value 1 Only
cornelius-koepp Sep 9, 2026
3913e80
Fix(TextFormat): Enums for SunRise/Set were Swapped
cornelius-koepp Sep 9, 2026
47240ca
Remove(TextFormat/Time): Subtype for SunRise/-Set is NOT Supported Yet
cornelius-koepp Sep 9, 2026
9e9ef3c
Cleanup XML: Remove Empty Case + Unused Comments
cornelius-koepp Sep 11, 2026
d3300c4
OpenKNX Standardization: Add Suspended Symbol
cornelius-koepp Sep 11, 2026
5364163
Fix(TextFormat/Time): Add Prefix 'hh' in N-Minute Selection
cornelius-koepp Sep 11, 2026
9957f85
Cleanup(TextFormat): Migrate Placeholder-Type to Enum
cornelius-koepp Sep 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 69 additions & 18 deletions doc/Applikationsbeschreibung-FunctionBlocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Folgende Funktionsblöcke stehen zur Auswahl:
* [Wertüberwachung](#wertüberwachtung)
* [Count-Down Zeitgeber](#count-down-zeitgeber)
* [Blinker](#blinker)
* [Bayes Sensor](#bayes-sensor)
* [Text Format](#text-format)


Expand Down Expand Up @@ -129,6 +130,14 @@ Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten ode
<!-- DOCEND -->
[ETS Konfiguration](#blinker-1)

<!-- DOC -->
## Bayes-Sensor

Mit einem Bayes-Sensor-Funktionsblock kann auf Basis von Wahrscheinlichkeiten ein binärer Ausgangswert aus mehreren binären Eingangswerten ermittelt werden.

<!-- DOCEND -->
[ETS-Konfiguration](#bayes-sensor-1)

<!-- DOC HelpContext="TextFormatter" -->
### Text Format ###

Expand Down Expand Up @@ -192,6 +201,10 @@ Für jeden Kanal kann für einen Funktionsblock konfiguriert werden:
Die Anzahl der Blinkintervalle ist konfigurierbar und/oder über ein Gruppenobjekt steuerbar.
Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten oder Stunden festgelegt werden.

- **Bayes Sensor**
Ermittelt einen binären Zustands-Wert aus bis zu 9 Eingangswerten, auf Basis eines Naiven Bayes-Klassifikators.
Der ausgegebene Wert entspricht dem wahrscheinlichsten Zustand bei gleichzeitigem Vorliegen der unabhängigen Eingangswerte.

- **Text Format**
Funktionsblock zur Erzeugung von Texten aus verschiedenen Eingangswerten.

Expand All @@ -206,10 +219,10 @@ Die Bezeichnung wird innerhalb der ETS für die Benennung des Kanals und für di
Die Bezeichnung hat keinen Einfluss auf das Verhalten des Funktionsblocks und kann jederzeit auch nachträglich angepasst werden.

<!-- DOC -->
### Kanal deaktivieren (zu Testzwecken)
### Suspendiert

Mit dieser Einstellung kann ein Kanal deaktiviert werden, ohne das die Konfigurationswerte und Gruppenadressen an den Kommunikationsobjekten verloren gehen.
Ein deaktivierter Kanal sendet keine Telegramme auf dem KNX-Bus.
Mit dieser Einstellung wird der Kanal wie deaktiviert behandelt, aber die Kommunikationsobjekte und alle Einstellungen bleiben sichtbar.
Dadurch müssen GA-Verknüpfungen nicht entfernt oder erneut hinzugefügt werden beim späteren Reaktivieren.


<!-- DOC -->
Expand Down Expand Up @@ -269,18 +282,13 @@ Wird für die Gruppen-Objektfunktion verwendet und dient zur leichtern Zuordnung
<!-- DOC -->
### Initialisierung

Legt den Initialwert für den Eingang fest.
Zur Auswahl stehen:
Legt fest, wie der Eingang nach dem Gerätestart belegt wird:

- **AUS**
Der Eingang wird mit AUS vorbelegt
- **EIN**
Der Eingang wird mit EIN vorbelegt
- **Vom Bus lesen, dann AUS**
Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
- **AUS** - Der Eingang wird mit AUS vorbelegt
- **EIN** - Der Eingang wird mit EIN vorbelegt
- **Vom Bus lesen, dann AUS** - Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
Wird nach 3 Sekunden keine Antwort empfangen, wird der Eingang mit AUS vorbelegt.
- **Vom Bus lesen, dann EIN**
Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
- **Vom Bus lesen, dann EIN** - Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
Wird nach 3 Sekunden keine Antwort empfangen, wird der Eingang mit EIN vorbelegt.

**Wichtig**: Die Vorbelegung erfolgt vor einer möglichen eingestellten Invertierung des Eingangswertes.
Expand Down Expand Up @@ -1034,6 +1042,49 @@ Diese Konfiguration ist nur vorhanden, wenn für den Datentype des Ausgangs "5.0

Der Prozentwert der für AUS gesendet wird.

<!-- DOC HelpContext="BayesianBinarySensor" -->
## Bayes Sensor

Ermittelt auf Basis von (bedingten) Wahrscheinlichkeiten einen binären Ausgangswert aus mehreren binären Eingangswerten.

<!-- TODO Referenz / Quelle ergänzen -->
Dafür müssen für alle Eingangswerte die Wahrscheinlichkeiten für den EIN-Ausgangswert angegeben werden.
Eine Forderung nach stochastischer Unabhängigkeit der Eingänge kann in der Praxis abgeschwächt werden;
solange keine "zu starke" Abhängigkeit besteht, sollen trotzdem nutzbare Ergebnisse geliefert werden.

<!-- DOC -->
### Prior-Wahrscheinlichkeit P( A )

Wahrscheinlichkeit, dass der Zustandswert EIN ist, unabhängig von den Eingangswerten.
Bzw. Zeitanteil.

<!-- DOC -->
### Schwellwert für binären Ausgang

Minimale Wahrscheinlichkeit, ab der der Ausgangswert auf EIN gesetzt wird.

<!-- DOC -->
### Ein-/Ausgangs-Kombination

Zusätzlich zum binären Ausgangswert kann die zugrunde liegende Wahrscheinlichkeit ausgegeben werden.
Wenn das Wahrscheinlichkeits-KO aktiv ist, dann reduziert die maximale Anzahl der Eingänge auf 8.

<!-- DOC Skip="5" -->
Optionen:

* 8 Eingänge + Wahrscheinlichkeits-Ausgang
* 9 Eingänge

<!-- DOC HelpContext="PSensorTRUE-EreignisTRUE" -->
### P( A | E_i )

Wahrscheinlichkeit, dass der Ausgangswert EIN ist, wenn an diesem Eingang der Wert EIN anliegt.

<!-- DOC HelpContext="PSensorTRUE-EreignisFALSE" -->
### P( A | ~E_i )

Wahrscheinlichkeit, dass der Ausgangswert EIN ist, wenn an diesem Eingang der Wert AUS anliegt.

<!--DOCEND -->
## Text Format

Expand All @@ -1043,14 +1094,14 @@ Funktionsblock zur Erzeugung von Texten aus verschiedenen Eingangswerten.
### Format

Formatierung der Ausgabe.
Für Parameter werden die Eingänge werden die Platzhalter #1-#9 verwendet.
Um ein '#'-Zeichen darzustellen, müssen ## Rauten eingegeben werden.
Für Parameter werden die Eingänge werden die Platzhalter @1 bis @4 verwendet.
Um ein '@'-Zeichen darzustellen, müssen "@@" eingegeben werden.

Beispiele:

- Wind @1km/h........Wind 35km/h
- @1° - @2°............22° - 24°
- @1@@Home...........3@Home
- "Wind @1km/h" → "Wind 35km/h" (mit Eingang1 = 35)
- "@1° - @2°" → "22° - 24°" (mit Eingang1 = 22 und Eingang2 = 24)
- "@1@@Home" → "3@Home" (mit Eingang1 = 3)

<!-- DOC -->
### Textbaustein Aus
Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "OFM-FunctionBlocks",
"version": "0.10.0",
"version": "0.11.0-DEV",
"description": "Function Blocks",
"homepage": "https://openknx.de",
"authors": {
Expand Down
33 changes: 23 additions & 10 deletions release_notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Release Notes

## 0.11.0
### Breaking Changes
- none

### Feature
- Neuer Funktionsblock: Bayes-Sensor
- Funktionserweiterung Text-Block: Zeitfunktionen (Uhrzeit, Sonnenauf-/-untergang, Datumsbestandteile)
- OpenKNX-Standardisierung: Anpassung auf neues UI-Pattern für Kanal-Auswahl

### Bug
- Fix #29: Dauer war durch uint8_t Berechnung auf 255s beschränkt bei "Start mit Zeit" in {"Einheit Minuten", "Einheit Stunden"}
- Verschiedene kleine Korrekturen in UI und Hilfetexten

## 0.10.0
### Breaking Changes
- none
Expand All @@ -25,8 +38,8 @@
- none

### Feature
- Neuer Functionsblock "Text Format".
- Startverhalten bei Wertueberwachung konfigurierbar.
- Neuer Funktionsblock "Text Format".
- Startverhalten bei Wertüberwachung konfigurierbar.

### Bug
- none
Expand All @@ -39,32 +52,32 @@
- none

### Bug
- Fix: Bennennung Eingang 9 bei FB-"Anzahl" nicht moeglich.
- Fix: Benennung Eingang 9 bei FB-"Anzahl" nicht möglich.

## 0.7
### Breaking Changes
- none

### Feature
- Count-Down: Konfigurationsparameter fuer maximale Laufzeit bei Erhoehen durch KO.
- Count-Down: Text-Parameter fuer Stopp.
- Count-Down: Konfigurationsparameter für maximale Laufzeit bei Erhöhen durch KO.
- Count-Down: Text-Parameter für Stopp.

### Bug
- none

## 0.6.2
### Breaking Changes
- Verhalten von KO Verringern/Erhoehen fuer Count-Down wurde geaendert.
- Verhalten von KO Verringern/Erhöhen für Count-Down wurde geändert.

### Feature
- none

### Bug
- Fix: KO Verringern/Erhoehen fuer Count-Down (0 = Verringern, 1 = Erhoehen).
- Fix: KO Verringern/Erhöhen für Count-Down (0 = Verringern, 1 = Erhöhen).

## 0.6.1
### Breaking Changes
- Verhalten von KO Pause/Fortsetzen wurde geaendert.
- Verhalten von KO Pause/Fortsetzen wurde geändert.

### Feature
- none
Expand All @@ -77,7 +90,7 @@
- none

### Feature
- Eingaenge koennen benannt werden.
- Eingänge können benannt werden.
- Text-Input verwendet ISO-8859-1.

### Bug
Expand All @@ -88,7 +101,7 @@
- none

### Feature
- Szene-DPT als Prioritaetsschalter-Ausgang.
- Szene-DPT als Prioritätsschalter-Ausgang.

### Bug
- none
Expand Down
3 changes: 2 additions & 1 deletion src/Baggages/Help_de/FCB-Bayes-Sensor.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
### Bayes Sensor
### Bayes-Sensor

Mit einem Bayes-Sensor-Funktionsblock kann auf Basis von Wahrscheinlichkeiten ein binärer Ausgangswert aus mehreren binären Eingangswerten ermittelt werden.

7 changes: 6 additions & 1 deletion src/Baggages/Help_de/FCB-BayesianBinarySensor.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
### BayesianBinarySensor
### Bayes Sensor

Ermittelt auf Basis von (bedingten) Wahrscheinlichkeiten einen binären Ausgangswert aus mehreren binären Eingangswerten.

Dafür müssen für alle Eingangswerte die Wahrscheinlichkeiten für den EIN-Ausgangswert angegeben werden.
Eine Forderung nach stochastischer Unabhängigkeit der Eingänge kann in der Praxis abgeschwächt werden;
solange keine "zu starke" Abhängigkeit besteht, sollen trotzdem nutzbare Ergebnisse geliefert werden.

5 changes: 5 additions & 0 deletions src/Baggages/Help_de/FCB-Ein-Ausgangs-Kombination.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Ein-/Ausgangs-Kombination

Zusätzlich zum binären Ausgangswert kann die zugrunde liegende Wahrscheinlichkeit ausgegeben werden.
Wenn das Wahrscheinlichkeits-KO aktiv ist, dann reduziert die maximale Anzahl der Eingänge auf 8.

10 changes: 5 additions & 5 deletions src/Baggages/Help_de/FCB-Format.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
### Format

Formatierung der Ausgabe.
Für Parameter werden die Eingänge werden die Platzhalter #1-#9 verwendet.
Um ein '#'-Zeichen darzustellen, müssen ## Rauten eingegeben werden.
Für Parameter werden die Eingänge werden die Platzhalter @1 bis @4 verwendet.
Um ein '@'-Zeichen darzustellen, müssen "@@" eingegeben werden.

Beispiele:

- Wind @1km/h........Wind 35km/h
- @1° - @2°............22° - 24°
- @1@@Home...........3@Home
- "Wind @1km/h" → "Wind 35km/h" (mit Eingang1 = 35)
- "@1° - @2°" → "22° - 24°" (mit Eingang1 = 22 und Eingang2 = 24)
- "@1@@Home" → "3@Home" (mit Eingang1 = 3)

15 changes: 5 additions & 10 deletions src/Baggages/Help_de/FCB-Initialisierung.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
### Initialisierung

Legt den Initialwert für den Eingang fest.
Zur Auswahl stehen:
Legt fest, wie der Eingang nach dem Gerätestart belegt wird:

- **AUS**
Der Eingang wird mit AUS vorbelegt
- **EIN**
Der Eingang wird mit EIN vorbelegt
- **Vom Bus lesen, dann AUS**
Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
- **AUS** - Der Eingang wird mit AUS vorbelegt
- **EIN** - Der Eingang wird mit EIN vorbelegt
- **Vom Bus lesen, dann AUS** - Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
Wird nach 3 Sekunden keine Antwort empfangen, wird der Eingang mit AUS vorbelegt.
- **Vom Bus lesen, dann EIN**
Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
- **Vom Bus lesen, dann EIN** - Es wird versucht den Eingangswert vom Bus über ein Lesetelegramm zu lesen.
Wird nach 3 Sekunden keine Antwort empfangen, wird der Eingang mit EIN vorbelegt.

**Wichtig**: Die Vorbelegung erfolgt vor einer möglichen eingestellten Invertierung des Eingangswertes.
Expand Down
6 changes: 0 additions & 6 deletions src/Baggages/Help_de/FCB-Kanal-deaktivieren-zu-Testzwecken.md

This file was deleted.

4 changes: 4 additions & 0 deletions src/Baggages/Help_de/FCB-Kanalauswahl.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ Für jeden Kanal kann für einen Funktionsblock konfiguriert werden:
Die Anzahl der Blinkintervalle ist konfigurierbar und/oder über ein Gruppenobjekt steuerbar.
Die jeweilige Ein- bzw. Ausschaltzeit kann in 10/Sekunden, Sekunden, Minuten oder Stunden festgelegt werden.

- **Bayes Sensor**
Ermittelt einen binären Zustands-Wert aus bis zu 9 Eingangswerten, auf Basis eines Naiven Bayes-Klassifikators.
Der ausgegebene Wert entspricht dem wahrscheinlichsten Zustand bei gleichzeitigem Vorliegen der unabhängigen Eingangswerte.

- **Text Format**
Funktionsblock zur Erzeugung von Texten aus verschiedenen Eingangswerten.

2 changes: 1 addition & 1 deletion src/Baggages/Help_de/FCB-PSensorTRUE-EreignisFALSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
### PSensorTRUE-EreignisFALSE
### P( A | ~E_i )

Wahrscheinlichkeit, dass der Ausgangswert EIN ist, wenn an diesem Eingang der Wert AUS anliegt.

2 changes: 1 addition & 1 deletion src/Baggages/Help_de/FCB-PSensorTRUE-EreignisTRUE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
### PSensorTRUE-EreignisTRUE
### P( A | E_i )

Wahrscheinlichkeit, dass der Ausgangswert EIN ist, wenn an diesem Eingang der Wert EIN anliegt.

5 changes: 5 additions & 0 deletions src/Baggages/Help_de/FCB-Prior-Wahrscheinlichkeit-P-A.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Prior-Wahrscheinlichkeit P( A )

Wahrscheinlichkeit, dass der Zustandswert EIN ist, unabhängig von den Eingangswerten.
Bzw. Zeitanteil.

4 changes: 0 additions & 4 deletions src/Baggages/Help_de/FCB-Prior-Wahrscheinlichkeit.md

This file was deleted.

6 changes: 6 additions & 0 deletions src/Baggages/Help_de/FCB-Suspendiert.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
### Suspendiert

Mit dieser Einstellung wird der Kanal wie deaktiviert behandelt, aber die Kommunikationsobjekte und alle Einstellungen bleiben sichtbar.
Dadurch müssen GA-Verknüpfungen nicht entfernt oder erneut hinzugefügt werden beim späteren Reaktivieren.


Loading