Search code examples
raspberry-pi3google-weave

Google Weave (libiota) Host Hvac


I followed these steps to get the Host Light example device registered on Weave and running on a Raspberry Pi 3. I'm able to control it with Home and the Weave Console.

Now I'm trying to do the same for a Host Hvac device (I looked at the Hvac example for the MW302 as a reference), but I'm not able to register the device with ./out/host/examples/hvac/hvac -r xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

It gets stuck at the following, with no visible errors:

[(4068588.179)I daemon.c:146] Heap state at daemon_connected: free=0, iota_allocated=15721, iota_max_allocated=15754
[(4068588.180)I daemon.c:152] Daemon connected.

With the Host Light example, I do see the device registering and it works fine:

[(4069131.290)I daemon.c:268] Waiting for registration message to be sent.
[(4069131.290)I daemon.c:146] Heap state at daemon_connected: free=0, iota_allocated=15234, iota_max_allocated=15268
[(4069131.290)I daemon.c:152] Daemon connected.
[(4069131.290)I daemon.c:137] Registering with ticket xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[(4069131.290)I weave_http.c:98] Sending PATCH Request https://www.googleapis.com/weave/v1/registrationTickets/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[(4069133.198)I weave_register.c:205] Sending Registration Finalize Request
[(4069133.198)I weave_http.c:98] Sending POST Request https://www.googleapis.com/weave/v1/registrationTickets/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/finalize?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[(4069135.880)I settings.c:71] Device id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[(4069135.880)I weave_register.c:233] Sending Registration OAuth Request
[(4069135.880)I weave_http.c:98] Sending POST Request https://accounts.google.com/o/oauth2/token
[(4069135.196)I weave_register.c:270] Registration Complete
[(4069135.196)I dev_framework.c:295] Heap state at daemon_registered: free=0, iota_allocated=23704, iota_max_allocated=35344
[(4069135.196)I dev_framework.c:296] Registration Succeeded.

> [(4069135.197)I weave.c:550] Fetching Command Queue

Has anyone managed to create a Host Hvac device successfully?


Solution

  • There's now an Hvac host example in the Libiota repo: https://weave.googlesource.com/weave/libiota/+/master/examples/host/hvac_controller/

    For those of you working on running any of the host example devices on a Raspberry Pi, note that you might need the following dependencies:

    sudo apt-get install libssl-dev libldap2-dev libidn11-dev libssh2-1-dev libkrb5-dev librtmp-dev
    

    Also weave_client (used to register the device) needs Pycurl on your Linux machine. Download the source from pycurl.io and install it with python setup.py install. You may need to install these dependencies as well:

    sudo apt-get install libcurl4-gnutls-dev python-dev