Profielformaat
Een add-on-profiel is een JSON-bestand. Het beschrijft een apparaat volledig: hoe de nomos system Controller het bereikt, wat hij kan verzenden, welke waarden terugkomen en wat daarvan in de app, in automatiseringen en in Quick Config verschijnt. Deze pagina beschrijft het formaat. Hoe u het in de Profiel Editor bewerkt, staat daar. Profielen met een eigen verbinding via TCP, UDP, HTTP of serieel beschrijft CommandServer in detail. Volledige voorbeelden voor HTTP, TCP (Modbus), UDP, MQTT en KNX staan onder Voorbeeldprofielen.
INFO
Elk profiel in de profiellijst kunt u met het downloadpictogram als .json opslaan. Een bestaand profiel dat op uw apparaat lijkt, is het beste startpunt.
Opbouw in het kort
{
"version": "1.0",
"author": "Muster Integration GmbH",
"description": "Wallbox XY",
"manufacturer": "XY",
"model": "Wallbox",
"platform": "XY",
"category": "Energy",
"type": "EV Charger",
"className": "XY_WALLBOX",
"engineType": "",
"structure": { "config": {}, "commands": {}, "mappings": {} },
"polling": {},
"properties": {},
"propertiesMeta": {},
"mappings": {},
"mappingsMeta": {},
"actionTemplates": [],
"triggerTemplates": [],
"hooks": {},
"cameras": [],
"components": {}
}| Blok | Inhoud |
|---|---|
| Basisgegevens | Naam, fabrikant, categorie, type, motortype |
structure | Alleen CommandServer: verbinding, opdrachten en antwoordpatronen, zie CommandServer |
polling | Alleen CommandServer: opdrachten die regelmatig worden verzonden |
properties, propertiesMeta | Acties: wat naar het apparaat kan worden verzonden, en hun labels |
mappings, mappingsMeta | Terugmeldingen: welke waarden het apparaat meldt, en hun labels |
actionTemplates, triggerTemplates | Sjablonen voor automatiseringen en Quick Config |
hooks | Waarden die het apparaat zelf via HTTP mag verzenden |
cameras | Camerabeelden van het apparaat |
components | Subprofielen: meerdere apparaten via één verbinding |
Belangrijk om te begrijpen: structure beschrijft alleen wat over de lijn gaat. De app, automatiseringen en opgeslagen waarden werken uitsluitend met properties en mappings. Een CommandServer-profiel heeft daarom beide nodig: de opdracht in structure.commands en de actie in properties, het antwoordpatroon in structure.mappings en de terugmelding in mappings.
Basisgegevens
| Veld | Verplicht | Betekenis |
|---|---|---|
version | ja | Versienummer, bijv. 1.0. Bestaande apparaten nemen wijzigingen alleen over bij een hogere versie, zie Profiel wijzigen |
description | ja | Naam in de profiellijst en voorstel voor de apparaatnaam |
author, manufacturer, model | ja | Gegevens over auteur en apparaat |
platform | ja | Herkomst, meestal de fabrikant. Bij KNX KNX, bij MQTT MQTT |
category, type | ja | Zie Categorie en type |
engineType | ja | Zie Motortype |
className | CommandServer, KNX | Bij CommandServer de naam van de verbinding (alleen A–Z, 0–9, _, -, maximaal 28 tekens), bij KNX altijd KNX, bij MQTT en BUS leeg |
supportUrl | nee | Hulppagina over het apparaat, verschijnt als infoknop |
compatibility | nee | Dekking van het apparaat in procenten |
nomosCertified | nee | true alleen bij profielen die nomos system heeft gecontroleerd |
minVersion | nee | Minimale versie van de controller; oudere controllers weigeren een apparaat aan te maken |
tags | nee | Kenmerken, zie hieronder |
hideProperties, hideMappings | nee | Stelt de Profiel Editor zelf in, zie Sjablonen |
Tags met effect: uihidden (apparaat niet in de app), voicehidden (niet naar spraakassistenten en de Matter-bridge). Een veld name hoort niet in het hoofdprofiel: het zou de naam vervangen die de gebruiker bij het aanmaken invult.
Een punt in de naam van het profiel wordt bij de import _, want bij het laden scheidt een punt profiel en subprofiel.
Categorie en type
Categorie en type bepalen het pictogram en het bedieningselement in de app. Ze bepalen ook of en als wat het apparaat via de Matter-bridge verschijnt. Gebruik de waarden die de Profiel Editor aanbiedt, bijv.:
| Categorie | Types |
|---|---|
Lighting | Lightbulb |
Switches | Switch, Trigger |
Thermostats | Thermostat, Thermostat Variation TA |
Window Coverings | Window Covering, Window Covering Up/Down |
Sunblinds | Sunblind |
Sensors | Temperature Sensor, Humidity Sensor, Contact Sensor, Motion Sensor, CO2 Sensor, Smoke Sensor, Light Sensor, Rain Sensor, Wind Sensor, Weather Station, Binary Sensor, … |
Energy | Inverter, Smart Meter, EV Charger, Heat Pump, Heating Controller, Pellet Boiler, Power Sensor |
Fans, Doors, Garage Door, Valves | Fan, Door, Garage Door Opener, Valve |
Security Systems | Lock, Alarm, Camera, Security System |
Kies het type op basis van de belangrijkste waarde van het apparaat.
Motortype
engineType | Verbinding | Bijzonderheden |
|---|---|---|
"" (CommandServer) | Eigen verbinding via TCP, UDP, HTTP, HTTPS of serieel | structure en polling, zie CommandServer |
MQTT | Via de broker van de MQTT-skill | Topics per actie en terugmelding, zie MQTT |
KNX | Via de KNX-interface | Profiel zonder adressen, groepsadressen bij het aanmaken, zie KNX |
BUS | Waarden komen alleen via webhooks | Voor apparaten die zelf via HTTP melden |
ZWAVE | Via de Z-Wave-skill | Wordt via de Z-Wave-pagina aangemaakt |
Elk apparaat uit een CommandServer-, MQTT- of BUS-profiel telt mee voor het aantal add-ons dat uw licentie toestaat.
Acties en terugmeldingen
properties (acties) zijn alles wat naar het apparaat kan worden verzonden. mappings (terugmeldingen) zijn de waarden die het apparaat meldt. Een naam mag in beide voorkomen, bijvoorbeeld state om te schakelen en als gemelde toestand. Alleen dan toont de app een schakelaar die de werkelijke toestand weergeeft.
"properties": {
"state": {"method": "set", "property": "ENA", "datatype": "bool"},
"switchon": {"method": "set", "property": "ENA", "value": 1, "datatype": "bool", "uihidden": true},
"switchoff": {"method": "set", "property": "ENA", "value": 0, "datatype": "bool", "uihidden": true}
},
"mappings": {
"state": {"method": "get", "property": "ENABLE_USER", "datatype": "bool", "defaultValue": false},
"reachable": {"method": "get", "property": "REACHABLE", "datatype": "bool", "defaultValue": false}
}Velden
| Veld | In | Betekenis |
|---|---|---|
method | beide | Acties: command (opdracht verzenden), set (eigenschap instellen), alias (naar een andere actie doorverwijzen). Terugmeldingen: get |
command | acties | Naam van de opdracht bij method: "command" |
property | beide | Bij set: naam van de eigenschap. Bij terugmeldingen: naam van de gemelde waarde, bij CommandServer de naam van een antwoordpatroon, bij KNX altijd value |
datatype | beide | Zie Datatypes |
value | acties | Vaste waarde, zie Vaste waarde |
defaultValue | beide | Acties: waarde als er geen waarde wordt meegestuurd. Terugmeldingen: beginwaarde tot de eerste melding |
valueList | beide | Keuzewaarden, zie Waardenlijsten |
min, max, internalMin, internalMax | beide | Zie Schaling |
unit | beide | Zie Eenheden |
stepValue | beide | Stapgrootte van schuifregelaars (niet step) |
uihidden | beide | Niet als eigen rij in de app |
process | terugmeldingen | Zie Verwerking |
customFormat | terugmeldingen | Zie Weergave |
simulateFeedback | acties | true: de verzonden waarde geldt direct als gemeld. Voor apparaten zonder terugmelding |
prefix, suffix | acties | Worden met een komma voor of achter de waarde gezet (prefix,waarde) |
sizeInBit | beide | KNX: grootte van het datapunt. Bij 1 worden true/false als 1/0 verzonden |
filterDPT | beide | KNX: aangeboden datapunttypen bij het toewijzen van het groepsadres |
mqtt, mqttValue, mqttPayload, mqttScale | beide | MQTT, zie MQTT |
Bij CommandServer wordt {"method": "set", "property": "ENA"} de opdracht SETENA en {"method": "command", "command": "ON"} de opdracht ON. Beide moeten in structure.commands staan.
Datatypes
datatype | Betekenis |
|---|---|
bool | Ja/nee. Als "uit" gelden 0, false, off, aus, offline, close, closed, error, warning (hoofdletters maken niet uit), al het andere als "aan". Een apparaat dat open meldt, is dus "aan" |
int, float | Geheel getal of decimaal getal (punt als decimaalteken) |
string | Tekst |
null | Actie zonder waarde, bijv. een knop. Een meegestuurde waarde wordt genegeerd |
trigger | Actie die alleen wordt uitgevoerd, bijvoorbeeld het stoppen van een zonwering |
Standaardnamen
De app herkent waarden aan hun naam en toont daarvoor het passende bedieningselement. Gebruik voor deze waarden precies deze namen:
| Naam | Waarde | Datatype |
|---|---|---|
state | Aan/uit | bool |
level | Helderheid 0–100 | int |
color-temperature | Kleurtemperatuur in mired | int |
position | Positie van een zonwering 0–100 | int |
stop | Zonwering stoppen | trigger |
openclose | Openen/sluiten, verplicht bij garagedeuren | bool |
opened | Deur of poort open | bool |
temperature, setpoint | Werkelijke en gewenste temperatuur | float |
hvacmode | Bedrijfsmodus | int of string |
isheating, heatingpower | Verwarmt op dit moment, verwarmingsvermogen in % | bool, int |
humidity, co2, pressure, noise | Meetwaarden | Getal |
battery | Batterijniveau in % | int |
reachable | Bereikbaarheid | bool |
power | Vermogen | float |
pv_power, grid, battery_power, battery_state, e_day, e_total | Energie: pv-vermogen, net, opslag, opbrengst vandaag en totaal. grid vanuit het huis gezien: teruglevering positief, afname negatief | Getal |
Andere waarden mogen eigen namen hebben (kleine letters, cijfers, _, -). De app toont ze als tekstregel. De Profiel Editor stelt bij de naam alle bekende namen voor.
state, switchon en switchoff
Schakelt de app een apparaat, dan verzendt de controller niet state, maar switchon of switchoff. Automatiseringen gebruiken daarentegen state zelf. Een schakelbaar apparaat heeft daarom alle drie de acties nodig: state met het datatype bool, en switchon/switchoff met dezelfde opdracht en de vaste waarde 1 of 0, beide met uihidden. In propertiesMeta vat één item de drie samen:
"propertiesMeta": {
"state": {"text": "State", "properties": ["state", "switchon", "switchoff"]}
}Vaste waarde
value bij een actie is de waarde die de actie verzendt als er geen waarde wordt meegestuurd. Komt er een waarde mee, bijvoorbeeld uit de app, dan wint die, behalve bij "datatype": "null": dan wordt altijd value verzonden. In automatiseringen wint daarentegen altijd de vaste waarde van het profiel. Gebruik voor knoppen met een vaste inhoud (scène oproepen, toets indrukken) daarom "datatype": "null" en value.
Waardenlijsten
"valueList": [
{"text": "Off", "value": "0"},
{"text": "Low", "value": "1"},
{"text": "High", "value": "2"}
]Bij een actie is de lijst tegelijk een toegestane lijst: een waarde die er niet in staat, wordt geweigerd. Automatiseringen tonen de keuze alleen als dezelfde lijst ook in het sjabloon staat. Herhaal de lijst daar.
Schaling
internalMin/internalMax zijn het waardebereik van het apparaat, min/max het bereik in nomos (app, automatiseringen). De controller rekent lineair om, in beide richtingen. Voorbeeld: de wallbox verwacht de laadstroom in mA (6000–32000), de app toont A (6–32):
"amperelimit": {"method": "set", "property": "CURR", "datatype": "int", "unit": "A",
"min": 6, "max": 32, "internalMin": 6000, "internalMax": 32000}WARNING
Er wordt geschaald zodra max is ingesteld. Ontbrekende grenzen gelden als min 0, max 100, internalMin 0, internalMax 100. Een "max": 3000 zonder internalMin/internalMax rekent een apparaatwaarde 0–100 dus om naar 0–3000. Stel alle vier de grenzen in, of geen enkele.
- Het resultaat wordt afgerond op gehele getallen. Een omrekening van W naar kW met decimalen werkt daarom niet via de schaling. Gebruik bij CommandServer een formaat (
{%/1000.00}, zie Formaatfilters) of geef de waarde weer in de eenheid van het apparaat. - Verzonden waarden worden begrensd op
min/max. - Een omgekeerd bereik is mogelijk, bijv.
"internalMin": 100, "internalMax": 0voor een zonwering die 0 % als gesloten meldt.
Eenheden
unit is ofwel een categorie die de app voor elke gebruiker passend toont en omrekent (temperature, percent, luminescence, voltage, current, electric, energy, co2, angle, noise, pressure, currency, bigmetric, smallmetric), ofwel een vaste eenheid zoals W, kW, kWh, Hz, m³/h, die zo wordt getoond.
Voor color-temperature geldt: de waarde is in nomos altijd in mired. Gebruikt het apparaat kelvin, geef dan "internalUnit": "kelvin" op, het kelvinbereik met koud eerst ("internalMin": 6500, "internalMax": 2700) en als min/max de mired-waarden (154/370).
Verwerking
process bij een terugmelding bewerkt de waarde na ontvangst, onder andere: invert (teken omdraaien), wattHoursToKilowattHours, openCloseToBoolean (woorden zoals open/closed naar ja/nee), calculateGridPrice, calculatePhotovoltaicsPrice, calculateWaterPrice (waarde × prijs uit de systeemvariabele GRID_PRICE, PV_PRICE of WATER_PRICE). Triggers in automatiseringen vergelijken de waarde vóór deze verwerking.
Weergave
customFormat legt vast hoe de app een waarde toont. De sleutel format is een expressie in JsonLogic die de getoonde waarde berekent. Elke andere sleutel is een kleur die geldt als haar expressie waar is.
"grid": {"method": "get", "property": "GRID", "datatype": "float", "unit": "W",
"customFormat": {
"format": {"Math.abs": {"Math.round": {"var": "value"}}},
"red-minus": {"<": [{"var": "value"}, 0]},
"green-plus": {">": [{"var": "value"}, 0]}
}}Voor format zijn er daarnaast Math.round, Math.abs en de overige Math-functies, toFixed1, toFixed2, toFixed3 en CustomFormatter.toHHMM en CustomFormatter.toHHMMSS (seconden als tijd). Kleuren: green, red, blue, orange, purple, alleen als tekstkleur of met -plus, -minus, -circle, -square als punt voor de waarde.
Labels en groepen
propertiesMeta en mappingsMeta geven elke actie of terugmelding haar label:
"mappingsMeta": {
"power": {"text": "Power", "group": "Vehicle charging", "properties": ["power"]}
}text: label. De gebruiker kan het per apparaat hernoemen.group: gedeelte waaronder de app de waarde toont. Alleen bij apparaten met veel waarden, laat het anders weg. De gedeelten verschijnen in de volgorde van het profiel.properties: welke items deze rij samenvat, bijv.state,switchonenswitchoff. Bij KNX wordt elk item inpropertiesMetaenmappingsMetaeen veld voor een groepsadres.
Vertaling
Labels, groepen en teksten van waardenlijsten en sjablonen worden vertaald als ze precies overeenkomen met een term die nomos kent, bijvoorbeeld State, Brightness, Power, Temperature, Reachable, Turn On, Is Turned On, Off, Low, Medium, High. Elke andere tekst verschijnt in alle talen zoals hij in het profiel staat. Schrijf zulke teksten daarom in de taal van de installatie, of gebruik de Engelse standaardtermen die de Profiel Editor voorstelt.
Sjablonen
Sjablonen zijn de items die automatiseringen en Quick Config aanbieden.
"actionTemplates": [
{"templateid": "switchon", "mapping": "switchon", "text": "Turn On", "icon": "toggle-on"},
{"templateid": "level", "mapping": "level", "text": "Brightness", "icon": "sun-o"}
],
"triggerTemplates": [
{"templateid": "state.on", "mapping": "state", "text": "Is Turned On", "value": "1", "icon": "toggle-on"}
]| Veld | Betekenis |
|---|---|
templateid | Unieke ID. Wordt in opgeslagen automatiseringen gebruikt, wijzig hem daarom later niet meer |
mapping | De actie (bij actionTemplates) of terugmelding (bij triggerTemplates) waarop het sjabloon betrekking heeft. Bestaat die niet, dan vervalt het sjabloon |
text, textsuffix | Label en toevoeging |
icon | Naam van een Font Awesome-pictogram zonder fa-, bijv. toggle-on, bolt, thermometer |
value | Vaste waarde; de automatisering toont dan geen invoerveld |
valueList | Keuze in de automatisering; kopie van de lijst van de actie of terugmelding |
placeholder | Voorbeeldtekst in het lege invoerveld van een actie met tekst |
hideInQuickConfig | true: niet in Quick Config, wel in automatiseringen |
hideProperties: true en hideMappings: true zorgen ervoor dat automatiseringen alleen de sjablonen aanbieden in plaats van alle acties of terugmeldingen. De Profiel Editor stelt beide bij het opslaan zelf in: true zodra er minstens één sjabloon is.
Pollings
Alleen CommandServer. Elk item verzendt een opdracht uit structure.commands met een vaste tussentijd, bij de start meteen één keer:
"polling": {
"Status": {"interval": 30, "editableInterval": true, "command": "STATUS"}
}interval: tussentijd in seconden.editableInterval: true: het interval wordt bij het aanmaken van het apparaat gevraagd (vooraf ingevuld metinterval).valueeneditableValue: optionele waarde die met de opdracht wordt verzonden, en of die bij het aanmaken wordt gevraagd.
Subprofielen kunnen geen pollings uitvoeren; pollings horen bij het hoofdprofiel.
Webhooks
Met webhooks meldt een apparaat zelf waarden, in plaats van dat het wordt opgevraagd. Een voorbeeld is een drukknop die bij elke druk een adres aanroept. In het profiel geeft u aan welke terugmeldingen dat mogen. Elk item heeft een terugmelding met dezelfde naam nodig:
"hooks": {"action": {"enabled": true}, "battery": {"enabled": true}},
"mappings": {
"action": {"method": "get", "property": "ACTION", "datatype": "int"},
"battery": {"method": "get", "property": "BATTERY", "datatype": "int", "unit": "percent"}
}Bij het aanmaken van het apparaat noemt de controller het adres dat het apparaat moet aanroepen. Het heeft de vorm http://<IP van de controller>/api/v1/hook/<apparaat-ID>. De waarden staan als parameters in het adres (GET) of in de body (POST, als formulier of JSON):
http://192.168.1.10/api/v1/hook/C12?action=1&battery=98De controller neemt alleen parameters over die in hooks zijn vrijgegeven. Hij antwoordt met 200 als minstens één waarde is overgenomen, anders met 204.
DANGER
Webhooks hebben geen aanmelding. Elk apparaat in het lokale netwerk dat het adres kent, kan de vrijgegeven waarden instellen. Via externe toegang is het adres geblokkeerd. Geef daarom alleen terugmeldingen vrij die een apparaat echt moet verzenden. Start er geen beveiligingsrelevante automatiseringen mee, zoals het openen van een deur.
Camera's
"cameras": [
{"type": "mjpeg", "url": "http://%SERVERIP%/mjpegstream.cgi?usr=%USERNAME%&pwd=%PASSWORD%"}
]type: snapshot (los beeld, standaard), mjpeg, rtsp of otherhttp. In de URL worden plaatsaanduidingen %NAME% vervangen door de waarden uit de communicatie. Bij het aanmaken van het apparaat ontstaat per item een camera. Is bij rtsp of otherhttp het maximale aantal videostreams bereikt, dan wordt de camera zonder melding overgeslagen.
Subprofielen
"components": {
"out1": {"name": "Ausgang 1", "category": "Switches", "type": "Switch",
"properties": {}, "propertiesMeta": {}, "mappings": {}, "mappingsMeta": {}}
}Elke sleutel wordt bij het aanmaken van het apparaat een eigen apparaat met de naam "Apparaatnaam Ausgang 1". Ze delen allemaal de verbinding van het hoofdprofiel; structure, polling en cameras bestaan alleen in het hoofdprofiel. Ontbrekende basisgegevens (versie, fabrikant, categorie, type, motortype) neemt een subprofiel over van het hoofdprofiel. Wijzig de sleutel van een subprofiel niet meer als apparaten het gebruiken.
MQTT
MQTT-profielen gebruiken de broker die in de MQTT-skill is ingesteld; een profiel kan geen eigen broker kiezen. Bij het aanmaken van het apparaat vult u een MQTT Topic in. In het profiel staat het als %mqttTopic%.
"properties": {
"switchon": {"method": "command", "command": "power", "value": 1,
"mqtt": "cmnd/%mqttTopic%/POWER", "datatype": "null", "uihidden": true},
"level": {"method": "command", "command": "brightness",
"mqtt": "cmnd/%mqttTopic%/Dimmer", "datatype": "int", "unit": "percent"}
},
"mappings": {
"level": {"method": "get", "property": "dimmer", "mqtt": "stat/%mqttTopic%/RESULT",
"mqttValue": "Dimmer", "datatype": "int", "unit": "percent"},
"reachable": {"method": "get", "property": "reachable", "mqtt": "tele/%mqttTopic%/LWT",
"mqttValue": "", "datatype": "bool", "defaultValue": true}
}| Veld | Betekenis |
|---|---|
mqtt | Topic. Bij terugmeldingen zijn + en # als wildcards toegestaan |
command | Acties: naam van de opdracht. Acties met hetzelfde command moeten hetzelfde topic hebben, zoals switchon en switchoff |
mqttPayload | Acties: payload met \# als plek voor de waarde, bijv. {"brightness":\#}. Zonder mqttPayload wordt alleen de waarde verzonden |
mqttValue | Terugmeldingen: welk deel van een JSON-payload de waarde is. Met een punt een pad (ENERGY.Power), zonder punt het eerste veld met deze naam, bij een array een positie. Leeg: de hele payload |
mqttScale | Terugmeldingen: wordt als eenheid aan de waarde toegevoegd, maar rekent niet om. Alleen zinvol samen met "unit": "energy" (kW wordt W) |
- Er wordt verzonden met QoS 0 en zonder retain.
%mqttTopic%wordt vervangen inmqtt,commandenproperty, niet inmqttPayload.- Zonder terugmelding
reachablegeldt het apparaat altijd als bereikbaar. Met het LWT-topic van het apparaat (Online/Offline) klopt de bereikbaarheid.
Kant-en-klare MQTT-sjablonen en een Node-RED-handleiding om willekeurige apparaten te koppelen staan op de pagina MQTT-sjablonen (in het Duits) van de add-on-bibliotheek.
KNX
Een KNX-profiel bevat geen adressen. Het legt vast welke waarden een apparaat heeft en hoe groot ze op de bus zijn. De groepsadressen wijst u toe bij het aanmaken van het apparaat. Apparaat aanmaken opent daarvoor het dialoogvenster van de KNX-skill met het profiel.
"className": "KNX", "engineType": "KNX", "platform": "KNX",
"properties": {
"state": {"method": "set", "property": "value", "datatype": "bool", "sizeInBit": 1, "filterDPT": ["1.001"]},
"switchon": {"method": "set", "property": "value", "value": 1, "datatype": "bool", "sizeInBit": 1, "uihidden": true},
"switchoff": {"method": "set", "property": "value", "value": 0, "datatype": "bool", "sizeInBit": 1, "uihidden": true}
},
"propertiesMeta": {"state": {"text": "State", "properties": ["state", "switchon", "switchoff"]}},
"mappings": {
"state": {"method": "get", "property": "value", "datatype": "bool", "sizeInBit": 1, "filterDPT": ["1.001"]}
},
"mappingsMeta": {"state": {"text": "State", "properties": ["state"]}}classNameenplatformzijn altijdKNX,propertyis altijdvalue.- Elk item in
propertiesMetawordt een veld voor het groepsadres om te schakelen, elk item inmappingsMetaeen veld voor het statusadres. De sleutel moet zelf de naam van een actie of terugmelding zijn. Het adres voorstategeldt ook voorswitchonenswitchoff. sizeInBitmoet bij het datapunttype passen (1 bit voor schakelen, 8 bit voor procenten en standen, 16 bit voor temperaturen).filterDPTbeperkt de keuze bij het toewijzen. De eenheid komt van het datapunttype van het groepsadres.- Een waarde zonder groepsadres doet niets en verschijnt niet in de app.
- Een terugmelding
reachableis niet nodig; de bereikbaarheid volgt de KNX-verbinding.
Veel apparaatsoorten (licht, dimmer, zonwering, thermostaat, sensoren) heeft de KNX-skill al aan boord. Een eigen profiel loont voor apparaten die daar ontbreken. Tips over groepsadressen en datapunttypen staan op de pagina KNX-sjablonen (in het Duits) van de add-on-bibliotheek.
Veelvoorkomende fouten
- Waarden blijven leeg: bij CommandServer ontbreekt de terugmelding in
mappings, of haarpropertypast niet bij de naam van het antwoordpatroon instructure.mappings. - Schakelaar springt terug: er is geen terugmelding
state, of het apparaat meldt de toestand niet. - App schakelt niet:
switchon/switchoffontbreken; de app verzendt nooitstatezelf. - Getallen verkeerd geschaald:
maxzonderinternalMin/internalMax(zie Schaling). - Automatisering biedt een waarde niet aan: er zijn sjablonen, maar geen voor deze waarde (zie Sjablonen).
- Apparaat altijd bereikbaar: bij CommandServer ontbreken
CONNECTEVENT/DISCONNECTEVENT, bij MQTT de terugmeldingreachable(zie Bereikbaarheid). - Een tweede profiel
…_2: dit ontstaat alleen als u bij een in de Profiel Editor gewijzigd profiel Als kopie kiest. Anders vervangt een nieuwe upload of import het bestaande profiel (zie Updates uit de online bibliotheek).