"mapping values are not allowed here" when using EQ3 Thermostat Climate Component

I am getting “mapping values are not allowed here” in the log when trying to integrate the EQ3 Thermostat Climate Component. I am using the example given on the components page and have only changed the MAC address.
The error is thrown in the line of the configuration.yaml in the line which says

devices:

I’ve tried different formattings, including writing everything in one line etc.
Copy-pasting the original example code throws the same error.
Could this be a bug?

Thanks for your help.

Have you tried running your config code through a YAML parser? e.g. http://www.yamllint.com

Same error!
The example code, too, throws an error in the parser. :worried:

If you give us a bigger part of your config, we can perhaps help identify what’s wrong.

ok, I found the problem:

The example code looks like this:
>
climate:
platform: eq3btsmart
devices:
room1:
mac: ‘00:11:22:33:44:55’

Which does not work. “platform” and “devices” has to be on the same indentation level:
>
climate:
platform: eq3btsmart
devices:
room1:
mac: ‘00:11:22:33:44:55’

After that I got some file not found errors concerning bluepy. I had to reinstall the bluepy library using pip and manually copy it to the dep directory.
Just in case anyone runs into the same problem…

4 Likes

Thanks for the clarification @nikolaifischer :+1:
I have changed the example code. I hope my change will be approved.
See https://github.com/home-assistant/home-assistant.github.io/pull/947

pi@raspberrypi:~ $ eq3cli
Traceback (most recent call last):
  File "/usr/local/bin/eq3cli", line 11, in <module>
sys.exit(cli())
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1043, in invoke
return Command.invoke(self, ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/eq3bt/eq3cli.py", line 23, in cli
thermostat.update()
  File "/usr/local/lib/python2.7/dist-packages/eq3bt/eq3btsmart.py", line 163, in update
self._conn.make_request(PROP_WRITE_HANDLE, value)
  File "/usr/local/lib/python2.7/dist-packages/eq3bt/connection.py", line 71, in make_request
with self:
  File "/usr/local/lib/python2.7/dist-packages/eq3bt/connection.py", line 36, in __enter__
self._conn.connect(self._mac)
  File "/usr/local/lib/python2.7/dist-packages/bluepy/btle.py", line 349, in connect
if len(addr.split(":")) != 6:
AttributeError: 'NoneType' object has no attribute 'split'

Hey, I’ve this problem above and I reinstalled bluepy and manually copied it into the deps directory under homeassistant aswell. What am I doing wrong? I can see my 3 devices in the UI and so on, but I can’t get any information from them. Sorry for digging out this almost half year old thread but I’d love to get help :)!

Thanks in advance!