Ctrl K
ComunidadGuías…

extensions/generic/manifest.json

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "Generic Things",
  "description": "Declare virtual things",
  "version": "1.1",
  "script": "generic.lua",
  "schema": {
    "type": "object",
    "properties": {
      "lastId": {
        "type": "integer",
        "default": 1,
        "format": "hidden",
        "readOnly": true
      },
      "list": {
        "title": "Things",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "title": "Thing Title",
              "type": "string",
              "required": true
            },
            "description": {
              "title": "Thing Description",
              "type": "string"
            },
            "id": {
              "type": "string",
              "format": "hidden"
            },
            "@type": {
              "title": "Thing Types",
              "type": "array",
              "items": {
                "title": "Thing Type",
                "type": "string",
                "default": "MultiLevelSwitch",
                "enumValues": [
                  {"const": "Alarm", "title": "Alarm"},
                  {"const": "AirQualitySensor", "title": "Air Quality Sensor"},
                  {"const": "BarometricPressureSensor", "title": "Barometric Pressure Sensor"},
                  {"const": "BinarySensor", "title": "Binary Sensor"},
                  {"const": "Camera", "title": "Camera"},
                  {"const": "ColorControl", "title": "Color Control"},
                  {"const": "ColorSensor", "title": "Color Sensor"},
                  {"const": "DoorSensor", "title": "Door Sensor"},
                  {"const": "EnergyMonitor", "title": "Energy Monitor"},
                  {"const": "HumiditySensor", "title": "Humidity Sensor"},
                  {"const": "LeakSensor", "title": "Leak Sensor"},
                  {"const": "Light", "title": "Light"},
                  {"const": "Lock", "title": "Lock"},
                  {"const": "MotionSensor", "title": "Motion Sensor"},
                  {"const": "MultiLevelSensor", "title": "Multi Level Sensor"},
                  {"const": "MultiLevelSwitch", "title": "Multi Level Switch"},
                  {"const": "OnOffSwitch", "title": "On/Off Switch"},
                  {"const": "PushButton", "title": "Push Button"},
                  {"const": "SmartPlug", "title": "Smart Plug"},
                  {"const": "SmokeSensor", "title": "Smoke Sensor"},
                  {"const": "TemperatureSensor", "title": "Temperature Sensor"},
                  {"const": "Thermostat", "title": "Thermostat"},
                  {"const": "VideoCamera", "title": "Video Camera"}
                ]
              }
            },
            "properties": {
              "title": "Thing Properties",
              "type": "array",
              "minItems": 1,
              "items": {
                "oneOf": [{
                  "title": "Boolean",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "title": "Property Name",
                      "type": "string",
                      "pattern": "^[a-z][a-zA-Z0-9]+$",
                      "required": true
                    },
                    "title": {
                      "title": "Property Title",
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "boolean",
                      "format": "hidden"
                    }
                  }
                }, {
                  "title": "Integer",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "title": "Property Name",
                      "type": "string",
                      "pattern": "^[a-z][a-zA-Z0-9]+$",
                      "required": true
                    },
                    "title": {
                      "title": "Property Title",
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "integer",
                      "format": "hidden"
                    }
                  }
                }, {
                  "title": "Bounded Integer",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "title": "Property Name",
                      "type": "string",
                      "pattern": "^[a-z][a-zA-Z0-9]+$",
                      "required": true
                    },
                    "title": {
                      "title": "Property Title",
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "integer",
                      "format": "hidden"
                    },
                    "minimum": {
                      "title": "Minimum value",
                      "type": "integer",
                      "default": 1,
                      "required": true
                    },
                    "maximum": {
                      "title": "Maximum value",
                      "type": "integer",
                      "default": 100,
                      "required": true
                    }
                  }
                }, {
                  "title": "Enumerated String",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "title": "Property Name",
                      "type": "string",
                      "pattern": "^[a-z][a-zA-Z0-9]+$",
                      "required": true
                    },
                    "title": {
                      "title": "Property Title",
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "const": "string",
                      "format": "hidden"
                    },
                    "enum": {
                      "title": "Values",
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "title": "Value",
                        "type": "string"
                      },
                      "required": true
                    }
                  }
                }, {
                  "title": "Custom",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "const": "custom",
                      "format": "hidden"
                    },
                    "name": {
                      "title": "Property Name",
                      "type": "string",
                      "pattern": "^[a-z][a-zA-Z0-9]+$",
                      "required": true
                    },
                    "title": {
                      "title": "Property Title",
                      "type": "string"
                    },
                    "type": {
                      "title": "Property Primitive Type",
                      "type": "string",
                      "enumValues": [
                        {"const": "boolean", "title": "Boolean"},
                        {"const": "integer", "title": "Integer"},
                        {"const": "number", "title": "Number"},
                        {"const": "string", "title": "String"}
                      ],
                      "default": "number"
                    },
                    "@type": {
                      "title": "The property Semantic Type",
                      "type": "string",
                      "default": "",
                      "enumValues": [
                        {"const": "", "title": "Auto"},
                        {"const": "AlarmProperty", "title": "Alarm"},
                        {"const": "BarometricPressureProperty", "title": "Barometric Pressure"},
                        {"const": "BooleanProperty", "title": "Boolean"},
                        {"const": "BrightnessProperty", "title": "Brightness"},
                        {"const": "ColorModeProperty", "title": "ColorMode"},
                        {"const": "ColorProperty", "title": "Color"},
                        {"const": "ColorTemperatureProperty", "title": "Color Temperature"},
                        {"const": "ConcentrationProperty", "title": "Concentration"},
                        {"const": "CurrentProperty", "title": "Current"},
                        {"const": "DensityProperty", "title": "Density"},
                        {"const": "FrequencyProperty", "title": "Frequency"},
                        {"const": "HeatingCoolingProperty", "title": "Heating Cooling"},
                        {"const": "HumidityProperty", "title": "Humidity"},
                        {"const": "ImageProperty", "title": "Image"},
                        {"const": "InstantaneousPowerFactorProperty", "title": "Instantaneous Power Factor"},
                        {"const": "InstantaneousPowerProperty", "title": "Instantaneous Power"},
                        {"const": "LeakProperty", "title": "Leak"},
                        {"const": "LevelProperty", "title": "Level"},
                        {"const": "LockedProperty", "title": "Locked"},
                        {"const": "MotionProperty", "title": "Motion"},
                        {"const": "OnOffProperty", "title": "On/Off"},
                        {"const": "OpenProperty", "title": "Open"},
                        {"const": "PushedProperty", "title": "Pushed"},
                        {"const": "SmokeProperty", "title": "Smoke"},
                        {"const": "TargetTemperatureProperty", "title": "Target Temperature"},
                        {"const": "TemperatureProperty", "title": "Temperature"},
                        {"const": "ThermostatModeProperty", "title": "ThermostatMode"},
                        {"const": "VideoProperty", "title": "Video"},
                        {"const": "VoltageProperty", "title": "Voltage"}
                      ]
                    },
                    "unit": {
                      "title": "Property Unit",
                      "type": "string",
                      "default": "",
                      "enumValues": [
                        {"const": "", "title": "None"},
                        {"const": "percent", "title": "Percent"},
                        {"const": "second", "title": "Second"},
                        {"const": "degree celsius", "title": "Degree Celsius"},
                        {"const": "hectopascal", "title": "Hecto Pascal"},
                        {"const": "kelvin", "title": "Kelvin"},
                        {"const": "lux", "title": "Lux"},
                        {"const": "volt", "title": "Volt"},
                        {"const": "watt", "title": "Watt"}
                      ]
                    },
                    "readOnly": {
                      "title": "Non Writable Property",
                      "type": "boolean",
                      "default": false
                    },
                    "writeOnly": {
                      "title": "Non Readable Property",
                      "type": "boolean",
                      "default": false
                    },
                    "configuration": {
                      "title": "Configuration Property",
                      "type": "boolean",
                      "default": false
                    }
                  }
                }]
              }
            },
            "save": {
              "title": "Save the property values",
              "type": "boolean",
              "default": false
            }
          }
        }
      },
      "basicThings": {
        "title": "Basic Things",
        "type": "array",
        "deprecated": true,
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "title": "Thing Title",
              "type": "string",
              "required": true
            },
            "id": {
              "type": "string",
              "format": "hidden"
            },
            "properties": {
              "title": "Thing Properties",
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "title": "Property Name",
                    "type": "string",
                    "pattern": "^[a-z][a-zA-Z0-9]+$",
                    "default": "value",
                    "required": true
                  },
                  "title": {
                    "title": "Property Title",
                    "type": "string"
                  },
                  "readOnly": {
                    "title": "Non Writable Property",
                    "type": "boolean",
                    "default": false
                  },
                  "type": {
                    "title": "Property Type",
                    "type": "string",
                    "default": "number",
                    "enumValues": [
                      {"const": "boolean", "title": "Boolean"},
                      {"const": "integer", "title": "Integer"},
                      {"const": "number", "title": "Number"},
                      {"const": "string", "title": "String"}
                    ]
                  }
                }
              }
            },
            "save": {
              "title": "Save the property values",
              "type": "boolean",
              "default": false
            }
          }
        }
      },
      "things": {
        "title": "Generic Things",
        "type": "array",
        "deprecated": true,
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "title": "Thing Title",
              "type": "string",
              "required": true
            },
            "description": {
              "title": "Thing Description",
              "type": "string"
            },
            "id": {
              "type": "string",
              "format": "hidden"
            },
            "@type": {
              "title": "Thing Types",
              "type": "array",
              "items": {
                "title": "Thing Type",
                "type": "string",
                "default": "MultiLevelSwitch",
                "enumValues": [
                  {"const": "Alarm", "title": "Alarm"},
                  {"const": "AirQualitySensor", "title": "Air Quality Sensor"},
                  {"const": "BarometricPressureSensor", "title": "Barometric Pressure Sensor"},
                  {"const": "BinarySensor", "title": "Binary Sensor"},
                  {"const": "Camera", "title": "Camera"},
                  {"const": "ColorControl", "title": "Color Control"},
                  {"const": "ColorSensor", "title": "Color Sensor"},
                  {"const": "DoorSensor", "title": "Door Sensor"},
                  {"const": "EnergyMonitor", "title": "Energy Monitor"},
                  {"const": "HumiditySensor", "title": "Humidity Sensor"},
                  {"const": "LeakSensor", "title": "Leak Sensor"},
                  {"const": "Light", "title": "Light"},
                  {"const": "Lock", "title": "Lock"},
                  {"const": "MotionSensor", "title": "Motion Sensor"},
                  {"const": "MultiLevelSensor", "title": "Multi Level Sensor"},
                  {"const": "MultiLevelSwitch", "title": "Multi Level Switch"},
                  {"const": "OnOffSwitch", "title": "On/Off Switch"},
                  {"const": "PushButton", "title": "Push Button"},
                  {"const": "SmartPlug", "title": "Smart Plug"},
                  {"const": "SmokeSensor", "title": "Smoke Sensor"},
                  {"const": "TemperatureSensor", "title": "Temperature Sensor"},
                  {"const": "Thermostat", "title": "Thermostat"},
                  {"const": "VideoCamera", "title": "Video Camera"}
                ]
              }
            },
            "properties": {
              "title": "Thing Properties",
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "properties": {
                  "title": {
                    "title": "Property Title",
                    "type": "string"
                  },
                  "name": {
                    "title": "Property Name",
                    "type": "string",
                    "default": "value",
                    "pattern": "^[a-z][a-zA-Z0-9]+$",
                    "required": true
                  },
                  "type": {
                    "title": "Property Primitive Type",
                    "type": "string",
                    "enumValues": [
                      {"const": "boolean", "title": "Boolean"},
                      {"const": "integer", "title": "Integer"},
                      {"const": "number", "title": "Number"},
                      {"const": "string", "title": "String"}
                    ],
                    "default": "number"
                  },
                  "@type": {
                    "title": "The property Semantic Type",
                    "type": "string",
                    "default": "LevelProperty",
                    "enumValues": [
                      {"const": "AlarmProperty", "title": "Alarm"},
                      {"const": "BarometricPressureProperty", "title": "Barometric Pressure"},
                      {"const": "BooleanProperty", "title": "Boolean"},
                      {"const": "BrightnessProperty", "title": "Brightness"},
                      {"const": "ColorModeProperty", "title": "ColorMode"},
                      {"const": "ColorProperty", "title": "Color"},
                      {"const": "ColorTemperatureProperty", "title": "Color Temperature"},
                      {"const": "ConcentrationProperty", "title": "Concentration"},
                      {"const": "CurrentProperty", "title": "Current"},
                      {"const": "DensityProperty", "title": "Density"},
                      {"const": "FrequencyProperty", "title": "Frequency"},
                      {"const": "HeatingCoolingProperty", "title": "Heating Cooling"},
                      {"const": "HumidityProperty", "title": "Humidity"},
                      {"const": "ImageProperty", "title": "Image"},
                      {"const": "InstantaneousPowerFactorProperty", "title": "Instantaneous Power Factor"},
                      {"const": "InstantaneousPowerProperty", "title": "Instantaneous Power"},
                      {"const": "LeakProperty", "title": "Leak"},
                      {"const": "LevelProperty", "title": "Level"},
                      {"const": "LockedProperty", "title": "Locked"},
                      {"const": "MotionProperty", "title": "Motion"},
                      {"const": "OnOffProperty", "title": "On/Off"},
                      {"const": "OpenProperty", "title": "Open"},
                      {"const": "PushedProperty", "title": "Pushed"},
                      {"const": "SmokeProperty", "title": "Smoke"},
                      {"const": "TargetTemperatureProperty", "title": "Target Temperature"},
                      {"const": "TemperatureProperty", "title": "Temperature"},
                      {"const": "ThermostatModeProperty", "title": "ThermostatMode"},
                      {"const": "VideoProperty", "title": "Video"},
                      {"const": "VoltageProperty", "title": "Voltage"}
                    ]
                  },
                  "unit": {
                    "title": "Property Unit",
                    "type": "string",
                    "default": "",
                    "enumValues": [
                      {"const": "", "title": "None"},
                      {"const": "percent", "title": "Percent"},
                      {"const": "second", "title": "Second"},
                      {"const": "degree celsius", "title": "Degree Celsius"},
                      {"const": "hectopascal", "title": "Hecto Pascal"},
                      {"const": "kelvin", "title": "Kelvin"},
                      {"const": "lux", "title": "Lux"},
                      {"const": "volt", "title": "Volt"},
                      {"const": "watt", "title": "Watt"}
                    ]
                  },
                  "readOnly": {
                    "title": "Non Writable Property",
                    "type": "boolean",
                    "default": false
                  },
                  "writeOnly": {
                    "title": "Non Readable Property",
                    "type": "boolean",
                    "default": false
                  },
                  "configuration": {
                    "title": "Configuration Property",
                    "type": "boolean",
                    "default": false
                  }
                }
              }
            },
            "save": {
              "title": "Save the property values",
              "type": "boolean",
              "default": false
            }
          }
        }
      }
    }
  }
}