0

I have an ESP32 device that weighs my kettle and tells me how many cups of water are in the kettle. I have a rest server that returns the cups, so this will be Cloud-to-cloud. I have used the smart washer codelab as a starting point https://developers.home.google.com/codelabs/smarthome-washer#2, got it working perfectly. I then added a Dispense trait. (all the other washer code remains. So device is still called washer) https://developers.home.google.com/cloud-to-cloud/traits/dispense

supportedDispenseItems: [
                        {
                          item_name: "kettle-cups",
                          item_name_synonyms: [
                            {
                              lang: "en",
                              synonyms: [
                              "cups",
                                "cups in kettle",
                                "water",
                                "kettle water"
                              ]
                            }
                          ],
                          supported_units: [
                            "CUPS"
                          ],
                          default_portion: {
                            amount: 2,
                            unit: "CUPS"
                          }
                        }
                      ]

Using the same firebase database code in the sample I added the cups to the db. I'm manually changing the value via the webpage that came with the sample. All working fine. However, I can't access the values via the google home app or the google assistant app. I have a Google Home speaker too.

this is the update state in main.js - it posts to the db

  const pkg = {
    OnOff: { on: elOnOff.classList.contains('is-checked') },
    RunCycle: { dummy: elRunCycle.classList.contains('is-checked') },
    StartStop: {
      isPaused: elStartStopPaused.classList.contains('is-checked'),
      isRunning: elStartStopRunning.classList.contains('is-checked')
    },
    Dispense: {
      dispenseItems: {
      itemName: "kettle-cups",
        amountRemaining: {
          amount: elDispenseCupsRemaining.value,
          unit: "CUPS"
        }
      }
    }
  };

**1. Am I missing something in how I've configured the Dispense part? 2. What commands can I try to access the washer -> Dispense -> amountRemaining -> amount? **

I have confirmed that I can use voice commands to turn the washer on/off etc. and it will tell me if the washer is on/off if I ask Hey Google is the washer on? I get the correct answer. I tried different commands that combined "Washer" and Kettle cups" etc. and the nicknames. I tried "Hey google what is the washer amount remaining", " ... what is the washer cups" I am expecting it to be able to tell me how many cups of water are in the washer but suspect I haven't got the command right or the configuration.

MKneisel
  • 1
  • 1
  • Can you share the logs for the voice command invocation and also provide the necessary screenshot of the error what you are getting ? – Siddhant Priyadarshi Jan 17 '23 at 06:09
  • How do I get the logs for the voice command invocation? I get other logs but I haven't seen those. I just get the usual "here is a page on the internet" in response to any of my dispense related requests. – MKneisel Jan 18 '23 at 07:08

0 Answers0