HomeAssistant-GreeClimateComponent icon indicating copy to clipboard operation
HomeAssistant-GreeClimateComponent copied to clipboard

[WIP] Add TemSen to get CurrentTemperature from internal sensor

Open janmashat opened this issue 2 years ago • 3 comments

janmashat avatar Jul 14 '22 07:07 janmashat

I think this doesn't really work.

  • The first AC gives me "65" (i thought it was fahrenheit, but then it would be 18,3c which isnt the case, its 24,33c in this room).
  • The second AC gives me "64" but its 21c
  • The third gives me 0.

RobHofmann avatar Jul 15 '22 08:07 RobHofmann

Another addition: im getting errors as well:

2022-07-15 10:25:38 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall climate.set_hvac_mode (c:01G80FCTGFV8YXSHHD9NPM0WS0): hvac_mode=off, entity_id=['climate.bedroom_ac']>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1731, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1750, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 680, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 930, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 717, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 472, in async_set_hvac_mode
    await self.hass.async_add_executor_job(self.set_hvac_mode, hvac_mode)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/gree/climate.py", line 804, in set_hvac_mode
    self.SyncState({'Pow': 0})
  File "/config/custom_components/gree/climate.py", line 455, in SyncState
    self.SendStateToAc(self._timeout)
  File "/config/custom_components/gree/climate.py", line 276, in SendStateToAc
    data, addr = clientSock.recvfrom(64000)
TimeoutError: timed out

Something seems to be broken.

EDIT: When i revert to the current main, it starts working again.

RobHofmann avatar Jul 15 '22 08:07 RobHofmann

I think this doesn't really work.

  • The first AC gives me "65" (i thought it was fahrenheit, but then it would be 18,3c which isnt the case, its 24,33c in this room).
  • The second AC gives me "64" but its 21c

It works, but it has a 40 degree offset as described here and possibly a 2 degree "autocorrection" mentioned in this comment.

  • The third gives me 0.

This indeed doesn't work as the AC doesn't provide a TemSen. A firmware change I mentioned earlier might fix it, but it's probably not worth the trouble.

janmashat avatar Jul 15 '22 08:07 janmashat