|
1 | | -# Kategorien/Aufzählungen |
2 | | -Eine wichtige Rolle in ioBroker spielen die Kategorie-Definitionen. |
3 | | -Sie helfen dabei, die Objekte in der Visualisierung zu gruppieren und zu sortieren. |
| 1 | +# Kategorien/Aufzählungen in ioBroker – Vollständige Übersicht |
4 | 2 |
|
5 | | -Eine Kategorie ist die Liste von Objekten die zusammen gruppiert sind, z.B. alle Geräte in einem Raum oder alle Geräte vom Typ "Beleuchtung". |
| 3 | +## Was sind Kategorien/Aufzählungen? |
6 | 4 |
|
7 | | -Von Start an gibt es zwei Kategorien: `Räume` und `Funktionen`. Allerdings können auch eigene Kategorien definiert werden. |
| 5 | +Kategorien oder Aufzählungen (englisch: “enums”) bilden die **organisatorische Basis** von ioBroker. Sie ordnen Geräte und Datenpunkte nach Kriterien wie Raum oder Funktion und ermöglichen so eine einheitliche Verwaltung statt Einzelgerätekonfiguration. |
8 | 6 |
|
9 | | -## Wozu werden die Kategorien verwendet? |
10 | | -- **Visualisierung**: Die Kategorien helfen dabei, die Objekte in der Visualisierung zu gruppieren und zu sortieren. |
11 | | -- **Logik**: In Skripten können die Kategorien verwendet werden, um bestimmte Aktionen für alle Objekte einer Kategorie auszuführen. |
12 | | -- **Szenes**: Die Kategorien können in Szenen verwendet werden. |
13 | | -- **Sprachsteuerung**: Die Kategorien können in der Sprachsteuerung verwendet werden um z.B. zu sagen "Schalte alle Lichter im Wohnzimmer an" |
| 7 | +**Kernprinzip:** Skripte, Visualisierungen und Automationen arbeiten mit der Kategorie – nicht mit dem konkreten Gerät oder Datenpunkt. Dadurch werden Smart-Home-Systeme wartungsfreundlich, flexibel und skalierbar. |
| 8 | + |
| 9 | +## Standard- und eigene Kategorien |
| 10 | + |
| 11 | +- **enum.rooms** – räumliche Zuordnung (z. B. Wohnzimmer, Küche, Schlafzimmer) |
| 12 | +- **enum.functions** – funktionale Zuordnung (z. B. Licht, Fenster, Heizung, Sicherheit) |
| 13 | +- **Eigene Kategorien** – beliebige, selbst angelegte Gruppierungen, z. B.: |
| 14 | + - `enum.custom.battery_status` für Batteriewarnungen |
| 15 | + - `enum.custom.heimkino` für Multimedia-Geräte |
| 16 | + - `enum.custom.alarmlichter` für Alarmbeleuchtung |
| 17 | + |
| 18 | +> **Hinweis:** Nicht nur Geräte, sondern auch **Datenpunkte** lassen sich Enums zuordnen – z. B. Temperatur- oder Feuchtewerte. |
| 19 | +
|
| 20 | +## Zentrale Vorteile |
| 21 | + |
| 22 | +✅ **Wartungsfreundlichkeit:** Gerätetausch oder Datenpunktänderung erfordert nur Kategoriezuordnung, keine Skriptänderung |
| 23 | +✅ **Skalierbarkeit:** System wächst mit – neue Geräte oder Datenpunkte fügen sich nahtlos ein |
| 24 | +✅ **Übersichtlichkeit:** Klare Struktur auch bei hunderten von Elementen |
| 25 | +✅ **Zukunftssicherheit:** Unabhängigkeit von Herstellern und Gerätetypen |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +# Einsatzbereiche mit Beispielen |
| 30 | + |
| 31 | +## 1. Automatisierung/Skripte |
| 32 | + |
| 33 | +**Möglichkeiten** |
| 34 | +- Geräte- und datenpunktunabhängige Programmierung |
| 35 | +- Zentrale Steuerung mehrerer Elemente |
| 36 | +- Wartungsfreie Erweiterung |
| 37 | + |
| 38 | +**Beispiel – Batterieüberwachung** |
| 39 | +``` |
| 40 | +// Alle Datenpunkte der eigenen Kategorie "battery_status" überwachen |
| 41 | +$('state[id=*battery][custom=battery_status]').on('change', obj => { |
| 42 | + if (obj.state.val < 20) { |
| 43 | + sendTo('telegram', 'Batterie schwach: ' + obj.common.name); |
| 44 | + } |
| 45 | +}); |
| 46 | +``` |
| 47 | +*Vorteil:* Neues Gerät oder Datenpunkt → einfach der Kategorie zuordnen, Skript läuft automatisch. |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +## 2. Visualisierung |
| 52 | + |
| 53 | +**Möglichkeiten** |
| 54 | +- Automatische Strukturierung |
| 55 | +- Responsive Darstellung |
| 56 | +- Dynamische Widget-Erstellung |
| 57 | +- Gruppierungen und Sortierungen |
| 58 | + |
| 59 | +**Beispiel – iQontrol Raumaufteilung** |
| 60 | +Räume aus `enum.rooms` werden automatisch als separate Ansichten übernommen. Geräte und Datenpunkte ordnen sich basierend auf ihrer Raumzuordnung selbstständig der richtigen Ansicht zu. |
| 61 | + |
| 62 | +--- |
| 63 | + |
| 64 | +## 3. Szenen |
| 65 | + |
| 66 | +**Möglichkeiten** |
| 67 | +- Komplexe Multi-Geräte- und Datenpunkt-Automationen |
| 68 | +- Kategorienübergreifende Aktionen |
| 69 | +- Wartungsfreie Szenenerstellung |
| 70 | + |
| 71 | +**Beispiel – “Wir gehen”-Szene** |
| 72 | +``` |
| 73 | +// Alle Lichter ausschalten |
| 74 | +$('state[id=*on][functions=licht]').setState(false); |
| 75 | +// Alle Sicherheitsgeräte aktivieren |
| 76 | +$('state[id=*][functions=sicherheit]').setState(true); |
| 77 | +``` |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## 4. Sprachsteuerung |
| 82 | + |
| 83 | +**Möglichkeiten** |
| 84 | +- Natürliche Sprachbefehle |
| 85 | +- Automatische Integration in Alexa/Google Home |
| 86 | +- Offline-Sprachsteuerung möglich |
| 87 | + |
| 88 | +**Beispiel – Alexa-Steuerung** |
| 89 | +- **Befehl:** “Alexa, schalte das Licht im Wohnzimmer ein” |
| 90 | +- **Funktion:** Steuert alle Geräte und Datenpunkte aus `enum.rooms.wohnzimmer` + `enum.functions.licht` |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +# Praktische Umsetzung |
| 95 | + |
| 96 | +## Kategorien erstellen und verwalten |
| 97 | + |
| 98 | +1. **Admin-GUI:** Unter “Enums” neue Kategorie anlegen (Standard oder `custom`) |
| 99 | +2. **Objekt-Browser:** Geräte und Datenpunkte per Drag-and-Drop zuweisen |
| 100 | +3. **Skript-basiert:** Kategorien und Zuweisungen via JavaScript anlegen |
| 101 | + |
| 102 | +## Selektoren verwenden |
| 103 | + |
| 104 | +- `state[id=*][functions=licht]` – alle Licht-Schalter |
| 105 | +- `state[id=*][rooms=küche][functions=licht]` – alle Lichter in der Küche |
| 106 | +- `state[id=*][functions=windowstatus]` – alle Fenster-Sensoren |
| 107 | + |
| 108 | +## Best Practices |
| 109 | + |
| 110 | +1. **Logische Struktur:** Räume, Funktionen und Datenpunkte konsequent zuordnen |
| 111 | +2. **Eindeutige Namen:** Klare, verständliche Kategorienamen verwenden |
| 112 | +3. **Hierarchien nutzen:** Bei komplexen Systemen Unterkategorien erstellen |
| 113 | +4. **Dokumentation:** Kategorienstruktur dokumentieren und kommunizieren |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +# Fazit |
| 118 | + |
| 119 | +Kategorien/Aufzählungen verwandeln eine Sammlung einzelner Geräte und Datenpunkte in ein strukturiertes, intelligent vernetztes Smart-Home-System. Sie sind das **fundamentale Organisationsprinzip** für professionelle ioBroker-Installationen und ermöglichen: |
| 120 | + |
| 121 | +- **Wartungsfreie Erweiterungen** – neue Elemente fügen sich automatisch ein |
| 122 | +- **Flexible Automationen** – Skripte arbeiten geräte- und datenpunktunabhängig |
| 123 | +- **Intuitive Bedienung** – natürliche Sprachbefehle und strukturierte Visualisierungen |
| 124 | +- **Zukunftssicherheit** – Unabhängigkeit von spezifischen Herstellern |
0 commit comments