Giter Site home page Giter Site logo

eco2-tools's People

Contributors

hbdk avatar neuronflow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eco2-tools's Issues

Getting updated etrv2mqtt to include timezone

Hi. Is there a chance you could make an update for your package that would include PR that repairs issue with date not having timezone? Keton doesn't seem to support this as this PR lives there for few months already. :(

Scan not working

Hello.

(this is the first time I actively use github/open an issue)
I am running latest Home Assistant, installed the 3 addons, scan does not work.

I have, however, read the MAC from my phones BT menu, it actually shows in the name of the thermostat...
Added it to the key tool and was already up and running for some days, but trying again, it wont work.

Thermostat status is unavailable/unknown...
Not sure what to do.

Start scanning
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 80, in <module>
    fire.Fire(CLI)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 22, in scan
    for device, key in eTRVDevice.scan(timeout):
  File "/usr/local/lib/python3.9/site-packages/libetrv/device.py", line 41, in scan
    devices = btle.Scanner().scan(1)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 852, in scan
    self.start(passive=passive)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 800, in start
    self._mgmtCmd(self._cmd())
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
    raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'scan'
Detected eTRV devices:
Done scanning

Maybe werid question but how I can actually use this?

Hi.
I've got myself a RPi 4 where every step needed to add Eco2 works as it should. I have tiles with temp and such.
One of the reasons I was trying all of this is because one the thermostats I have sits right where my PC has exhaust which means the measured temp is way off and schedule doesn't work properly. I can't do anything about those two sitting close to each other so I wanted to use other temperature measurement device (Xiaomi Mijia BLE Temperature and Humidity Sensor to be specific) and control Eco2 by its values.
And I wonder how and if that's even possible? From what I see the only thing I can change is setting 'Heat'. But I don't even know what that actually means (and how to actually disable it). Thermostat like that doesn't have on/off only workload. It has different levels of opening valve to achieve different level of heating power. As far I understand, having scheduled setting enabled through the official app, with Away/Home set to some hours during the day, Eco2 sets heating power to be "just enough" to achieve its goal.

As far I see there's no indication of the mode the Eco2 is at the moment - I didn't see any difference in HA if there was Home or Away engaged.

Am missing something here? I know I'm very noobish with all of this :P

BTW I know you're responsible for wrapping up tools needed to add it to the hassio not the toole themselves, so this topic maybe shouldn't be meant for you, but I figured out I'll start with you as you should have knowledge about that and maybe the answer is quite simple ;)

Do these work via the ESPHome BLE proxy?

I am running my eTRVs far away from my HA, so I was trying with the ESPHome bluetooth proxy nearby.

It doesn't seem to work. The keytool never finds anything when I press the button (I already had the MAC), and the etrv scan just shows:

Start scanning
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 80, in <module>
    fire.Fire(CLI)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 22, in scan
    for device, key in eTRVDevice.scan(timeout):
  File "/usr/local/lib/python3.9/site-packages/libetrv/device.py", line 41, in scan
    devices = btle.Scanner().scan(1)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 852, in scan
    self.start(passive=passive)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 790, in start
    self._mgmtCmd("le on")
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
    raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'le on' (code: 17, error: Invalid Index)
Detected eTRV devices:
Done scanning

in the logs..

Is this something that can work and if so, is it something that has to be addressed on the ESPHome side, or here?

Can't update to 0.02

Hi. I tried updating to 0.02 but I'm getting error:

22-02-08 13:47:55 INFO (SyncWorker_3) [supervisor.docker.addon] Export image 87a644c9/aarch64-addon-etrv2mqtt to /data/tmp/tmpyw_dr16u/image.tar
22-02-08 13:48:54 INFO (SyncWorker_3) [supervisor.docker.addon] Export image 87a644c9/aarch64-addon-etrv2mqtt done
22-02-08 13:48:54 INFO (MainThread) [supervisor.addons.addon] Building backup for add-on 87a644c9_etrv2mqtt
22-02-08 13:55:51 INFO (MainThread) [supervisor.addons.addon] Finish backup for addon 87a644c9_etrv2mqtt
22-02-08 13:56:02 INFO (MainThread) [supervisor.backups.manager] Creating partial backup with slug 9f4973c2 completed
22-02-08 13:56:02 INFO (SyncWorker_3) [supervisor.docker.interface] Updating image 87a644c9/aarch64-addon-etrv2mqtt:0.01 to hbdk/eco2-tools:0.02
22-02-08 13:56:07 ERROR (SyncWorker_3) [supervisor.docker.addon] Invalid build environment, can't build this add-on!

Is it related directly to etrv2mqtt, like error is suggesting and I should go there? Or is it somehow related to your package?

[Question] is scheduling possible and to what extend?

Hi,

the original Danfoss App, has scheduling implemented in a very limiting way. Only two temperatures, only 3 heating time slots.

Can I achieve more complex schedules like the following with this software? Will manual control still be useable and open window detection still work?

I need schedules like:
USER A home:
7:45-10:30 -> 24°C
10:30-12:00 -> 21°C
12-19:30 -> 23°C
19:30-0:00 -> 22°C
0:00-7:45 -> 16°C
etc.

USER B home:
7:45-10:30 -> 22°C
10:30-12:00 -> 19°C
12-19:30 -> 21°C
etc.

Background I have a baby and wife with very different heating requirements.

bluepy.btle.BTLEGattError when trying to pare device?

I am trying to pair a device and receive the following error, on a side note should the scan tool list multiple device ids? If not probably my raspis bluetooth module is not strong enough?

Proceeding with '00:04:2f:79:44:cf' as ID
Press the clock button on the thermostat when you get the following message:
'libetrv.device:connect:54 - Trying connect to 00:04:2f:79:44:cf'
Starting
2021-01-23 16:54:56.180 | DEBUG    | libetrv.device:connect:54 - Trying connect to 00:04:2f:79:44:cf
2021-01-23 16:55:05.955 | DEBUG    | libetrv.device:send_pin:87 - Write PIN to 00:04:2f:79:44:cf
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.8/site-packages/libetrv/cli.py", line 79, in <module>
    fire.Fire(CLI)
  File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/libetrv/cli.py", line 47, in retrieve_key
    print("Secret Key:", self._device.secret_key)
  File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 22, in __get__
    return self.get_data_object(device).retrieve()
  File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 59, in retrieve
    self.read()
  File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 91, in read
    data = etrv_read_data(self.device, handler, send_pin, use_encoding)
  File "/usr/local/lib/python3.8/site-packages/libetrv/utils.py", line 20, in etrv_read_data
    data = device.ble_device.readCharacteristic(handler)
  File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 530, in readCharacteristic
    resp = self._getResp('rd')
  File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 407, in _getResp
    resp = self._waitResp(wantType + ['ntfy', 'ind'], timeout)
  File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 368, in _waitResp
    raise BTLEGattError("Bluetooth command failed", resp)
bluepy.btle.BTLEGattError: Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)
In 5 seconds this script will try to retrieve a secure key from eTRV device. Don't forget to save it for later. Before that be sure that device is in pairing mode. You can achieve that by pressing button on device
stopping

Stopped working after HA Core 2022.8.x update

<< Made new Issue to etrv2mqtt (keton/etrv2mqtt#16) so followup there !! >>

Seems that new HA Core 2022.8.x with Bluetooth functionality somehow broke this. etrv_scan log shows:

Start scanning
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 79, in
fire.Fire(CLI)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 22, in scan
for device in eTRVDevice.scan(timeout):
File "/usr/local/lib/python3.9/site-packages/libetrv/device.py", line 38, in scan
devices = btle.Scanner().scan(timeout)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 852, in scan
self.start(passive=passive)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 800, in start
self._mgmtCmd(self._cmd())
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'scan'
Detected eTRV devices:
Done scanning

Error on connecting to one of my valves, and the add on stops

Hi,
When the etrv2mqtt home assistant addon tries to connect to one of my valves, it generates this error and the Add on stops.

`'MainProcess' (8), thread 'MainThread' (548024991760):
Traceback (most recent call last):

File "/usr/local/bin/etrv2mqtt", line 8, in
sys.exit(entrypoint())
│ │ └ <function entrypoint at 0x7f97bf4e50>
│ └
└ <module 'sys' (built-in)>
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/cli.py", line 28, in entrypoint
main(sys.argv[1])
│ │ └ ['/usr/local/bin/etrv2mqtt', '/data/options.json']
│ └ <module 'sys' (built-in)>
└ <function main at 0x7f98b32550>
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/cli.py", line 17, in main
deviceManager.poll_forever()
│ └ <function DeviceManager.poll_forever at 0x7f97a51c10>
└ <etrv2mqtt.devices.DeviceManager object at 0x7f9800d250>
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 94, in poll_forever
schedule.run_all(delay_seconds=1)
│ └ <function run_all at 0x7f97a51550>
└ <module 'schedule' from '/usr/local/lib/python3.8/site-packages/schedule/init.py'>
File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 570, in run_all
default_scheduler.run_all(delay_seconds=delay_seconds)
│ │ └ 1
│ └ <function Scheduler.run_all at 0x7f97a50160>
└ <schedule.Scheduler object at 0x7f97a47ee0>
File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 109, in run_all
self._run_job(job)
│ │ └ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-09-29 00:57:08)
│ └ <function Scheduler._run_job at 0x7f97a503a0>
└ <schedule.Scheduler object at 0x7f97a47ee0>
File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 147, in _run_job
ret = job.run()
│ └ <function Job.run at 0x7f97a513a0>
└ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-09-29 00:57:08)
File "/usr/local/lib/python3.8/site-packages/schedule/init.py", line 466, in run
ret = self.job_func()
│ └ functools.partial(<bound method DeviceManager._poll_devices of <etrv2mqtt.devices.DeviceManager object at 0x7f9800d250>>)
└ Every 3600 seconds do _poll_devices() (last run: [never], next run: 2021-09-29 00:57:08)
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 82, in _poll_devices
device.poll(self._mqtt)
│ │ │ └ <etrv2mqtt.mqtt.Mqtt object at 0x7f97a535e0>
│ │ └ <etrv2mqtt.devices.DeviceManager object at 0x7f9800d250>
│ └ <function TRVDevice.poll at 0x7f97a519d0>
└ <etrv2mqtt.devices.TRVDevice object at 0x7f97a534f0>
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/devices.py", line 44, in poll
ret = eTRVUtils.read_device(self._device)
│ │ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ │ └ <etrv2mqtt.devices.TRVDevice object at 0x7f97a534f0>
│ └ <staticmethod object at 0x7f97ad5be0>
└ <class 'etrv2mqtt.etrvutils.eTRVUtils'>
File "/usr/local/lib/python3.8/site-packages/etrv2mqtt/etrvutils.py", line 34, in read_device
return eTRVData(device.name, device.battery, device.temperature.room_temperature, device.temperature.set_point_temperature, datetime.now())
│ │ │ │ │ │ │ │ │ │ └ <method 'now' of 'datetime.datetime' objects>
│ │ │ │ │ │ │ │ │ └ <class 'datetime.datetime'>
│ │ │ │ │ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f97ade340>
│ │ │ │ │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ │ │ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f97ade340>
│ │ │ │ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ │ │ │ └ <libetrv.properties.eTRVProperty object at 0x7f97ade2b0>
│ │ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ │ └ <libetrv.properties.eTRVProperty object at 0x7f97ade490>
│ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
└ <class 'etrv2mqtt.etrvutils.eTRVData'>
File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 22, in get
return self.get_data_object(device).retrieve()
│ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ └ <function eTRVProperty.get_data_object at 0x7f97af2700>
└ <libetrv.properties.eTRVProperty object at 0x7f97ade490>
File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 61, in retrieve
return self.retrieve_object(self.device)
│ │ │ └ <libetrv.device.eTRVDevice object at 0x7f97a536a0>
│ │ └ <libetrv.data_struct.NameData object at 0x7f970e8580>
│ └ <function eTRVSingleData.retrieve_object at 0x7f97af2f70>
└ <libetrv.data_struct.NameData object at 0x7f970e8580>
File "/usr/local/lib/python3.8/site-packages/libetrv/properties.py", line 129, in retrieve_object
return getattr(self, self.get_direct_field())
│ │ └ <function eTRVSingleData.get_direct_field at 0x7f97af2ee0>
│ └ <libetrv.data_struct.NameData object at 0x7f970e8580>
└ <libetrv.data_struct.NameData object at 0x7f970e8580>
File "/usr/local/lib/python3.8/site-packages/libetrv/fields/base.py", line 22, in get
return self.from_raw_value(raw_value, data)
│ │ │ └ <libetrv.data_struct.NameData object at 0x7f970e8580>
│ │ └ b'Sovev\xc3\xa6relset\x00\x00\x00'
│ └ <function TextField.from_raw_value at 0x7f97aecdc0>
└ <libetrv.fields.string.TextField object at 0x7f97af56a0>
File "/usr/local/lib/python3.8/site-packages/libetrv/fields/string.py", line 18, in from_raw_value
return raw_value.decode('ascii').strip('\0')
│ └ <method 'decode' of 'bytes' objects>
└ b'Sovev\xc3\xa6relset\x00\x00\x00'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)`

Any hint on what the cause is and eventually what I can do to resolve it?

Three other valves are working perfectly

Thanks,
/Ghassan

Problem installing any of three addons

Hi
I'm currently testing Hassio on Pi Zero W and wanted to try adding my Danfoss valves with your wrappers. I added your repo but when trying to install any of three add-ons I'm getting this message:

The command '/bin/sh -c pip3 install 'git+https://github.com/keton/etrv2mqtt.git'' returned a non-zero code: 139

Stopped working for some reason

Hi
Not sure if that's something for your "wrapper" but for some unknown reason etrv2mqtt stopped connecting to Eco2s. I have two devices and I didn't change the layout so it's not like the range changed. Do you know anything about this? Should I head to keton/etrv2mqtt instead?

Support for install on Hassio

Hi, I am using a HassIO box - Home Assistant 2022.12.8 - Supervisor 2022.12.1 - Operating System 9.4

I can add the custom repository, and add the etrv2mqtt addon using that, and start it (dont think it works though)

I can also install the etrv-scan from the same repository. But here is the limitations. It does seem to install the required dependencies. The log states:

Start scanning
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 80, in <module>
    fire.Fire(CLI)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 22, in scan
    for device, key in eTRVDevice.scan(timeout):
  File "/usr/local/lib/python3.9/site-packages/libetrv/device.py", line 41, in scan
    devices = btle.Scanner().scan(1)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 852, in scan
    self.start(passive=passive)
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 800, in start
    self._mgmtCmd(self._cmd())
  File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
    raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'scan'
Detected eTRV devices:
Done scanning

Is there a workaround for this?

etrv-scan no working

Hello i have this problem:
Operating System HassOS 4.17
Supervisor: 2020.11.0

Start scanning
Traceback (most recent call last):
File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.8/site-packages/libetrv/cli.py", line 79, in
fire.Fire(CLI)
File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 138, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 463, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/usr/local/lib/python3.8/site-packages/fire/core.py", line 672, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/usr/local/lib/python3.8/site-packages/libetrv/cli.py", line 22, in scan
for device in eTRVDevice.scan(timeout):
File "/usr/local/lib/python3.8/site-packages/libetrv/device.py", line 38, in scan
devices = btle.Scanner().scan(timeout)
File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 854, in scan
self.stop()
File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 803, in stop
self._mgmtCmd(self._cmd()+"end")
File "/usr/local/lib/python3.8/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'scanend' (code: 11, error: Rejected)
Detected eTRV devices:
Done scanning

when I find the address of the head myself, I can't pull out the key

Proceeding with '00:04:2f:61:24:1e' as ID
Press the clock button on the thermostat when you get the:
'libetrv.device:connect:54 - Trying connect to 00:04:2f:61:24:1e'
messeage
Starting
2020-11-27 12:17:14.641 | DEBUG | libetrv.device:connect:54 - Trying connect to 00:04:2f:61:24:1e
2020-11-27 12:17:14.655 | ERROR | libetrv.device:connect:68 - Unable connect to 00:04:2f:61:24:1e. Retrying in 100ms
2020-11-27 12:17:14.768 | ERROR | libetrv.device:connect:68 - Unable connect to 00:04:2f:61:24:1e. Retrying in 100ms

The thermostat functionality

Hi @HBDK ,

When Hassio starts up, the climate thermostat is off,

image

you can turn it on, by clicking on the fire icon, but you cannot turn it off again.

image

When on, it displays target temperature and Heat, no matter whether current temperature is below or above target temperature.

Is there any functionality behind this?

I expect, when off, the Hassio climate thermostat is not functional and displays "off".
When on:

  • and the current temperature is below target temperature, the Danfoss valve opens, and the climate thermostat in Hassio displays "Heat"
  • When current temperature reaches above target temperature, the Danfoss valve closes and the climate thermostat in Hassio displays "Idle"

But how do you expect this to work?'

Thanks

How to create automation

Hi
I'm not sure if that is actually question for you. If not just point me to the proper channel. :P

I was trying to replace build-in schedule in Eco2 with very simple automation in Hassio. I set Eco2 to manual mode and created something like this (mostly for testing):

- id: '1606402829689'
  alias: VRT Sypialnia Off
  description: ''
  trigger:
  - platform: time
    at: '07:10'
  condition: []
  action:
  - condition: state
    entity_id: climate.sypialnia_thermostat
    attribute: temperature
    state: 17
  mode: queued

But it doesn't work. The automation is of course executed but it doesn't do anything as well as when executed manually. Actually the only way I found it working was by changing target temp from lovelace thermostat card, which let me to believe that I did something wrong in the config.
I've also tried to do something like this for the action part:

  action:
  - service: mqtt.publish
    data:
      payload: '{"temperature":22}'
      topic: etrv/DanfossSypialnia/set

but being noob here, I'm not even sure if that's the proper approach, not to mention how and what to actually send. And it also didn't work.

Any tips? :)

Reading thermostat causes them to freeze

I have been running with this addon on my RPI3+ for a several years and it has been running great but suddenly it makes my thermostats to freeze. They keep the red light on and do not respond to anything. The only way to make to responsive again is to takeout the batteries. Is it only me having this issue?

Thermostat not reading (Was readable before)

Hi,

I got an error for one of my thermostat...

2023-02-27 18:40:13.900 | ERROR | libetrv.device:connect:95 - Unable connect to 00:04:2f:4f:xx:xx. Retrying in 100ms

The Mac is right.. even I can't read the code out...

The only difference is the Mac of that starting with 0:04 and not 00:04...

Same ocure with key reading to....

key scan failed

So I pressed the clock button and this was the response.

Press the clock button on the thermostat when you get the following message:
'libetrv.device:connect:54 - Trying connect to 00:04:2f:0f:13:1f'
Starting
2024-01-07 11:52:35.672 | DEBUG | libetrv.device:connect:81 - Trying connect to 00:04:2f:0f:13:1f
2024-01-07 11:52:43.430 | DEBUG | libetrv.device:send_pin:114 - Write PIN to 00:04:2f:0f:13:1f
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 80, in
fire.Fire(CLI)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 48, in retrieve_key
print("Secret Key:", self._device.secret_key)
File "/usr/local/lib/python3.9/site-packages/libetrv/properties.py", line 22, in get
return self.get_data_object(device).retrieve()
File "/usr/local/lib/python3.9/site-packages/libetrv/properties.py", line 59, in retrieve
self.read()
File "/usr/local/lib/python3.9/site-packages/libetrv/properties.py", line 91, in read
data = etrv_read_data(self.device, handler, send_pin, use_encoding)
File "/usr/local/lib/python3.9/site-packages/libetrv/utils.py", line 20, in etrv_read_data
data = device.ble_device.readCharacteristic(handler)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 530, in readCharacteristic
resp = self._getResp('rd')
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 407, in _getResp
resp = self._waitResp(wantType + ['ntfy', 'ind'], timeout)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 368, in _waitResp
raise BTLEGattError("Bluetooth command failed", resp)
bluepy.btle.BTLEGattError: Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)
In 5 seconds this script will try to retrieve a secure key from eTRV device. Don't forget to save it for later. Before that be sure that device is in pairing mode. You can achieve that by pressing button on device
stopping

Help me get startet

Hi

When running etrv-scan I cant see any devices. This is what I find in the logfile, can I get help getting it right?

Start scanning
Traceback (most recent call last):
File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 80, in
fire.Fire(CLI)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 466, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/usr/local/lib/python3.9/site-packages/fire/core.py", line 681, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/usr/local/lib/python3.9/site-packages/libetrv/cli.py", line 22, in scan
for device, key in eTRVDevice.scan(timeout):
File "/usr/local/lib/python3.9/site-packages/libetrv/device.py", line 41, in scan
devices = btle.Scanner().scan(1)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 852, in scan
self.start(passive=passive)
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 800, in start
self._mgmtCmd(self._cmd())
File "/usr/local/lib/python3.9/site-packages/bluepy/btle.py", line 312, in _mgmtCmd
raise BTLEManagementError("Failed to execute management command '%s'" % (cmd), rsp)
bluepy.btle.BTLEManagementError: Failed to execute management command 'scan'
Detected eTRV devices:
Done scanning

Best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.