Mios binding EOL

More nonsense from me again!

I’m slowly testing OH3, and I think I’m going to control and monitor my Vera using the HTTP Binding, rather than the complicated setup I had previously.

I’m sticking with configuration files, so below are the Things and Items configurations that form a working concept for my small heating setup.

Things

//VERA
Thing http:url:vera "Vera" [
	baseURL = "http://192.168.1.91:3480/data_request?DeviceNum=1&serviceId=urn:micasaverde-com:serviceId:ZWaveNetwork1&output_format=text",
	refresh = "300",
	ignoreSSLErrors = "true"
]
{
	Channels:
		Type string: NetStatusText "Network Status" [
			mode = "READONLY",
			stateExtension = "&id=variableget&Variable=NetStatusText"
		]
		Type string: VersionInfo "Version Info" [
			mode = "READONLY",
			stateExtension = "&id=variableget&Variable=VersionInfo"
		]
		Type datetime: LastUpdate "Last Update" [
			mode = "READONLY",
			stateExtension = "&id=variableget&Variable=LastUpdate"
		]
}

//THERMOSTAT
Thing http:url:thermostat "Thermostat" [
	baseURL = "http://192.168.1.91:3480/data_request?DeviceNum=4&output_format=text",
	refresh = "60",
	ignoreSSLErrors = "true"
]
{
	Channels:
		Type number: CurrentSetpoint "Current Setpoint" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:TemperatureSetpoint1_Heat&id=variableget&Variable=CurrentSetpoint"
		]
		Type number: SetpointTarget "Setpoint Target" [
			mode = "READWRITE",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:TemperatureSetpoint1_Heat&id=variableget&Variable=SetpointTarget",
			commandExtension = "&serviceId=urn:upnp-org:serviceId:TemperatureSetpoint1_Heat&id=action&action=SetCurrentSetpoint&NewCurrentSetpoint=%2$s"
		]
		Type number: CurrentTemperature "Current Temperature" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&id=variableget&Variable=CurrentTemperature"
		]
		Type number: BatteryLevel "Battery Level" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=BatteryLevel"
		]
		Type datetime: BatteryDate "Battery Date" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=BatteryDate"
		]
		Type datetime: LastUpdate "Last Update" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=LastUpdate"
		]
		Type string: ModeStatus "Mode Status" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:HVAC_UserOperatingMode1&id=variableget&Variable=ModeStatus"
		]
		Type string: CommFailure "Comm Failure" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=CommFailure",
			stateTransformation = "MAP:vera2online.map"
		]
}

//RELAY
Thing http:url:relay "Relay" [
	baseURL = "http://192.168.1.91:3480/data_request?DeviceNum=6&output_format=text",
	refresh = "120",
	ignoreSSLErrors = "true"
]
{
	Channels:
		Type switch: Status "Relay Status" [
			mode = "READWRITE",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:SwitchPower1&id=variableget&Variable=Status",
			commandExtension = "&serviceId=urn:upnp-org:serviceId:SwitchPower1&id=action&action=SetTarget&newTargetValue=%2$s",
			onValue = "1",
			offValue = "0"
		]
		Type string: CommFailure "Comm Failure" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=CommFailure",
			stateTransformation = "MAP:vera2online.map"
		]
		Type string: ModeStatus "Mode Status" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:upnp-org:serviceId:HVAC_UserOperatingMode1&id=variableget&Variable=ModeStatus"
		]
		Type string: ModeState "Mode State" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HVAC_OperatingState1&id=variableget&Variable=ModeState"
		]
		Type datetime: LastUpdate "Last Update" [
			mode = "READONLY",
			stateExtension = "&serviceId=urn:micasaverde-com:serviceId:HaDevice1&id=variableget&Variable=LastUpdate"
		]
}

Items

//VERA
String strNetStatusText "Z-Wave Network Status" <status> ["Status"] { channel="http:url:vera:NetStatusText" }
String strVersionInfo "Z-Wave Version Info" <status> ["Status"] { channel="http:url:vera:VersionInfo" }
DateTime dtVeraLastUpdate "Vera Last Update" <calendar> ["Status"] { channel="http:url:vera:LastUpdate" }

//THERMOSTAT
Group gThermostat (gGroundHallway) ["HVAC"]
Number nCurrentSetpoint "Thermostat Setpoint" <temperature>  ["Setpoint","Temperature"] { channel="http:url:thermostat:CurrentSetpoint"}
Number nSetpointTarget "Thermostat Setpoint Target" <temperature> (gThermostat) ["Setpoint","Temperature"] { channel="http:url:thermostat:SetpointTarget", stateDescription=""[min="15", max="21", pattern="%.0f"], widget="oh-slider-card"[min=15, max=21, step=1, scale=true], listWidget="oh-slider-item"[min=15, max=21, step=1, scale=true] }
Number nCurrentTemperature "Thermostat Current Temperature" <temperature> (gThermostat) ["Measurement","Temperature"] { channel="http:url:thermostat:CurrentTemperature" }
Number nBatteryLevel "Thermostat Battery Level" <battery> (gThermostat) ["LowBattery"] { channel="http:url:thermostat:BatteryLevel" }
DateTime dtBatteryDate "Thermostat Battery Date" <calendar> ["Status"] { channel="http:url:thermostat:BatteryDate" }
DateTime dtThermostatLastUpdate "Thermostat Last Update" <calendar> ["Status"] { channel="http:url:thermostat:LastUpdate" }
String strThermostatModeStatus "Thermostat Mode Status" <mode> ["Status"] { channel="http:url:thermostat:ModeStatus" }
String strThermostatCommFailure "Thermostat Comm Failure" <mode> ["Status"] { channel="http:url:thermostat:CommFailure" }

//RELAY
Switch sRelayStatus "Relay Status" <switch> ["Switch"] { channel="http:url:relay:Status" }
String strRelayCommFailure "Relay Comm Failure" <mode> ["Status"] { channel="http:url:relay:CommFailure" }
String strRelayModeStatus "Relay Mode Status" <mode> ["Status"] { channel="http:url:relay:ModeStatus" }
String strRelayModeState "Relay Mode State" <mode> ["Status"] { channel="http:url:relay:ModeState" }
DateTime dtRelayLastUpdate "Thermostat Last Update" <calendar> ["Status"] { channel="http:url:relay:LastUpdate" }

vera2online.map

0=Online
1=Offline
2=Offline
1 Like