bloodtick / Hubitat

4 stars 3 forks source link

[NEW DEVICE SUPPORT] Range - main #10

Open sergiocarrero opened 1 year ago

sergiocarrero commented 1 year ago

Requesting New Device support. ( 1 of 2) Comments: This is a Samsung Range with split oven. Due to the length of the JSON file, I will split it in two COPY REPLICA METADATA BELOW THIS LINE [ { "DESCRIPTION": { "allowed": null, "components": [ { "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "ovenSetpoint", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.kitchenDeviceIdentification", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "samsungce.doorState", "version": 1 }, { "id": "samsungce.customRecipe", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.meatProbe", "version": 1 }, { "id": "samsungce.lamp", "version": 1 }, { "id": "samsungce.kitchenModeSpecification", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "custom.cooktopOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "categoryType": "manufacturer", "name": "Range" } ], "id": "main", "label": "main" }, { "capabilities": [ { "id": "ovenSetpoint", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "custom.ovenCavityStatus", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "categoryType": "manufacturer", "name": "Other" } ], "id": "cavity-01", "label": "cavity-01" } ], "createTime": "2023-09-12T20:14:08.837Z", "deviceId": "hidden", "deviceManufacturerCode": "Samsung Electronics", "deviceTypeName": "Samsung OCF Range", "label": "Range", "locationId": "hidden", "manufacturerName": "Samsung Electronics", "name": "[range] Samsung", "ocf": { "firmwareVersion": "A-KS-WW-TP1-21-RANGE_40221005", "hwVersion": "MediaTek", "lastSignupTime": "2023-09-12T20:14:04.401262Z", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_DA-KS-RANGE-0101X|40434141|5001021E03141151020000000000000", "name": "[range] Samsung", "ocfDeviceType": "oic.d.range", "platformOS": "TizenRT 1.0 + IPv6", "platformVersion": "DAWIT 2.0", "specVersion": "core.1.1.0", "vendorId": "DA-KS-RANGE-0101X", "vendorResourceClientServerVersion": "MediaTek Release 3.1.210622", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0" }, "ownerId": "86dca262-c477-4394-94b9-c5d94be0d742", "presentationId": "DA-KS-RANGE-0101X", "profile": { "id": "8e479dd0-9719-337a-9fbe-2c4572f95c71" }, "restrictionTier": 0, "roomId": "hidden", "type": "OCF" } }, { "CAPABILITIES": { "components": [ { "attributes": { "status": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "eum": [ "connected", "disconnected" ], "type": "string" } }, "required": [ "value" ], "type": "object" } }, "temperature": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "unit": { "enum": [ "F", "C" ], "type": "string" }, "value": { "maximum": 10000, "minimum": -460, "type": "number" } }, "required": [ "value", "unit" ], "type": "object" } }, "temperatureSetpoint": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "unit": { "enum": [ "F", "C" ], "type": "string" }, "value": { "maximum": 10000, "minimum": -460, "type": "number" } }, "required": [ "value", "unit" ], "type": "object" } } }, "commands": { "setTemperatureSetpoint": { "arguments": [ { "name": "temperature", "optional": false, "schema": { "minimum": 0, "type": "number" } } ], "name": "setTemperatureSetpoint" } }, "ephemeral": false, "id": "samsungce.meatProbe", "name": "Meat Probe", "status": "proposed", "version": 1 }, { "attributes": { "brightnessLevel": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "oneOf": [ { "enum": [ "off", "on", "low", "mid", "high", "extraHigh" ], "type": "string" }, { "maximum": 100, "minimum": 0, "type": "integer" } ] } }, "required": [ "value" ], "type": "object" } }, "supportedBrightnessLevel": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "items": { "oneOf": [ { "enum": [ "off", "on", "low", "mid", "high", "extraHigh" ], "type": "string" }, { "maximum": 100, "minimum": 0, "type": "integer" } ] }, "type": "array" } }, "required": [ "value" ], "type": "object" } } }, "commands": { "setBrightnessLevel": { "arguments": [ { "name": "level", "optional": false, "schema": { "oneOf": [ { "enum": [ "off", "on", "low", "mid", "high", "extraHigh" ], "type": "string" }, { "maximum": 100, "minimum": 0, "type": "integer" } ] } } ], "name": "setBrightnessLevel" } }, "ephemeral": false, "id": "samsungce.lamp", "name": "Lamp", "status": "proposed", "version": 1 }, { "attributes": { "specification": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "additionalProperties": false, "examples": [ { "single": [ { "mode": "Convection", "supportedOperations": [ "set" ], "supportedOptions": { "operationTime": { "default": "00:30:00", "max": "11:59:59", "min": "00:00:01", "resolution": "00:00:01" }, "probeTemperature": { "C": { "default": 50, "max": 90, "min": 30, "resolution": 5 } }, "temperature": { "C": { "default": 180, "max": 250, "min": 100, "supportedValues": [ 100, 180, 250 ] }, "F": { "default": 350, "max": 500, "min": 300, "resolution": 5 } } } } ] } ], "patternProperties": { "^(single|lower|upper)\$": { "items": { "properties": { "mode": { "type": "string" }, "supportedOperations": { "items": { "enum": [ "start", "set" ], "type": "string" }, "type": "array" }, "supportedOptions": { "patternProperties": { "^(temperature|probeTemperature)\$": { "additionalProperties": false, "patternProperties": { "^[CF]\$": { "additionalProperties": false, "patternProperties": { "^(min|max|resolution|default)\$": { "type": "number" } }, "properties": { "supportedValues": { "items": { "type": "number" }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "properties": { "operationTime": { "additionalProperties": false, "patternProperties": { "^(min|max|resolution|default)\$": { "pattern": "removed", "type": "string" } }, "type": "object" }, "powerLevel": { "additionalProperties": false, "properties": { "default": { "type": "string" }, "supportedValues": { "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, "type": "object" } }, "required": [ "mode" ], "type": "object" }, "type": "array" } }, "type": "object" } }, "required": [ "value" ], "type": "object" } } }, "commands": {}, "ephemeral": false, "id": "samsungce.kitchenModeSpecification", "name": "Kitchen Mode Specification", "status": "proposed", "version": 1 }, { "attributes": { "lockState": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "enum": [ "locked", "unlocked", "paused" ], "type": "string" } }, "required": [ "value" ], "type": "object" } } }, "commands": {}, "ephemeral": false, "id": "samsungce.kidsLock", "name": "Kids Lock", "status": "proposed", "version": 1 }, { "attributes": { "availableModules": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "items": { "type": "string" }, "type": "array" } }, "required": [ "value" ], "type": "object" } }, "lastUpdatedDate": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "pattern": "removed", "type": "string" } }, "required": [ "value" ], "type": "object" } }, "newVersionAvailable": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "type": "boolean" } }, "required": [ "value" ], "type": "object" } }, "operatingState": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "enum": [ "none", "available", "preparing", "delayed", "inprogress", "checking", "completed" ], "type": "string" } }, "required": [ "value" ], "type": "object" } }, "otnDUID": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "type": "string" } }, "required": [ "value" ], "type": "object" } }, "progress": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "unit": { "default": "%", "enum": [ "%" ], "type": "string" }, "value": { "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "value" ], "type": "object" } }, "targetModule": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "properties": { "currentVersion": { "type": "string" }, "moduleType": { "enum": [ "mainController", "display", "inverter", "indoorUnit", "outdoorUnit" ], "type": "string" }, "newVersion": { "type": "string" } }, "type": "object" } }, "required": [ "value" ], "type": "object" } } }, "commands": { "agreeUpdate": { "arguments": [ { "name": "module", "optional": true, "schema": { "type": "string" } } ], "name": "agreeUpdate" }, "disagreeUpdate": { "arguments": [ { "name": "module", "optional": true, "schema": { "type": "string" } } ], "name": "disagreeUpdate" } }, "ephemeral": false, "id": "samsungce.softwareUpdate", "name": "Software Update", "status": "proposed", "version": 1 }, { "attributes": { "cooktopOperatingState": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "enum": [ "ready", "run", "paused", "finished" ], "type": "string" } }, "required": [ "value" ], "type": "object" } }, "supportedCooktopOperatingState": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "items": { "enum": [ "ready", "run", "paused", "finished" ], "type": "string" }, "type": "array" } }, "required": [ "value" ], "type": "object" } } }, "commands": {}, "ephemeral": false, "id": "custom.cooktopOperatingState", "name": "Cooktop Operating State", "status": "proposed", "version": 1 }, { "attributes": { "disabledCapabilities": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "items": { "type": "string" }, "type": "array" } }, "required": [ "value" ], "type": "object" } } }, "commands": {}, "ephemeral": false, "id": "custom.disabledCapabilities", "name": "Disabled Capabilities", "status": "proposed", "version": 1 }, { "attributes": { "ovenSetpoint": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "minimum": 0, "title": "PositiveInteger", "type": "integer" } }, "required": [ "value" ], "type": "object" }, "setter": "setOvenSetpoint" } }, "commands": { "setOvenSetpoint": { "arguments": [ { "name": "setpoint", "optional": false, "schema": { "minimum": 0, "title": "PositiveInteger", "type": "integer" } } ], "name": "setOvenSetpoint" } }, "ephemeral": false, "id": "ovenSetpoint", "name": "Oven Setpoint", "status": "proposed", "version": 1 }, { "attributes": { "di": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "dmv": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "icv": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mndt": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnfv": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnhw": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnml": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnmn": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnmo": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnos": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnpv": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "mnsl": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "n": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "pi": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "st": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } }, "vid": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "maxLength": 255, "title": "String", "type": "string" } }, "required": [ "value" ], "title": "StringAttribute", "type": "object" } } }, "commands": { "postOcfCommand": { "arguments": [ { "name": "href", "optional": false, "schema": { "maxLength": 255, "title": "String", "type": "string" } }, { "name": "value", "optional": false, "schema": { "title": "JsonObject", "type": "object" } } ], "name": "postOcfCommand" } }, "ephemeral": false, "id": "ocf", "name": "Ocf", "status": "proposed", "version": 1 }, { "attributes": { "ovenMode": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "enum": [ "heating", "grill", "warming", "defrosting", "Conventional", "Bake", "BottomHeat", "ConvectionBake", "ConvectionRoast", "Broil", "ConvectionBroil", "SteamCook", "SteamBake", "SteamRoast", "SteamBottomHeatplusConvection", "Microwave", "MWplusGrill", "MWplusConvection", "MWplusHotBlast", "MWplusHotBlast2", "SlimMiddle", "SlimStrong", "SlowCook", "Proof", "Dehydrate", "Others" ], "title": "OvenMode", "type": "string" } }, "required": [ "value" ], "type": "object" }, "setter": "setOvenMode" }, "supportedOvenModes": { "enumCommands": [], "schema": { "additionalProperties": false, "properties": { "value": { "items": { "enum": [ "heating", "grill", "warming", "defrosting", "Conventional", "Bake", "BottomHeat", "ConvectionBake", "ConvectionRoast", "Broil", "ConvectionBroil", "SteamCook", "SteamBake", "SteamRoast", "SteamBottomHeatplusConvection", "Microwave", "MWplusGrill", "MWplusConvection", "MWplusHotBlast", "MWplusHotBlast2", "SlimMiddle", "SlimStrong", "SlowCook", "Proof", "Dehydrate", "Others" ], "title": "OvenMode", "type": "string" }, "type": "array" } }, "required": [], "type": "object" } } },

almulder commented 7 months ago

Drivers are available here: https://github.com/DaveGut/HubithingsReplica/tree/main/Drivers

Note: The range portion is under over "cooktopOperatingState" Ready=All burners off / Run = At least one burner is on

Recommend Closing Case