import QtQuick Item { property real level: 0.5 property int writes: 0 property bool available: true property var snapshotOverride: null function stateJson() { if (snapshotOverride) return JSON.stringify(snapshotOverride); return JSON.stringify({ global: { mode: available ? "uniform" : "none", level: level }, setup: { needed: false, available: false }, displays: [ { id: "fixture-display", name: "fixture display", level: level, controllable: available, issue: available ? "" : "unavailable" } ] }); } function setAll(value) { if (available) { level = value; writes++; } return stateJson(); } function setDisplay(id, value) { return setAll(value); } function setupDdc() { return stateJson(); } }