Owl Automata logo
  • Home
  • About Us
  • Services
  • Products
    Hotel As a Service
    Chameleon+
    Chameleon+From Room Design to Complete ETS Project - hotel automation made simple
    Fire Ant
    Fire AntAutomate the Tedious. Focus on What Matters
    Explore the HaaS concept
    Apps & Tools
    Pro Builder Ecosystem
    Pro Builder
    Pro BuilderETS app for importing generated .knxproj files into ETS.
    Application Template
    Application TemplateMicroapp for extracting, reusing, and sharing KNX application templates.
    SharkNX
    SharkNXConnect. Monitor. Control. ETS Mobile Toolkit on the Go
    View all products
  • Resources
  • Insights
  • Contact
Current versionv1.18.2
LanguageEnglishDeutschFrançaisEspañolItaliano
Documentation home

Erste Schritte mit SharKNX

Der SharKNX-AssistentETS-Projekte in SharKNXKNX Data SecureKNX IP SecureDas Shark-Hunt-Konzept

Aliase und Skripte des Assistenten verwendenVerbindung zu einem KNX-Gateway herstellenEinen Shark Hunt erstellenTelegramme exportierenKommunikationsobjekte eines Geräts auslesenEin ETS-Projekt ladenDie Physikalische Adresse eines Geräts programmierenDie Filtertabelle eines Kopplers lesenEine KNX-Buslinie scannenKNX-Befehle sendenKNX Data Secure einrichtenKNX IP Secure einrichtenDen Assistenten verwenden

ProjektverbindungenSeite VerbindenSeite DiagnoseDie Monitor-SeiteDie ProjektseiteDie Einstellungen-SeiteDie Shark-Hunts-SeiteSeite Assistent

Befehle des AssistentenDateiformat für Aliase und SkripteDashboard-DateiformatExportformateHäufig gestellte FragenGrenzwerteSeitenmenü und AktionenMonitor-FiltersyntaxEinstellungen - ReferenzAbonnementpläneUnterstützte Datapoint Types (DPTs)
Referenz

Dashboard-Dateiformat

SharKNX-Dashboards als JSON schreiben, exportieren und importieren: alle Felder, Widget-Typen, Standardwerte und Regeln mit Beispieldateien zum Download.

Auf dieser Seite
  1. Struktur
  2. Dashboard
  3. Räume und Seiten
  4. IDs und Verknüpfungen
  5. Widgets
  6. Gruppenadressen
  7. Farben und Symbole
  8. Widget-Typen
  9. Verbindung
  10. Vollständiges Beispiel
  11. Validierung
  12. Versionen

Das JSON-Dateiformat für SharKNX-Visualisierungsdashboards: Räume, Seiten, Widgets und die verwendeten Gruppenadressen.

Ein Dashboard lässt sich als JSON-Datei aus SharKNX exportieren und auf demselben oder einem anderen Gerät wieder importieren. Sie können es auch in einem Texteditor schreiben: Die App exportiert alle Felder, benötigt beim Import aber nur Angaben, die sie nicht selbst ableiten kann. So bleibt ein von Hand erstellter Entwurf kurz.

Beginnen Sie am einfachsten mit dem leeren Dashboard oder dem Beispielhaus. Oder erstellen Sie ein kleines Dashboard in der App, exportieren Sie es und bearbeiten Sie die Datei.

Auf dieser Seite

  1. Struktur
  2. Dashboard
  3. Räume und Seiten
  4. IDs und Verknüpfungen
  5. Widgets
  6. Gruppenadressen
  7. Farben und Symbole
  8. Widget-Typen
  9. Verbindung
  10. Vollständiges Beispiel
  11. Validierung
  12. Versionen

Struktur

Ein Dashboard enthält einen Raum, Home. Jeder andere Raum liegt in Home oder in einem weiteren Raum. Ein Raum hat eine oder mehrere Seiten, zwischen denen Sie wischen. Jede Seite enthält Widgets in einem Raster.

{
  "format": 1,
  "name": "Villa",
  "home": {
    "name": "Home",
    "tiles": [
      { "type": "switch", "name": "Hall light", "command": "1/0/1", "status": "1/0/2" }
    ],
    "rooms": [
      {
        "name": "Kitchen",
        "tiles": [
          { "type": "switch", "name": "Counter light", "command": "1/4/1" }
        ]
      }
    ]
  }
}

In der Datei heißen Räume rooms, Seiten panels und Widgets tiles. Die Datei verwendet UTF-8-JSON; eine Byte-Order-Mark am Anfang wird akzeptiert.


Dashboard

Die oberste Ebene der Datei.

Feld Erforderlich Standardwert Beschreibung
format Nein 1 Die Dateiformatversion. Siehe Versionen
name Ja (keiner) Der Dashboard-Name, höchstens 50 Zeichen. Namen sind auf einem Gerät eindeutig: Beim Import eines bestehenden Namens können Sie eine Kopie erstellen oder das Dashboard ersetzen
home Ja (keiner) Der Raum Home. Siehe Räume und Seiten
theme Nein auto auto (folgt dem hellen oder dunklen Modus des Geräts), light, dark, night, wave, sahara, aurora oder neon
buttons Nein filled Darstellung der Widget-Tasten: filled oder plain
keepScreenOn Nein false true hält den Bildschirm eingeschaltet, während das Dashboard geöffnet ist
muteBanners Nein false true zeigt Benachrichtigungen nur in Aktivität, ohne Banner
favorites Nein [] Widget-IDs auf der Favoritenseite, in dieser Reihenfolge, z. B. ["t1", "t4"]
connection Nein automatisch Wie sich das Dashboard mit dem Bus verbindet. Siehe Verbindung

Ein Feld project in einer importierten Datei wird ignoriert: Der Verweis auf ein Projekt im Archiv gehört zu dem Gerät, das die Datei erstellt hat.


Räume und Seiten

Feld Erforderlich Standardwert Beschreibung
id Nein zugewiesen r und eine Zahl, z. B. r3. Home ist immer r0. Nur ein Raum, den eine Verknüpfung öffnet, benötigt eine ID. Siehe IDs und Verknüpfungen
name Ja (keiner) Der Raumname, höchstens 50 Zeichen
icon Nein Standard Ein Symbolname, z. B. kitchen. Siehe Farben und Symbole
tiles Eines davon (keiner) Die Widgets eines Raums mit einer einzelnen Seite
panels Eines davon (keiner) Die Seiten eines Raums mit mehreren Seiten, höchstens 10
rooms Nein [] Die Räume innerhalb dieses Raums

Verwenden Sie entweder tiles oder panels, nicht beide. Jede Seite in panels hat folgende Felder:

Feld Erforderlich Standardwert Beschreibung
id Nein zugewiesen p und eine Zahl, z. B. p2
tiles Nein [] Die Widgets der Seite, in Reihenfolge, höchstens 100
{
  "format": 1,
  "name": "Two pages",
  "home": {
    "name": "Home",
    "panels": [
      { "tiles": [{ "type": "switch", "name": "Hall light", "command": "1/0/1" }] },
      { "tiles": [{ "type": "switch", "name": "Porch light", "command": "1/0/5" }] }
    ]
  }
}

IDs und Verknüpfungen

Jeder Raum, jede Seite und jedes Widget hat eine ID: r für Räume, p für Seiten, t für Widgets, gefolgt von einer Zahl bis 999999. IDs sind innerhalb eines Dashboards eindeutig, nicht über mehrere Dashboards hinweg.

  • Lassen Sie IDs weg, weist der Import sie oberhalb der höchsten ID in der Datei zu.
  • Geben Sie eine ID an, wenn etwas darauf verweist: für einen Raum, den ein Navigationswidget öffnet, und ein Widget in favorites.
  • Eine Verknüpfung oder ein Favorit muss eine in der Datei angegebene ID nennen. Eine ID, die die Datei nie deklariert, ist ein Fehler, selbst wenn der Import diese ID einem anderen Element zugewiesen hätte.
  • Eine exportierte Datei enthält immer alle IDs.

Widgets

Felder, die jedes Widget hat:

Feld Erforderlich Standardwert Beschreibung
type Ja (keiner) Der Widget-Typ. Siehe Widget-Typen
name Ja (keiner) Auf dem Widget angezeigt, höchstens 50 Zeichen
id Nein zugewiesen t und eine Zahl, z. B. t12
icon Nein vom Typ vorgegeben Ein Symbolname. Siehe Farben und Symbole
size Nein vom Typ vorgegeben Rasterzellen, Breite × Höhe: 1x1, 2x1, 3x1, 2x2, 3x2 oder 3x3. Jeder Typ erlaubt bestimmte Größen
Typ Funktion Größen Standardgröße
navigation Öffnet einen Raum 2x1, 3x1, 2x2 2x1
switch Schaltet etwas ein und aus 1x1, 2x1, 2x2 2x1
statusIndicator Zeigt einen Ein/Aus-Zustand 1x1, 2x1 1x1
valueDisplay Zeigt eine Zahl 1x1, 2x1, 3x1, 2x2, je nach Anzeige 2x1
valueControl Sendet eine Zahl 1x1, 2x1, 3x1, 2x2 3x1 (2x1 ohne Bedienelement)
modeStatus Zeigt ein Byte als benannte Zustände 1x1, 2x1, 3x1 2x1
dimmer Eine dimmbare Leuchte 1x1, 2x1, 3x1, 2x2 2x2
blind Eine Jalousie oder ein Rollladen 1x1, 2x1, 3x1, 2x2, 3x2 2x2
scene Ruft eine Szene ab oder wechselt zwischen zwei 1x1, 2x1, 2x2 2x1
scenes Eine Reihe von Szenentasten 2x1, 2x2, 3x2, 3x3 2x2
tunableWhite Eine Leuchte mit Farbtemperatur 1x1, 2x1, 3x1, 2x2, 3x2 2x2
colorLight Eine Leuchte mit RGB, RGBW oder RGB + Weiß 1x1, 2x1, 3x1, 2x2, 3x2 2x1
thermostat Ein Raumtemperatur-Sollwert 1x1, 2x1, 3x1, 2x2 2x2
fanCoil Ein Fan-Coil-Gerät 1x1, 2x1, 3x1, 2x2, 3x2 (3x3 mit integrierten Funktionen) 2x1
airConditioner Ein Splitgerät oder VRV über sein KNX-Gateway 1x1, 2x1, 3x1, 2x2, 3x3 2x2

Eine Datei mit einem Typ, den diese SharKNX-Version nicht kennt, wird nicht importiert.


Gruppenadressen

Ein Widget sendet an bestimmte Adressen (Befehl) und zeigt andere an (Status). Gruppenadressen werden in drei Ebenen geschrieben, z. B. "1/2/3". Ein DPT besteht aus Haupt- und Untertyp, z. B. "1.001" oder "9.001".

Kurzform. Geben Sie nur die Adresse an; sie übernimmt den DPT ihrer Funktion: ein Schaltbefehl 1.001, die Helligkeit eines Dimmers 5.001, eine Wertanzeige den DPT ihres valueType. Jeder Widget-Typ unten nennt seine Standardwerte.

{ "type": "switch", "name": "Hall light", "command": "1/0/1", "status": "1/0/2" }

Vollständige Form. Um einen anderen DPT desselben Haupttyps zu verwenden (1.019 für einen Fensterkontakt, 9.004 für einen Luxwert), einen Befehl an mehrere Adressen zu senden oder einen Status beim Öffnen des Dashboards nicht zu lesen:

{
  "type": "switch",
  "name": "All lights",
  "command": { "targets": ["1/0/1", "1/1/1", "1/4/1"], "dpt": "1.001" },
  "status": { "address": "1/0/2", "dpt": "1.001", "readOnOpen": false }
}
Feld Verwendung Erforderlich Standardwert Beschreibung
address Befehle und Statuswerte Eines davon (keiner) Eine Gruppenadresse
targets Befehle Eines davon (keiner) Mehrere Gruppenadressen, die alle denselben Wert empfangen
dpt Befehle und Statuswerte Nein von der Funktion vorgegeben Der DPT, mit dem der Wert codiert wird
readOnOpen Statuswerte Nein true false: den Status beim Öffnen des Dashboards nie lesen; auf den Bus warten

Ein DPT muss zur Funktion passen: Ein Schalter verwendet beliebige DPT 1 (1.001 Schalten, 1.008 Auf/Ab, …), die Helligkeit eines Dimmers DPT 5.001.


Farben und Symbole

Farben sind Namen: red, orange, yellow, green, blue, purple oder grey. Jede Farbe hat einen hellen und einen dunklen Farbton, den das Design auswählt.

Symbole sind Namen aus dem Symbolkatalog der App, z. B. light_group, floor_lamp, table_lamp, wall_lamp, socket, shutter, curtains, heating, cooling, window, door, temperature, humidity, relax, dinner, all_off. Raumsymbole sind unter anderem home, living, kitchen, dining, bedroom, bathroom, office, hallway, garage, garden und terrace. Die Symbolauswahl in der App zeigt alle Namen.

Unbekannte Farb- oder Symbolnamen bleiben erhalten und werden mit dem Standard dargestellt. So lässt sich eine Datei aus einer neueren SharKNX-Version weiterhin importieren.


Widget-Typen

Navigation

Öffnet einen anderen Raum.

Feld Erforderlich Standardwert Beschreibung
target Ja (keiner) Die ID des geöffneten Raums, z. B. r1. Dieser Raum muss die ID in der Datei ausdrücklich angeben
{
  "format": 1,
  "name": "Links",
  "home": {
    "name": "Home",
    "tiles": [{ "type": "navigation", "name": "Kitchen", "icon": "kitchen", "target": "r1" }],
    "rooms": [{ "id": "r1", "name": "Kitchen", "tiles": [] }]
  }
}

Schalter

Ein Tippen wechselt zwischen Ein und Aus oder sendet immer denselben Wert.

Feld Erforderlich Standardwert Beschreibung
command Ja (keiner) Befehl, DPT 1 (1.001, wenn weggelassen)
status Nein (keiner) Status, DPT 1 (1.001, wenn weggelassen). Ohne Status zeigt das Widget, was zuletzt auf command gesendet oder empfangen wurde
fixed Nein (keiner) 1 oder 0: Jedes Tippen sendet diesen Wert, statt umzuschalten
invertCommand Nein false true sendet 0 für Ein und 1 für Aus. Nicht mit fixed
invertStatus Nein false true liest 0 als Ein
zeroLabel, oneLabel Nein Aus, Ein Die für 0 und 1 angezeigten Zustandsnamen
offIcon Nein das Symbol Das Symbol im ausgeschalteten Zustand
onColor, offColor Nein vom Design vorgegeben Die Symbolfarbe im ein- und ausgeschalteten Zustand
{ "type": "switch", "name": "Garden pump", "icon": "valve", "command": "1/5/1", "status": "1/5/2", "zeroLabel": "Stopped", "oneLabel": "Running" }

Statusanzeige

Zeigt einen Ein/Aus-Zustand; Tippen hat keine Wirkung.

Feld Erforderlich Standardwert Beschreibung
status Ja (keiner) Status, beliebiger DPT 1 (1.001, wenn weggelassen)
invertStatus, zeroLabel, oneLabel, offIcon, onColor, offColor Nein Wie bei Schalter
{ "type": "statusIndicator", "name": "Window", "icon": "window", "status": { "address": "6/1/1", "dpt": "1.019" }, "zeroLabel": "Closed", "oneLabel": "Open" }

Wertanzeige

Zeigt eine Zahl oder Rohbytes so an, wie sie ankommen. Ihr type ist valueDisplay.

Feld Erforderlich Standardwert Beschreibung
status Ja (keiner) Status. Der DPT muss zu valueType passen; ohne Angabe gilt dessen eigener DPT (keiner für hex)
valueType Nein f16 Wie der Wert decodiert wird, mit dem DPT bei fehlender Angabe: percent (5.001), u8 (5.010), s8 (6.010), u16 (7.001), s16 (8.001), f16 (9.001), u32 (12.001), s32 (13.001), f32 (14.056), s64 (29.010) oder hex (Rohbytes). Ein angegebener DPT darf ein beliebiger Untertyp desselben Haupttyps sein (bei u8 nicht 5.001 oder 5.003)
view Nein number number, bar oder gauge. Balken: 2x1 oder 3x1. Anzeigeinstrument: 1x1 oder 2x2. Nicht für hex
unit Nein (keiner) Hinter dem Wert angezeigt, z. B. °C
decimals Nein wie empfangen 0 bis 2
displayMin, displayMax Nein der Wertebereich des Typs Der Bereich eines Balkens oder Anzeigeinstruments
scaleColors Nein vom Design vorgegeben Farben eines Balkens oder Anzeigeinstruments: coolWarm, greenRed, redGreen oder neutral
displayScale Nein 1 Der empfangene Wert wird vor der Anzeige durch diesen Wert geteilt, z. B. 1000, um Wh als kWh anzuzeigen

1x1 eignet sich nur für Werte mit 1 oder 2 Bytes.

{ "type": "valueDisplay", "name": "Power", "icon": "electricity", "valueType": "s32", "unit": "kW", "decimals": 2, "displayScale": 1000, "status": { "address": "9/1/1", "dpt": "13.010" } }

Wertsteuerung

Sendet eine Zahl: mit − und +, einem Schieberegler oder Tasten für feste Werte.

Feld Erforderlich Standardwert Beschreibung
command Ja (keiner) Befehl. Der DPT muss zu valueType passen; ohne Angabe gilt dessen eigener DPT
status Nein (keiner) Status, wie command
valueType Nein f16 Wie bei Wertanzeige, außer hex
control Nein stepper Was das Widget zeigt: stepper (− und +), slider, buttons oder none
min, max Nein der Wertebereich des Typs Der Bereich, in dem das Bedienelement arbeitet
step Nein 0.5 für Gleitkommazahlen, 10 für Prozent, sonst 1 Die Schrittweite von − und +
unit Nein (keiner) Hinter dem Wert angezeigt
decimals Nein wie empfangen 0 bis 2
choices Mit buttons [] Bis zu 8 Tasten: {"value": 21, "name": "Comfort"}, jeder Wert innerhalb des Bereichs und nur einmal
color Nein vom Design vorgegeben Die Symbolfarbe
{
  "type": "valueControl",
  "name": "Hood fan",
  "valueType": "percent",
  "control": "buttons",
  "command": { "address": "6/2/1", "dpt": "5.001" },
  "status": { "address": "6/2/2", "dpt": "5.001" },
  "choices": [{ "value": 0, "name": "Off" }, { "value": 50, "name": "Half" }, { "value": 100, "name": "Full" }]
}

Modusanzeige

Zeigt ein Byte als benannte Zustände, z. B. einen HVAC-Modus.

Feld Erforderlich Standardwert Beschreibung
status Ja (keiner) Status, DPT 5, 17 oder 20 (5.010, wenn weggelassen)
states Ja (keiner) 1 bis 8 Zustände: {"value": 1, "name": "Comfort", "icon": "…"}, Werte 0–255, jeweils nur einmal
color Nein vom Design vorgegeben Die Symbolfarbe
{
  "type": "modeStatus",
  "name": "Heating mode",
  "status": { "address": "3/1/9", "dpt": "20.102" },
  "states": [{ "value": 1, "name": "Comfort" }, { "value": 2, "name": "Standby" }, { "value": 3, "name": "Economy" }]
}

Dimmer

Eine dimmbare Leuchte: Das Symbol schaltet sie, ein Schieberegler setzt die Helligkeit oder − und + dimmen sie.

Feld Erforderlich Standardwert Beschreibung
switch Nein (keiner) Befehl Ein/Aus, DPT 1.001
switchStatus Nein (keiner) Status Ein/Aus, DPT 1.001
brightness Mit slider (keiner) Befehl Helligkeit, DPT 5.001
brightnessStatus Nein (keiner) Status Helligkeit, DPT 5.001
dimming Mit stepper (keiner) Befehl relatives Dimmen, DPT 3.007
control Nein slider mit brightness, sonst stepper Das 2x2-Bedienelement. Nur das Sendeobjekt des gewählten Bedienelements darf angegeben werden
stepCode Nein 5 Dimmschritt, 1–7: 1 = 100 %, 2 = 50 %, … 5 = 6.25 %, … 7 = 1.56 %
repeatMs Nein 500 Wiederholung, solange − oder + gehalten wird: 500, 1000 oder 1250 ms
offIcon, onColor, offColor Nein Wie bei Schalter
{ "type": "dimmer", "name": "Sofa lamp", "icon": "floor_lamp", "switch": "1/1/10", "switchStatus": "1/1/11", "brightness": "1/1/12", "brightnessStatus": "1/1/13" }

Jalousie

Eine Jalousie oder ein Rollladen: auf, stopp und ab oder eine Position.

Feld Erforderlich Standardwert Beschreibung
control Nein step step (auf, stopp, ab) oder position (ein Schieberegler)
move Mit step (keiner) Befehl auf/ab, beliebiger DPT 1 (1.008, wenn weggelassen)
stop Mit step (keiner) Befehl stopp oder Lamellenschritt, beliebiger DPT 1 (1.008, wenn weggelassen)
position Mit position (keiner) Befehl Position, DPT 5.001
slatAdjustment Nein false true für Jalousien mit Lamellen
slatPosition Mit position und Lamellen (keiner) Befehl Lamellenposition, DPT 5.001
positionStatus, slatStatus Nein (keiner) Status Position und Lamellenposition, DPT 5.001
upperEndStatus, lowerEndStatus Nein (keiner) Status der Endlagen, DPT 1 (1.002, wenn weggelassen)
windAlarm Nein (keiner) Status Windalarm, DPT 1 (1.005, wenn weggelassen). Als Warnung angezeigt; blockiert niemals einen Befehl
invert Nein false true für Aktoren, bei denen 0 % geschlossen bedeutet
offIcon Nein das Symbol Das Symbol im geöffneten Zustand
onColor, offColor Nein vom Design vorgegeben Die Symbolfarbe im geschlossenen und geöffneten Zustand

0 % ist geöffnet, 100 % geschlossen. Nur die Sendeobjekte der gewählten Steuerung dürfen angegeben werden, Lamellenobjekte nur mit slatAdjustment.

{ "type": "blind", "name": "Terrace blind", "move": "2/1/1", "stop": "2/1/2", "positionStatus": "2/1/3" }

Szene

Ruft eine Szene ab. Im Modus toggle wechselt sie zwischen zwei Szenen; im Modus threshold wählt sie anhand eines Werts eine aus, z. B. Szene A ab 20 lux.

Feld Erforderlich Standardwert Beschreibung
command Ja (keiner) Befehl, DPT 18.001
mode Nein single single, toggle oder threshold
scene Nein 0 Szene A, wie gesendet: 0–63. KNX-Szene 1 ist 0, Szene 64 ist 63
sceneB Mit toggle und threshold (keiner) Szene B, 0–63
commandB Nein command Szene B an ihre eigene Adresse senden, DPT 18.001
nameA, nameB Nein (keiner) Die Namen der beiden Szenen, nur mit toggle
iconB Nein das Symbol Das Symbol der Szene B
activation Nein tap tap oder hold, um die Szene erst nach Halten abzurufen
holdMilliseconds Nein 500 Die Haltedauer: 200, 300, 400, 500, 1000, 2000 oder 3000
saveOnLongPress Nein false true: Langes Halten speichert den aktuellen Zustand als Szene
value Mit threshold (keiner) Status zur Szenenauswahl. Der DPT muss zu valueType passen; ohne Angabe gilt dessen eigener DPT
valueType Nein f16 Wie value decodiert wird, wie bei Wertanzeige, außer hex
threshold Nein 0 Szene A ab diesem Wert, Szene B darunter
defaultScene Nein a a oder b: Die Szene, die vor dem Empfang eines Werts abgerufen wird
flagAbove, flagBelow Nein (keiner) Symbole zur Kennzeichnung der aktiven Seite
color Nein vom Design vorgegeben Die Symbolfarbe
{ "type": "scene", "name": "Cinema", "icon": "relax", "mode": "toggle", "command": "4/2/1", "scene": 4, "sceneB": 5, "nameA": "Movie", "nameB": "Lights up" }

Szenen

Mehrere Szenentasten auf einer Adresse.

Feld Erforderlich Standardwert Beschreibung
command Ja (keiner) Befehl, DPT 18.001
scenes Ja (keiner) 1 bis 9 Tasten: {"name": "Relax", "scene": 0, "icon": "relax"}. scene ist die gesendete Nummer, 0–63, jeweils nur einmal
color Nein vom Design vorgegeben Die Symbolfarben
{
  "type": "scenes",
  "name": "Moods",
  "command": "4/1/1",
  "scenes": [{ "name": "Relax", "scene": 0, "icon": "relax" }, { "name": "Dinner", "scene": 1, "icon": "dinner" }]
}

Einstellbares Weiß

Eine Leuchte mit Helligkeit und Farbtemperatur in einer von drei Objektanordnungen.

Feld Erforderlich Standardwert Beschreibung
objects Nein brightnessTemperature brightnessTemperature, combined (ein Objekt mit DPT 249.600) oder warmCold (zwei Pegel)
switch, switchStatus Nein (keiner) Ein/Aus, DPT 1.001
brightness, brightnessStatus brightnessTemperature mit slider (keiner) Helligkeit, DPT 5.001
dimming brightnessTemperature mit stepper (keiner) Relatives Dimmen, DPT 3.007
temperature, temperatureStatus brightnessTemperature (keiner) Farbtemperatur: DPT 7.600 (Kelvin) oder 5.001 (Prozent des Bereichs), gemäß temperatureAs
temperatureAs Nein kelvin kelvin oder percent
combined, combinedStatus combined (keiner) Helligkeit und Temperatur gemeinsam, DPT 249.600
warm, warmStatus, cold, coldStatus warmCold (keiner) Die zwei Weißpegel, DPT 5.001
warmestK, coolestK Nein 2700, 6500 Der Temperaturbereich, 1000–20000 K. Nicht mit warmCold
control, stepCode, repeatMs Nein Wie bei Dimmer
offIcon, onColor, offColor Nein Wie bei Schalter

Die erforderlichen Sendeobjekte und ihre optionalen Statusobjekte hängen von objects ab; Objekte einer anderen Anordnung sind ein Fehler.

{ "type": "tunableWhite", "name": "Reading light", "switch": "1/2/1", "brightness": "1/2/2", "temperature": "1/2/3", "temperatureStatus": "1/2/4" }

Farblicht

Eine RGB-, RGBW- oder RGB-Leuchte mit einstellbarem Weiß.

Feld Erforderlich Standardwert Beschreibung
light Nein rgb rgb, rgbw oder rgbTunableWhite
control Nein die erste Anordnung der Leuchte Wie die Farbe gesendet wird: oneObject, rgbAndWhite oder separate, gemäß der Tabelle unten
white Nein temperature rgbTunableWhite mit rgbAndWhite: temperature oder warmCold
switch, switchStatus Nein (keiner) Ein/Aus, DPT 1.001
brightness, brightnessStatus Nein (keiner) Die Gesamthelligkeit der Leuchte, DPT 5.001
onFrom Nein switchStatus Was den eingeschalteten Zustand angibt: switchStatus oder switchOrLevels
temperatureAs, warmestK, coolestK Nein Mit einem Temperaturobjekt, wie bei Einstellbares Weiß
offIcon, onColor, offColor Nein Wie bei Schalter
light control Sendeobjekte
rgb oneObject rgb (DPT 232.600)
rgb separate red, green, blue (DPT 5.001)
rgbw oneObject rgbw (DPT 251.600)
rgbw rgbAndWhite rgb, whiteLevel (5.001)
rgbw separate red, green, blue, whiteLevel
rgbTunableWhite rgbAndWhite rgb, dann temperature oder warm und cold (gemäß white)
rgbTunableWhite separate red, green, blue, warm, cold

Jedes Sendeobjekt hat ein gleichnamiges Statusobjekt mit angehängtem Status (rgbStatus, redStatus, …; beim Weißpegel whiteStatus). Farbstatusobjekte werden entweder alle angegeben oder keines.

{ "type": "colorLight", "name": "Accent strip", "light": "rgb", "switch": "1/3/1", "rgb": "1/3/2", "rgbStatus": "1/3/3" }

Thermostat

Zeigt den Sollwert oder die Raumtemperatur und ändert den Sollwert.

Feld Erforderlich Standardwert Beschreibung
shows Nein setpoint Was das Widget groß anzeigt: setpoint oder roomTemperature
unit Nein celsius celsius (DPT 9.001) oder fahrenheit (9.027). Werte werden niemals umgerechnet
control Nein absolute absolute (sendet eine Temperatur) oder increaseDecrease (sendet 1-Bit-Schritte)
setpoint Mit absolute (keiner) Befehl Sollwert, mit dem DPT von unit
increase, decrease Mit increaseDecrease (keiner) Schritte senden, DPT 1. Kann dieselbe Adresse sein
increaseValue, decreaseValue Nein true, false Das von increase und decrease gesendete Bit
setpointStatus Mit increaseDecrease, wenn der Sollwert angezeigt wird (keiner) Status Sollwert
roomTemperature Wenn angezeigt (keiner) Status Raumtemperatur
step Nein 0.5 Mit absolute: 0.1, 0.2, 0.5 oder 1
min, max Nein 7–35 °C, 45–95 °F Die Grenzen des Sollwerts
color Nein vom Design vorgegeben Die Symbolfarbe
{ "type": "thermostat", "name": "Living room", "setpoint": "3/1/1", "setpointStatus": "3/1/2", "roomTemperature": "3/1/3" }

Fan Coil

Die Lüfterstufen eines Fan-Coil-Geräts, optional mit Ein/Aus, Auto/Manuell, Heizen/Kühlen, HVAC-Modi und Thermostat. Die Einstellungen legen die Objekte fest; jedes vorhandene Sendeobjekt ist erforderlich, Statusobjekte sind optional.

Feld Erforderlich Standardwert Beschreibung
fanSpeed, fanSpeedStatus fanSpeed (keiner) Die Lüfterstufe: DPT 5.001 für percent, sonst 5.010
stages Nein 3 Lüfterstufen, 1–5
controlAs Nein percent Wie eine Stufe gesendet wird: percent (Prozentwert), value (Bytewert) oder stageNumber (1, 2, 3 …)
statusAs Nein controlAs Wie der Status gelesen wird, wie controlAs
percentStages, valueStages Nein gleichmäßig verteilt Der Wert jeder Stufe, z. B. [33, 67, 100] oder [85, 170, 255]
speedZero Nein nothing Bedeutung der Lüftergeschwindigkeit 0: nothing, auto oder manual
onOff Nein false true fügt switchCommand und switchStatus hinzu (DPT 1.001)
autoManualObjects Nein (aus) one: autoManual (+ autoManualStatus). two: auto und manual (+ Statusobjekte). DPT 1
autoManualInvert Nein false Mit one: true, wenn 1 Manuell bedeutet
heatCoolObjects Nein (aus) one: heatCool (+ heatCoolStatus), DPT 1.100. two: heat und cool (+ Statusobjekte), DPT 1
heatCoolInvert Nein false Mit one: true, wenn 1 Kühlen bedeutet
hvacObjects Nein (aus) byte: hvacMode (+ hvacModeStatus), DPT 20.102. bits: ein Objekt je angebotenem Modus, hvacAuto, hvacComfort, hvacStandby, hvacEconomy, hvacProtection (+ Statusobjekte), DPT 1
hvacModes Nein alle außer auto Angebotene Modi: auto, comfort, standby, economy, buildingProtection
thermostat Nein (aus) Ein Objekt mit shows, unit, control, step, min, max, increaseValue und decreaseValue aus Thermostat. Fügt setpoint oder increase und decrease sowie setpointStatus und roomTemperature hinzu
offIcon, onColor, offColor Nein Wie bei Schalter
{ "type": "fanCoil", "name": "Office fan coil", "fanSpeed": "7/1/1", "fanSpeedStatus": "7/1/2", "onOff": true, "switchCommand": "7/1/3", "switchStatus": "7/1/4" }

Klimagerät

Ein Splitgerät oder VRV über sein KNX-Gateway. Sein type ist airConditioner.

Feld Erforderlich Standardwert Beschreibung
kind Nein split split oder vrv
switchCommand, switchStatus Ja (keiner) Ein/Aus, DPT 1.001
setpoint, setpointStatus setpoint (keiner) Sollwert, mit dem DPT von unit
roomTemperature Wenn angezeigt (keiner) Status Raumtemperatur
mode, modeStatus mode (keiner) Betriebsmodus, DPT 20.105
fanSpeed, fanSpeedStatus fanSpeed (keiner) Lüfterstufe, DPT 5.010
shows, unit, step Nein setpoint, celsius, 1 Wie bei Thermostat
min, max Nein 16–30 °C, 61–86 °F Die Grenzen des Sollwerts
modes Nein alle für split; Heizen, Kühlen, Lüfter, Entfeuchten für vrv Angebotene Modi: auto, heat, cool, fan, dry
modeValues Nein Auto 0, Heizen 1, Kühlen 3, Lüfter 9, Entfeuchten 14 Das Byte, das jeder Modus sendet, z. B. {"dry": 4}
fanStages Nein 3 Lüfterstufen
fanValues Nein [1, 2, 3] Das Byte, das jede Stufe sendet
fanAutoValue Nein (keiner) Wenn angegeben, bietet der Lüfter Auto an und sendet dafür dieses Byte
faultAs Nein (keiner) Wenn angegeben, ist fault erforderlich: bit (DPT 1.005), code (ein Byte, DPT 5.010) oder text (DPT 16.000)
fault Mit faultAs (keiner) Status Störung
faultInvert Nein false Mit bit: true, wenn 0 eine Störung bedeutet
faultCodes Nein [] Mit code: {"value": 3, "text": "Filter"}, Texte für bekannte Codes
offIcon, onColor, offColor Nein Wie bei Schalter
{ "type": "airConditioner", "name": "Bedroom AC", "switchCommand": "8/1/1", "switchStatus": "8/1/2", "setpoint": "8/1/3", "mode": "8/1/4", "fanSpeed": "8/1/5" }

Verbindung

Wie sich das Dashboard beim Öffnen verbindet. Ohne Angabe arbeitet es automatisch: Es behält eine bestehende Verbindung der App bei, verwendet sonst das ausgewählte Gateway und sucht andernfalls.

Feld Erforderlich Standardwert Beschreibung
mode Ja (keiner) automatic, gateway oder multicast
gateway Nein (keiner) Mit gateway: Das Gateway für die Verbindung. Ohne Angabe kann das Dashboard erst starten, nachdem eines in seinen Einstellungen gewählt wurde
secure Nein false Mit multicast: true für KNX IP Secure Routing

Das Objekt gateway:

Feld Erforderlich Standardwert Beschreibung
host Ja (keiner) IP-Adresse oder Hostname
port Nein 3671 UDP- oder TCP-Port
name Nein (keiner) Ein anzuzeigender Name
transport Nein udp udp, tcp oder auto (zuerst TCP, dann UDP)
nat Nein false true für ein Gateway hinter NAT
knxAddress Nein (keiner) Die physikalische Adresse des Gateways, z. B. 1.1.250. Secure Tunneling findet darüber seine Zugangsdaten
secure Nein false true für KNX IP Secure Tunneling
serial, mac Nein (keiner) Die erkannte Seriennummer und MAC-Adresse des Gateways
{
  "format": 1,
  "name": "Office",
  "connection": { "mode": "gateway", "gateway": { "name": "Office router", "host": "10.0.0.5", "transport": "tcp" } },
  "home": { "name": "Home", "tiles": [] }
}

Exporte der Option Einfaches JSON enthalten keine Schlüssel oder Zugangsdaten. Einfaches JSON und Mit Schlüsseln verwenden beide die Erweiterung .json; der Import erkennt den Schutz am Dateiinhalt.

Passwortgeschütztes JSON

Die Option Mit Schlüsseln verschlüsselt den gesamten Inhalt. Sein JSON-Container lässt sich in einem Texteditor öffnen, aber Dashboard-Definition und Schlüssel müssen zum Lesen oder Ändern entschlüsselt werden. Das Exportpasswort ist für den Import erforderlich und wird nie gespeichert.

Containerfeld Wert oder Zweck in Version 1
format 1
protected.version 1
protected.cipher AES-256-GCM
protected.kdf PBKDF2-HMAC-SHA256
protected.iterations 600000; in dieser Schutzversion festgelegt
protected.salt Base64 aus 16 zufälligen Bytes
protected.nonce Base64 der 12-Byte-Verschlüsselungs-Nonce
protected.ciphertext Base64 des verschlüsselten Inhalts
protected.tag Base64 des 16-Byte-Authentifizierungstags

Die Authentifizierung bindet den Inhalt zusätzlich an SharKNX dashboard protected JSON v1. Falsche Passwörter oder manipulierte verschlüsselte Daten können kein importiertes Dashboard erzeugen. Die gewählte Datei ist auf 32 MiB begrenzt, der entschlüsselte Inhalt auf 16 MiB.

Der entschlüsselte Inhalt enthält dashboard (die in dieser Referenz beschriebene Definition) und nur bei einer eigenen Schlüsselquelle keys. Ohne keys bleibt das Projekt automatisch: Die empfangende App liefert ihre eigene Sicherheit. Ein eigenes Paket, selbst ein leeres, wird als Importierte Schlüssel geführt und mit einer neuen lokalen Identität verschlüsselt beim Dashboard gespeichert. Der Verweis auf das Quellprojekt und das Exportpasswort werden nie in den App-Speicher übernommen.

keys.groupKeys ordnet dezimalen KNX-Gruppenadressnummern (0–65535, als Zeichenketten) 32-stellige Hexadezimalschlüssel zu. Nur vom Dashboard verwendete Adressen bleiben erhalten. Das optionale keys.credentials enthält devices für ein konfiguriertes sicheres Gateway mit address, optionalem deviceAuthCode und interfaces (userId, individualAddress, password); sicheres multicast enthält stattdessen backboneKeyHex und backboneSecurityEnabled. Tool Keys, fremde Adressen und Gateways sowie Projektnamen sind ausgeschlossen.

Automatische Verbindung und automatisches Projekt verwenden die Konfiguration der empfangenden App. Sie enthalten nie eine Momentaufnahme der Verbindung oder des Projekts der exportierenden App. Ein Dashboard mit eigenen Schlüsseln und automatischer Verbindung kann seine verwendeten Gruppenschlüssel enthalten, aber keine Gateway-Zugangsdaten. Die Projekteinstellungen zeigen Importierte Schlüssel, bis automatisch oder ein anderes Projekt gespeichert wird. Ein gewähltes Projekt stellt außerdem seine Adressliste und die Schlüsselaktualisierung bereit. Importierte Schlüssel lassen sich erneut exportieren.

Der Import ist unter + → Hinzufügen → Dashboard importieren verfügbar. Nach Erfolg bleiben Sie auf Dashboards; bei gleichem Namen werden Als Kopie importieren oder Ersetzen angeboten. Importfehler erscheinen in einem Dialog mit scrollbarem Codebereich und Details kopieren.


Vollständiges Beispiel

Das Beispielhaus: Home mit Verknüpfungen zu zwei Räumen, ein Wohnzimmer mit zwei Seiten und eine Küche, ein Szenenwidget „Moods“, zwei Favoriten und ein konfiguriertes Gateway.

{
  "format": 1,
  "name": "Villa",
  "theme": "night",
  "keepScreenOn": true,
  "favorites": ["t1", "t4"],
  "connection": { "mode": "gateway", "gateway": { "name": "Main gateway", "host": "192.168.1.20" } },
  "home": {
    "name": "Home",
    "icon": "home",
    "tiles": [
      { "type": "navigation", "name": "Living room", "icon": "living", "target": "r1" },
      { "type": "navigation", "name": "Kitchen", "icon": "kitchen", "target": "r2" },
      { "type": "valueDisplay", "name": "Outdoor", "icon": "temperature", "valueType": "f16", "unit": "°C", "decimals": 1, "status": { "address": "5/1/1", "dpt": "9.001" } }
    ],
    "rooms": [
      {
        "id": "r1",
        "name": "Living room",
        "icon": "living",
        "panels": [
          {
            "tiles": [
              { "id": "t1", "type": "switch", "name": "Ceiling light", "icon": "light_group", "command": "1/1/1", "status": "1/1/2" },
              { "type": "dimmer", "name": "Sofa lamp", "icon": "floor_lamp", "switch": "1/1/10", "brightness": "1/1/12", "brightnessStatus": "1/1/13" },
              { "type": "blind", "name": "Terrace blind", "move": "2/1/1", "stop": "2/1/2", "positionStatus": "2/1/3" },
              { "id": "t4", "type": "thermostat", "name": "Living room", "setpoint": "3/1/1", "setpointStatus": "3/1/2", "roomTemperature": "3/1/3" }
            ]
          },
          {
            "tiles": [
              { "type": "tunableWhite", "name": "Reading light", "switch": "1/2/1", "brightness": "1/2/2", "temperature": "1/2/3" }
            ]
          }
        ]
      },
      {
        "id": "r2",
        "name": "Kitchen",
        "icon": "kitchen",
        "tiles": [
          { "type": "switch", "name": "Counter light", "command": "1/4/1", "status": "1/4/2" },
          { "type": "statusIndicator", "name": "Window", "icon": "window", "status": { "address": "6/1/1", "dpt": "1.019" }, "zeroLabel": "Closed", "oneLabel": "Open" }
        ]
      }
    ]
  }
}

Validierung

Der Import prüft die gesamte Datei und nennt jedes Problem mit seiner Position, z. B. $.home.rooms[1].tiles[3].status.address. Eine Datei mit einem Problem wird nicht importiert; es wird nichts gespeichert.

Problem Beispiel
Kein JSON Ein fehlendes Komma oder Anführungszeichen
Ein erforderliches Feld fehlt Ein Widget ohne name
Ein Feld hat einen Wert des falschen Typs "size": 2 statt "2x1"
Ein unbekannter Wert "control": "slide"
Ein Widget-Typ, den die App nicht kennt Eine Datei aus einer neueren SharKNX-Version
Einem Widget fehlt eine erforderliche Adresse Ein Dimmer mit control slider, aber ohne brightness
Ein Widget verletzt seine eigenen Regeln Ein DPT, der nicht zur Funktion passt, eine für den Typ unzulässige Größe oder eine Szenennummer über 63
Eine Verknüpfung oder ein Favorit hat kein Ziel "target": "r9" ohne Raum r9
Eine ID wird zweimal verwendet Zwei Widgets t4
Vollständige Form und Kurzform gemeinsam tiles und panels in einem Raum; address und targets in einem Sendeobjekt
Ein neueres Dateiformat "format": 2

Grenzen

Element Grenze
Namen (Dashboard, Räume, Widgets, Zustände, Tasten) 50 Zeichen
Räume in einem Dashboard, einschließlich Home 500
Raumverschachtelung unter Home 8 Ebenen
Seiten in einem Raum 10
Widgets auf einer Seite 100
Widgets in einem Dashboard 5000
Zahlen in IDs 0–999999

Versionen

Jede exportierte Datei beginnt mit "format": 1. Fehlt das Feld, wird die Datei als aktuelles Format gelesen. Eine Datei mit höherer Nummer stammt aus einer neueren SharKNX-Version und wird nicht importiert; aktualisieren Sie die App.

Dateien bleiben beim Wachstum von SharKNX importierbar: Neue Felder erhalten Standardwerte, sodass sie in älteren Dateien einfach fehlen können. Ein Feld ändert unter demselben Namen niemals seine Bedeutung. Bei einer neueren Datei in einer älteren App gehen nur die Felder verloren, die die App nicht kennt.

ZurückDateiformat für Aliase und SkripteWeiterExportformate

Auf dieser Seite

  1. Struktur
  2. Dashboard
  3. Räume und Seiten
  4. IDs und Verknüpfungen
  5. Widgets
  6. Gruppenadressen
  7. Farben und Symbole
  8. Widget-Typen
  9. Verbindung
  10. Vollständiges Beispiel
  11. Validierung
  12. Versionen

← SharKNX product page

logo

Solutions

  • Services
  • Products
  • HaaS

Company

  • About Us
  • Contact

Legal

  • Privacy Policy
  • Cookie Policy
  • Terms & Conditions

Contact

  • info@owl-automata.com
  • Athens, Greece

© 2026 OWL-Automata.com. All rights reserved OWL Automata

  • Terms & Conditions
  • Privacy Policy
  • Cookie Policy