i8beef / HomeAutio.Mqtt.GoogleHome

MIT License
217 stars 29 forks source link

Warning about Bad Configs #47

Closed BLee3478 closed 5 years ago

BLee3478 commented 5 years ago

Just a heads up, I get the following errors when starting the docker image on rasperry pi even though I do have these parameters set correctly: [23:52:13 WRN] GoogleDevices.json issues detected for device bedroom/airpurifier: ["Trait 'FanSpeed' is missing attribute 'availableFanSpeeds' for command 'action.devices.commands.SetFanSpeed'", "Trait 'FanSpeed' is missing required command 'action.devices.commands.Reverse'"] [23:52:13 WRN] GoogleDevices.json issues detected for device kitchen/anova: ["Trait 'TemperatureControl' is missing attribute 'temperatureRange' for command 'action.devices.commands.SetTemperature'"]

Despite this, setting the fan speed or the temperature work fine, so these errors are false. I am pretty sure these errors also prevent configuring from the webui because when saving the trait, the errors popup and the change is never committed to file. So, these traits have to be manually entered in the json file.

i8beef commented 5 years ago

Just pushed a new build. Should be out in a little bit. Try that and let me know what you get.

BLee3478 commented 5 years ago

Unfortunately, there is no change both for the logs and for trying to add through webui, both still showing errors

i8beef commented 5 years ago

Did your warnings change at all? Can you share the attributes, state and commands for these two devices?

BLee3478 commented 5 years ago

The warnings were the same

On February 28, 2019 12:53:35 PM EST, Michael Hallock notifications@github.com wrote:

Did your warnings change at all?

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/i8beef/HomeAutio.Mqtt.GoogleHome/issues/47#issuecomment-468371123

BLee3478 commented 5 years ago

"bedroom/airpurifier": { "id": "bedroom/airpurifier", "type": "action.devices.types.AIRPURIFIER", "disabled": false, "willReportState": false, "roomHint": "Bedroom", "name": { "defaultNames": [], "name": "Air Purifier", "nicknames": [] }, "deviceInfo": { "manufacturer": "Winix", "model": "Climate", "hwVersion": "1.0", "swVersion": "1.0" }, "traits": [ { "trait": "action.devices.traits.OnOff", "attributes": null, "commands": { "action.devices.commands.OnOff": { "on": "bedroom/airpurifier/power/set" } }, "state": { "on": { "topic": "bedroom/airpurifier/power", "googleType": "bool", "valueMap": [ { "mqtt": "1", "type": "value", "google": true }, { "mqtt": "0", "type": "value", "google": false } ] } } }, { "trait": "action.devices.traits.FanSpeed", "attributes": { "availableFanSpeeds": { "speeds": [ { "speed_name": "Low", "speed_values": [ { "speed_synonym": [ "low" ], "lang": "en" } ] }, { "speed_name": "Medium Low", "speed_values": [ { "speed_synonym": [ "medium-low", "medium low" ], "lang": "en" } ] }, { "speed_name": "Medium High", "speed_values": [ { "speed_synonym": [ "medium-high", "medium high" ], "lang": "en" } ] }, { "speed_name": "High", "speed_values": [ { "speed_synonym": [ "high" ], "lang": "en" } ] } ], "ordered": true }, "reversible": false }, "commands": { "action.devices.commands.SetFanSpeed": { "fanSpeed": "bedroom/airpurifier/fanspe ed/set" } }, "state": { "currentFanSpeedSetting": { "topic": "bedroom/airpurifier/fanspeed" , "googleType": "string", "valueMap": [ { "mqtt": "1", "type": "value", "google": "Low" }, { "mqtt": "2", "type": "value", "google": "Medium Low" }, { "mqtt": "3", "type": "value", "google": "Medium High" }, { "mqtt": "4", "type": "value", "google": "High" } ] } } } ], "customData": null }, and `"kitchen/anova": { "id": "kitchen/anova", "type": "action.devices.types.OVEN", "disabled": false, "willReportState": false, "roomHint": "Kitchen", "name": { "defaultNames": [], "name": "Anova", "nicknames": [] }, "deviceInfo": { "manufacturer": "Anova", "model": "Wifi", "hwVersion": null, "swVersion": null }, "traits": [ { "trait": "action.devices.traits.TemperatureControl", "attributes": { "temperatureRange": { "minThresholdCelsius": 23, "maxThresholdCelsius": 99 }, "temperatureStepCelsius": 0.055, "temperatureUnitForUX": "F" }, "commands": { "action.devices.commands.SetTemperature": { "temperature": "kitchen/anova/temp/set" } }, "state": { "temperatureSetpointCelsius": { "topic": "kitchen/anova/temp", "googleType": "numeric", "valueMap": null }, "temperatureAmbientCelsius": { "topic": "kitchen/anova/temp/current", "googleType": "numeric", "valueMap": null } } }, { "trait": "action.devices.traits.StartStop", "attributes": { "pausable": false }, "commands": { "action.devices.commands.StartStop": { "start": "kitchen/anova/cook/set" } }, "state": { "isRunning": { "topic": "kitchen/anova/cook", "googleType": "bool", "valueMap": [ { "mqtt": "running", "type": "value", "google": true }, { "mqtt": "stopped", "type": "value", "google": false } ] }, "isPaused": { "topic": null, "googleType": "bool", "valueMap": null } } } ], "customData": null },

i8beef commented 5 years ago

You should have at least seen the Warning about the Reversible command go away with this, as you have reversible set to false.

I am pushing one more update that should make the validation for nested attribute values work correctly.

BLee3478 commented 5 years ago

Ah yes, there was a docker issue. After doing a docker stop on the old image and docker pull on the new image, i intuitively proceeded with docker run to run the new image. Apparently it doesnt work this way, you have to remove the old container first and then recreate a new container from the new image.

TL;DR The errors are gone, I have a nice clean log file now, Thank you!

i8beef commented 5 years ago

Excellent! Glad that worked for you, and thanks for reporting!