Přeskočit na obsah

WASM schema a Studio

Jak firmware dodává verzovaný Controller config kontrakt do Studia pro validaci a našeptávání.

Autoritativní JSON Schema není zapsané napevno ve Studiu. Firmware při WASM buildu vloží do modulu celý Controller config kontrakt a vystaví ho funkcí getControllerConfigContractJson().

flowchart LR
P["Firmware parsery 0.12.11"] --> C["Controller config kontrakt"]
C --> W["WASM artefakt"]
W --> S["Studio Config Editor"]
C --> D["Tato dokumentace"]
S --> M["Monaco autocomplete"]
S --> V["Ajv schema varování"]

Po aktivaci jiného WASM Studio znovu načte kontrakt, přeregistruje schema pro model Controller Config Editoru a přeloží validátor. Našeptávání a povolené keywords proto sledují skutečně aktivní WASM artefakt, nikoli verzi Studia.

Zápis configu je zakázán pouze tehdy, když JSON nelze parsovat nebo top-level hodnota není objekt. Chybějící či nekompatibilní WASM kontrakt zobrazí stav neověřeno. Neshoda s JSON Schema nebo pravidlem napříč sekcemi zobrazí varování, ale zápis zůstane dostupný. To platí například pro neznámý keyword, více I2C položek, I/O odkazované segmentem, které není v configu Controlleru definované, nebo obrácený DALI rozsah teplot. Kontrakt může ke konkrétním varováním dodat i verzovaný návod k nápravě: například fade přejmenovat na fadetime nebo přesunout segmentové brightness na odkazovaný I/O objekt. Delší segmentový label je rovněž pouze varování; firmware použije jeho prvních pět znaků.

Generováno z verzovaného kontraktu Spectoda/firmware pro FW 0.12.11. Ručně neupravujte tabulky odděleně od firmware kontraktu.