iobroker.pjlink
Version:
PJLink Projector controll
465 lines • 20.7 kB
JSON
{
"i18n": true,
"type": "tabs",
"items": {
"_options": {
"type": "panel",
"label": "options",
"items": {
"host": {
"type": "text",
"maxLength": 255,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Host",
"help": "IP address or FQDN from the device"
},
"port": {
"type": "number",
"min": 1,
"max": 65565,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Port",
"help": "TCP port (default: 4352, some older devices have: 10000)"
},
"password": {
"type": "password",
"maxLength": 32,
"visible": false,
"repeat": false,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Password",
"help": "maximum 32 ASCII Characters (could be left empty if projector security is set to OFF)",
"newLine": true
},
"class": {
"type": "select",
"options": [
{
"label": "Class 1",
"value": 1
},
{
"label": "Class 1 & 2",
"value": 2
}
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Class",
"help": "select the maximum supported class from the projector",
"disabled": "true"
},
"socketTimeout": {
"type": "number",
"min": 0,
"max": 10000,
"step": 10,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Socket timeout",
"help": "sets the socket to timeout after timeout milliseconds of inactivity on the socket. Default: 800"
},
"reconnectDelay": {
"type": "number",
"min": 10000,
"max": 3600000,
"step": 1000,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Reconnect timeout",
"help": "time to recheck the projector connection after a connection failure. Default: 10000 ms (10 Seconds)"
},
"statusDelay": {
"type": "number",
"min": 100,
"max": 60000,
"step": 100,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Status poll interval",
"help": "interval to refresh the status (power, e.g. input switch and mute)",
"newLine": true
},
"informationDelay": {
"type": "number",
"min": 1000,
"max": 36000000,
"step": 100,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Information poll interval",
"help": "interval to refresh the whole projector status, default 60000 ms (1 minute)",
"tooltip": "has to be a multiple of the status poll interval",
"validator": "(data.informationDelay % data.statusDelay) === 0",
"validatorErrorText": "has to be a multiple of the status poll interval",
"validatorNoSaveOnError": true
},
"skippedCyclesAfterPowerOn": {
"type": "number",
"min": 0,
"max": 100,
"step": 1,
"sm": 12,
"md": 6,
"lg": 6,
"label": "Number of skipped short cycles after power ON event",
"help": "Set the number of skipped short cycles, mainly power queries, after power ON event, default 5 (with 2000 ms statusDelay corresponds to 10s non-guarantee time)",
"newLine": true
}
}
},
"_exten": {
"type": "panel",
"label": "extended",
"items": {
"_queryType": {
"type": "staticText",
"sm": 12,
"md": 12,
"lg": 12,
"label": "Select the type of query for all information types and choose whether power state must be in state Power-on prior to that query",
"style": {"fontSize": 20}
},
"queryTypeCLSS": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Class information query (CLSS)"
},
"_queryTypeCLSSSpacer": {
"type": "staticText",
"sm": 0,
"md": 6,
"lg": 6,
"label": ""
},
"queryTypePOWR": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Power status query (PWR)"
},
"_queryTypePOWRSpacer": {
"type": "staticText",
"sm": 0,
"md": 6,
"lg": 6,
"label": ""
},
"queryTypeINPT": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Input switch query (INPT)"
},
"queryOnlyPwrINPT": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeAVMT": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Mute status query (AVMT)"
},
"queryOnlyPwrAVMT": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeERST": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Error status query (ERST)"
},
"queryOnlyPwrERST": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeLAMP": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Lamp number/ lighting hour query (LAMP)"
},
"queryOnlyPwrLAMP": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeINST": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Input toggling list query (INST)"
},
"queryOnlyPwrINST": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeNAME": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Projector name query (NAME)"
},
"queryOnlyPwrNAME": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeINF1": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Manufacture name information query (INF1)"
},
"queryOnlyPwrINF1": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeINF2": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Product name information query (INF2)"
},
"queryOnlyPwrINF2": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
},
"queryTypeINFO": {
"type": "select",
"options": [
{ "label": {"en": "Never", "de": "Nie"}, "value": 0 },
{ "label": {"en": "Only on adapter startup", "de": "Nur beim Start des Adapters"}, "value": 1 },
{ "label": {"en": "On status poll interval", "de": "Im Status Abfrage Intervall"}, "value": 2 },
{ "label": {"en": "On information poll interval", "de": "Im Informations Abfrage Intervall"}, "value": 3 }
],
"sm": 12,
"md": 6,
"lg": 6,
"label": "Other information query (INFO)"
},
"queryOnlyPwrINFO": {
"type": "checkbox",
"sm": 12,
"md": 6,
"label": "Power state must be ON to query"
}
}
},
"_inputs": {
"type": "panel",
"label": "inputs",
"disabled": false,
"items": {
"_customizeInputs": {
"type": "staticText",
"sm": 12,
"md": 12,
"lg": 12,
"label": "Optionally customize your signal inputs and transfer this to the object (pjlink.x.input)",
"style": {"fontSize": 20}
},
"_divider01": {
"type": "divider"
},
"_updateInputInfo": {
"type": "sendto",
"sm": 12,
"md": 12,
"lg": 12,
"newLine": true,
"label": "Get the actual input configuration from the projector and transfer this object to the inputInfo to customize the inputs",
"style": {"fontSize": 20},
"command": "updateInputs",
"variant": "outlined",
"icon": "info",
"showProcess": true,
"confirm": {
"condition": "1==1",
"text": "Overwrite the existing inputInfo configuration",
"type": "warning"
}
},
"_divider02": {
"type": "divider"
},
"inputInfo": {
"type": "table",
"sm": 12,
"md": 12,
"lg": 12,
"items": [
{
"type": "select",
"options": [{"label": "RGB", "value": 1},{"label": "VIDEO", "value": 2},{"label": "DIGITAL", "value": 3},{"label": "STORAGE", "value": 4},{"label": "NETWORK", "value": 5}],
"disabled": "1==1",
"width": "20%",
"title": "Source",
"attr": "source",
"filter": false,
"sort": false
},
{
"type": "number",
"min": 1, "max": 9, "step": 1,
"disabled": "1==1",
"width": "20%",
"title": "Channel",
"attr": "channel"
},
{
"type": "text",
"disabled": "1==1",
"width": "20%",
"title": "Code",
"attr": "code"
},
{
"type": "text",
"width": "40%",
"title": "Name",
"trim": false,
"attr": "name"
}
],
"noDelete": true
},
"_divider03": {
"type": "divider"
},
"_setInstanceInput": {
"type": "sendto",
"sm": 12,
"md": 6,
"lg": 6,
"label": "Set the instance input object to fit the upper edited inputs",
"style": {"fontSize": 20},
"command": "setInstanceInputs",
"variant": "outlined",
"icon": "send",
"showProcess": true,
"confirm": {
"condition": "1==1",
"text": "Overwrite the existing input configuration with restart",
"type": "warning"
}
},
"_resetInstanceInput": {
"type": "sendto",
"sm": 12,
"md": 6,
"lg": 6,
"label": "Set the instance input object to default",
"style": {"fontSize": 20},
"command": "resetInstanceInputs",
"variant": "contained",
"icon": "send",
"showProcess": true,
"confirm": {
"condition": "1==1",
"text": "Overwrite the existing input configuration",
"type": "warning"
}
}
}
}
}
}