diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/HVAC.qml | 258 | ||||
-rw-r--r-- | app/api/Binding.qml | 126 |
2 files changed, 196 insertions, 188 deletions
diff --git a/app/HVAC.qml b/app/HVAC.qml index b1925dd..2610164 100644 --- a/app/HVAC.qml +++ b/app/HVAC.qml @@ -24,137 +24,137 @@ import 'api' as API ApplicationWindow { id: root - Translator { - id: translator - language: binding.language - } + Translator { + id: translator + language: binding.language + } - API.Binding { - id: binding - url: bindingAddress - onFanSpeedChanged: fanSpeedSlider.value = fanSpeed - onLanguageChanged: translator.language = language - } + API.Binding { + id: binding + url: bindingAddress + onFanSpeedChanged: fanSpeedSlider.value = fanSpeed + onLanguageChanged: translator.language = language + } - ColumnLayout { - anchors.fill: parent - anchors.topMargin: width / 10 - anchors.bottomMargin: width / 10 - RowLayout { - Layout.fillHeight: true - Layout.alignment: Qt.AlignHCenter - Image { - source: './images/HMI_HVAC_Fan_Icon.svg' - } - Item { - width: root.width * 0.8 - Slider { - id: fanSpeedSlider - anchors.left: parent.left - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter - from: 0.0 - to: 255.0 - stepSize: 1.0 - onValueChanged: { - binding.fanSpeed = value - } - } - Label { - anchors.left: fanSpeedSlider.left - anchors.top: fanSpeedSlider.bottom - font.pixelSize: 32 - text: translator.translate(qsTr('FAN SPEED'), translator.language) - } - } - } - RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Layout.Center - spacing: 20 - ColumnLayout { - Layout.fillWidth: true - spacing: 20 - SeatHeatButton { - id: leftSeat - side: 'Left' - } - HeatDegree { - onCurrentItemChanged: { - console.log("Left Temp changed",degree) - binding.leftTemperature = degree - } - } - } - ColumnLayout { - Layout.fillWidth: true - spacing: 20 - ToggleButton { - onImage: './images/HMI_HVAC_Active.svg' - offImage: './images/HMI_HVAC_Inactive.svg' - Label { - anchors.centerIn: parent - color: parent.checked ? '#00ADDC' : '#848286' - text: translator.translate(qsTr('A/C'), translator.language) - font.pixelSize: parent.height / 3 - } - onCheckedChanged: { - console.debug('A/C', checked) - } - } - ToggleButton { - onImage: './images/HMI_HVAC_Active.svg' - offImage: './images/HMI_HVAC_Inactive.svg' - Label { - anchors.centerIn: parent - color: parent.checked ? '#00ADDC' : '#848286' - text: translator.translate(qsTr('AUTO'), translator.language) - font.pixelSize: parent.height / 3 - } - onCheckedChanged: { - console.debug('AUTO', checked) - } - } - ToggleButton { - onImage: './images/HMI_HVAC_Circulation_Active.svg' - offImage: './images/HMI_HVAC_Circulation_Inactive.svg' - onCheckedChanged: { - console.debug('Circulation', checked) - } - } - } + ColumnLayout { + anchors.fill: parent + anchors.topMargin: width / 10 + anchors.bottomMargin: width / 10 + RowLayout { + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter + Image { + source: './images/HMI_HVAC_Fan_Icon.svg' + } + Item { + width: root.width * 0.8 + Slider { + id: fanSpeedSlider + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + from: 0.0 + to: 255.0 + stepSize: 1.0 + onValueChanged: { + binding.fanSpeed = value + } + } + Label { + anchors.left: fanSpeedSlider.left + anchors.top: fanSpeedSlider.bottom + font.pixelSize: 32 + text: translator.translate(qsTr('FAN SPEED'), translator.language) + } + } + } + RowLayout { + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Layout.Center + spacing: 20 + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + SeatHeatButton { + id: leftSeat + side: 'Left' + } + HeatDegree { + onCurrentItemChanged: { + console.log("Left Temp changed",degree) + binding.leftTemperature = degree + } + } + } + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + ToggleButton { + onImage: './images/HMI_HVAC_Active.svg' + offImage: './images/HMI_HVAC_Inactive.svg' + Label { + anchors.centerIn: parent + color: parent.checked ? '#00ADDC' : '#848286' + text: translator.translate(qsTr('A/C'), translator.language) + font.pixelSize: parent.height / 3 + } + onCheckedChanged: { + console.debug('A/C', checked) + } + } + ToggleButton { + onImage: './images/HMI_HVAC_Active.svg' + offImage: './images/HMI_HVAC_Inactive.svg' + Label { + anchors.centerIn: parent + color: parent.checked ? '#00ADDC' : '#848286' + text: translator.translate(qsTr('AUTO'), translator.language) + font.pixelSize: parent.height / 3 + } + onCheckedChanged: { + console.debug('AUTO', checked) + } + } + ToggleButton { + onImage: './images/HMI_HVAC_Circulation_Active.svg' + offImage: './images/HMI_HVAC_Circulation_Inactive.svg' + onCheckedChanged: { + console.debug('Circulation', checked) + } + } + } - ColumnLayout { - Layout.fillWidth: true - spacing: 20 - SeatHeatButton { - id: rightSeat - side: 'Right' - } - HeatDegree { - onCurrentItemChanged: { - console.log("Right Temp changed",degree) - binding.rightTemperature = degree - } - } - } - } + ColumnLayout { + Layout.fillWidth: true + spacing: 20 + SeatHeatButton { + id: rightSeat + side: 'Right' + } + HeatDegree { + onCurrentItemChanged: { + console.log("Right Temp changed",degree) + binding.rightTemperature = degree + } + } + } + } - RowLayout { - Layout.fillHeight: true - Layout.alignment: Qt.AlignHCenter - spacing: root.width / 20 - Repeater { - model: ['AirDown', 'AirUp', 'AirRight', 'Rear', 'Front'] - ToggleButton { - onImage: './images/HMI_HVAC_%1_Active.svg'.arg(model.modelData) - offImage: './images/HMI_HVAC_%1_Inactive.svg'.arg(model.modelData) - onCheckedChanged: { - console.debug(model.modelData, checked) - } - } - } - } - } + RowLayout { + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter + spacing: root.width / 20 + Repeater { + model: ['AirDown', 'AirUp', 'AirRight', 'Rear', 'Front'] + ToggleButton { + onImage: './images/HMI_HVAC_%1_Active.svg'.arg(model.modelData) + offImage: './images/HMI_HVAC_%1_Inactive.svg'.arg(model.modelData) + onCheckedChanged: { + console.debug(model.modelData, checked) + } + } + } + } + } } diff --git a/app/api/Binding.qml b/app/api/Binding.qml index 25388df..2d88087 100644 --- a/app/api/Binding.qml +++ b/app/api/Binding.qml @@ -19,67 +19,75 @@ import QtWebSockets 1.0 import 'MessageId.js' as MessageId WebSocket { - id: root - active: true + id: root + active: true - property string statusString: "waiting..." + property string statusString: "waiting..." - property real fanSpeed: 0.0 - property real leftTemperature: 21.0 - property real rightTemperature: 21.0 - property string language: "en_US" + property real fanSpeed: 0.0 + property real leftTemperature: 21.0 + property real rightTemperature: 21.0 + property string language: "en_US" - property Connections c : Connections { - target: root - onFanSpeedChanged: { - var json = [MessageId.call, '9999', 'hvac/set', {'FanSpeed': fanSpeed}] - console.debug(JSON.stringify(json)) - sendTextMessage(JSON.stringify(json)) - } - onLeftTemperatureChanged: { - var json = [MessageId.call, '9999', 'hvac/set', {'LeftTemperature': leftTemperature}] - console.debug(JSON.stringify(json)) - sendTextMessage(JSON.stringify(json)) - } - onRightTemperatureChanged: { - var json = [MessageId.call, '9999', 'hvac/set', {'RightTemperature': rightTemperature}] - console.debug(JSON.stringify(json)) - sendTextMessage(JSON.stringify(json)) - } - onLanguageChanged: { - var json = [MessageId.call, '9999', 'hvac/set', {'Language': language}] - console.debug(JSON.stringify(json)) - sendTextMessage(JSON.stringify(json)) - } - } + property Connections c : Connections { + target: root + onFanSpeedChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'FanSpeed': fanSpeed}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + } + onLeftTemperatureChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'LeftTemperature': leftTemperature}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) - onTextMessageReceived: { - var json = JSON.parse(message) - var request = json[2].request - var response = json[2].response - console.log("HVAC Binding Message: ",message) - switch (json[0]) { - case MessageId.call: - break - case MessageId.retok: - root.statusString = request.status - break - case MessageId.reterr: - root.statusString = "Bad return value, binding probably not installed" - break - case MessageId.event: - if (json[1] == "hvac/language") - console.log("HVAC event received: ",json[2]) - root.language = json[2].data - root.statusString = "Language changed to "+language - break - } - } - onStatusChanged: { - switch (status) { - case WebSocket.Error: - root.statusString = "WebSocket error: " + root.errorString - break - } - } + var json1 = [MessageId.call, '9999', 'hvac/temp_left_zone_led', {'LeftLed': leftTemperature}] + console.debug(JSON.stringify(json1)) + sendTextMessage(JSON.stringify(json1)) + } + onRightTemperatureChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'RightTemperature': rightTemperature}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + + var json1 = [MessageId.call, '9999', 'hvac/temp_right_zone_led', {'RightLed': rightTemperature}] + console.debug(JSON.stringify(json1)) + sendTextMessage(JSON.stringify(json1)) + } + onLanguageChanged: { + var json = [MessageId.call, '9999', 'hvac/set', {'Language': language}] + console.debug(JSON.stringify(json)) + sendTextMessage(JSON.stringify(json)) + } + } + + onTextMessageReceived: { + var json = JSON.parse(message) + var request = json[2].request + var response = json[2].response + console.log("HVAC Binding Message: ",message) + switch (json[0]) { + case MessageId.call: + break + case MessageId.retok: + root.statusString = request.status + break + case MessageId.reterr: + root.statusString = "Bad return value, binding probably not installed" + break + case MessageId.event: + if (json[1] == "hvac/language") + console.log("HVAC event received: ",json[2]) + root.language = json[2].data + root.statusString = "Language changed to "+language + break + } + } + onStatusChanged: { + switch (status) { + case WebSocket.Error: + root.statusString = "WebSocket error: " + root.errorString + break + } + } } |