The next step would be to look in the packet log for 3150
packets from that TRV, and see what their payload is.
I have just noticed that Pete is now advertising the RAMSES_ESP dongle that adds MQTT support (you can get on a waitlist to buy one):
And I can confirm that the RAMSES RF (was ramses_cc) integration currently supports MQTT - all my test / dev is using this device.
This means you can locate the dongle anywhere where it gets the best RF reception (to your CH/DHW / HVAC devices), and it can reach the MQTT server via WiFi.
Hello David, I am following up regarding my post in the forum about a missing heat_demand sensor on a specific TRV
Packet log shared privately.
The strange thing is that I can’t find any lines that match the TRV 04:107303 like I can for other TRVs but unexpectedly the climate entity climate.01_182924_03 works perfectly fine, I can change setpoint, read the temperature, etc. It’s just the heat_demand sensor is the problem. I also moved the TRV closer to the head controller, but that hasn’t made a difference either.
I appreciate your guidance on solving the problem.
Btw, I am using the heat_demand sensor to create a template sensor that is capped to the current temperature (rather than %). By doing so it allows me to replicate the standard HA temperature card using the custom button-card which can be then tweaked to my liking. Picture example below.
Taken delivery of my RAMSES-ESP, but no joy getting the hacs install of RAMES_RF to connect to my MQTT broker.
I’m getting the following error
Logger: ramses_tx.transport
Source: /usr/local/lib/python3.12/site-packages/ramses_tx/transport.py:1060
First occurred: 14:49:36 (6308 occurrences)
Last logged: 17:48:52
Disconnected with result code 5
MQTT broker is generally working with my HA install and other publishers and subscribers.
Welcome.
See: Types and enums — Eclipse paho-mqtt documentation
Reason code 5 is CONNACK_REFUSED_NOT_AUTHORIZED
.
Please check the URL. Perhaps you could post it here (minus the password) for us to check. Does the username/password have any special characters?
Otherwise, check the configuration of your MQTT broker.
Of course, the solution is always staring you in the face.
The stability of my MQTT installation was indeed it’s undoing. A restart /reload of mosquitto is required upon adding a new user/password combination.
@zxdavb I have ramses_cc running with my EvoHome with 12 zones of which 3 floor sections.
The 3 floor sections are managed by the ‘new’ HCC100 unit.
Every zone is reporting all settings and actuators, but the 3 floor zones do not report the ‘zone heat demand %’.
Do you have any suggestions on how to get that info available?
Solved: I was impatient. Demands are reported now.
Sadly, Underfloor heating controllers (UFCs) like the HCC100, HCE80, etc. are not fully supported. This is on my to do list.
Thus, I suspect whatever figures you’re getting for these zones - the number is wrong.
Dear David,
I am reading this thread for some time and have now purchased the RAMSES_ESP device. I really appreciate your work, it is amazing !
I have successfully connected it to the MQTT Mosquitto broker (HA add-on) and HA is receiving data and shows all my evohome devices. Problem is that all entities are shown as “Not available”.
I am using v0.41.20.
Here is an excerpt from my ramses.log:
2024-06-18 09:02:58.207 INFO (MainThread) [custom_components.ramses_cc.broker] Saving the client state cache (packets, schema)
2024-06-18 09:02:58.208 DEBUG (MainThread) [ramses_rf.gateway] Gateway: Pausing engine...
2024-06-18 09:03:03.845 ERROR (Recorder) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
File "/config/custom_components/ramses_cc/broker.py", line 190, in async_save_client_state
schema, packets = self.client.get_state()
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/gateway.py", line 238, in get_state
self._pause()
File "/usr/local/lib/python3.12/site-packages/ramses_rf/gateway.py", line 215, in _pause
super()._pause(disc_flag, *args)
File "/usr/local/lib/python3.12/site-packages/ramses_tx/gateway.py", line 240, in _pause
raise RuntimeError("Unable to pause engine, it is already paused")
RuntimeError: Unable to pause engine, it is already paused
2024-06-18 09:03:03.853 ERROR (MainThread) [homeassistant.helpers.dispatcher] Exception in async_write_ha_state when dispatching 'ramses_cc_update': ()
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1060, in __async_calculate_state
available = self.available # only call self.available once per update cycle
^^^^^^^^^^^^^^
File "/config/custom_components/ramses_cc/binary_sensor.py", line 162, in available
return msg and dt.now() - msg.dtm < timedelta(
~~~~~~~~~^~~~~~~~~
TypeError: can't subtract offset-naive and offset-aware datetimes
2024-06-18 09:04:03.863 ERROR (MainThread) [homeassistant.helpers.dispatcher] Exception in async_write_ha_state when dispatching 'ramses_cc_update': ()
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1060, in __async_calculate_state
available = self.available # only call self.available once per update cycle
^^^^^^^^^^^^^^
File "/config/custom_components/ramses_cc/binary_sensor.py", line 162, in available
return msg and dt.now() - msg.dtm < timedelta(
~~~~~~~~~^~~~~~~~~
TypeError: can't subtract offset-naive and offset-aware datetimes
> Blockquote
Any idea what I did wrong?
I am afraid there is just not enough there for me to make a useful comment.
Have you tried:
I can see a lot of entries in ramses.log, they all look fine to me. F.ex.
2024-06-18T11:06:14.092380 063 I --- 01:085811 --:------ 01:085811 2309 021 00076C01073A0207080308980405DC050708070802
2024-06-18T11:06:14.093495 062 I --- 01:085811 --:------ 01:085811 30C9 021 00081F01085502084F03088204084C05084C07081C
2024-06-18T11:07:04.038944 061 I --- 04:241806 --:------ 01:085811 3150 002 076E
2024-06-18T11:07:39.635922 061 I --- 04:241806 --:------ 04:241806 30C9 003 000756
2024-06-18T11:08:21.817365 043 I --- 04:136049 --:------ 01:085811 3150 002 03C8
I have tried to configure the schema using the GUI. Like this (as an example):
01:085811: { alias: "--controller--" }
18:146860: {class: HGI, alias: "HGI:evofw3" }
04:136049: { alias: "Arbeitszimmer Valve 1" }
When I save the config I get a positive confirmation. but when I re-open it is empty again.
I have now also installed a complete new instance of HA only running the ramses_cc integration using config flow cofiguration option. Same problem.
I am using ramses_esp with FW 0.4.9
ramses_esp is integrated using the MQTT broker
serial config: mqtt://HA-mosquitto:[email protected]:1883
2024-06-18 16:35:14.981 ERROR (MainThread) [homeassistant.helpers.dispatcher] Exception in async_write_ha_state when dispatching 'ramses_cc_update': ()
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1063, in __async_calculate_state
if state_attributes := self.state_attributes:
^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
return super().__getattribute__(__name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 524, in state_attributes
hass, self.current_temperature, temperature_unit, precision
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__
return super().__getattribute__(__name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ramses_cc/climate.py", line 311, in current_temperature
return self._device.temperature
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/system/zones.py", line 736, in temperature
return self._msg_value(Code._30C9, key=SZ_TEMPERATURE) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/system/zones.py", line 684, in _msg_value
return super()._msg_value(*args, **kwargs, zone_idx=self.idx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/entity_base.py", line 302, in _msg_value
return self._msg_value_code(code, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/entity_base.py", line 330, in _msg_value_code
return self._msg_value_msg(msg, key=key, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_rf/entity_base.py", line 341, in _msg_value_msg
elif msg._expired:
^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/message.py", line 340, in _expired
self._fraction_expired = fraction_expired(self._pkt._lifespan)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/message.py", line 317, in fraction_expired
return (self._gwy._dt_now() - self.dtm - _TD_SECS_003) / lifespan
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
TypeError: can't subtract offset-naive and offset-aware datetimes
whereas the logfile ramses.log looks fine:
2024-06-18T16:31:16.377736 056 RP --- 01:085811 18:146860 --:------ 30C9 003 040871
2024-06-18T16:31:16.442733 000 RQ --- 18:146860 01:085811 --:------ 30C9 001 05
2024-06-18T16:31:16.454939 056 RP --- 01:085811 18:146860 --:------ 30C9 003 05087D
2024-06-18T16:31:16.519265 000 RQ --- 18:146860 01:085811 --:------ 30C9 001 07
2024-06-18T16:31:16.566827 056 RP --- 01:085811 18:146860 --:------ 30C9 003 070849
2024-06-18T16:31:16.611222 000 RQ --- 18:146860 01:085811 --:------ 0005 002 000A
2024-06-18T16:31:16.614445 056 RP --- 01:085811 18:146860 --:------ 0005 004 000A0000
2024-06-18T16:31:16.796270 000 RQ --- 18:146860 01:085811 --:------ 0005 002 000B
2024-06-18T16:31:16.811657 056 RP --- 01:085811 18:146860 --:------ 0005 004 000B0000
2024-06-18T16:31:16.874652 000 RQ --- 18:146860 01:085811 --:------ 0005 002 0011
2024-06-18T16:31:17.046773 000 RQ --- 18:146860 01:085811 --:------ 0005 002 0004
2024-06-18T16:31:17.098958 056 RP --- 01:085811 18:146860 --:------ 0005 004 0004BF00
2024-06-18T16:32:11.908633 056 I --- 04:070601 --:------ 01:085811 3150 002 0096
2024-06-18T16:32:40.030264 067 I --- 04:241806 --:------ 01:085811 12B0 003 070000
2024-06-18T16:32:42.771205 066 I --- 04:241806 --:------ 01:085811 12B0 003 070000
2024-06-18T16:33:40.036889 060 I --- 04:070607 --:------ 01:085811 3150 002 019C
2024-06-18T16:33:58.978282 057 I --- 01:085811 --:------ 01:085811 1F09 003 FF0816
2024-06-18T16:33:58.989947 057 I --- 01:085811 --:------ 01:085811 2309 021 0008980108980207080308980405DC050708070802
2024-06-18T16:33:59.011497 057 I --- 01:085811 --:------ 01:085811 30C9 021 0008660108C30208730308F204087105087D07084B
2024-06-18T16:34:53.972582 057 I --- 01:085811 --:------ 01:085811 3B00 002 FCC8
2024-06-18T16:37:26.115097 056 I --- 01:085811 --:------ 01:085811 1F09 003 FF0816
2024-06-18T16:37:26.192676 056 I --- 01:085811 --:------ 01:085811 2309 021 0008980108980207080308980405DC050708070802
2024-06-18T16:37:26.194327 057 I --- 01:085811 --:------ 01:085811 30C9 021 0008660108C30208730308F204087105087D07084B
2024-06-18T16:40:52.990270 054 I --- 01:085811 --:------ 01:085811 1F09 003 FF0816
2024-06-18T16:40:52.995449 055 I --- 01:085811 --:------ 01:085811 2309 021 0008980108980207080308980405DC050708070802
2024-06-18T16:40:53.008456 055 I --- 01:085811 --:------ 01:085811 30C9 021 0008660108C30208730308F204087105087D070847
2024-06-18T16:40:54.109388 069 I --- 04:164499 --:------ 01:085811 3150 002 0400
2024-06-18T16:41:04.045517 062 I --- 04:070605 --:------ 01:085811 3150 002 0200
2024-06-18T16:42:08.676647 049 I --- 04:136049 --:------ 04:136049 30C9 003 000900
2024-06-18T16:42:25.761848 045 I --- 04:136049 --:------ 01:085811 3150 002 0366
2024-06-18T16:43:00.434846 061 I --- 04:110701 --:------ 01:085811 12B0 003 050000
2024-06-18T16:43:03.954008 061 I --- 04:110701 --:------ 01:085811 12B0 003 050000
Don’t know what to do to fix this. Is anyone using the ramses_esp stick with MQTT integration here?
Probably not, you’re an early adopter! Btw, I gather you meant to share your MQTT password above.
Oh, an early adopter…
Yeah, the password was not obfuscated, but my server is not available from external networks.
Some good news:
After plugging the ramses_esp into my HA system and using the serial port instead of MQTT connection I can see values including room names etc.
So I believe that there is an issue with the brand new MQTT adapter. I am happy to help track down this issue since I would like to place the ramses_esp away from my HA server for better network reception.
Hint: As mentioned I can see values from the evohome system in my MQTT client (sniffing the MQTT Mosquitto broker I set up within my HA instance).
I believe I know what this is - I will work on a fix today.
I was expecting this to be the case - should work when connected to HA’s local serial port.
OK, the issue is that all those people with a RAMSES_ESP dongle were using a dev version of ramses_rf, and I never pushed those changes to production!
Fix coming.
@SvenH-01 and (any others using the new RAMSES_ESP dongle with MQTT), I have just released version 0.41.23 with fixes for MQTT.
Let me know how that goes.
I am dropping support for the non-Config flow version of the RAMSES integration.
I have had no complaints about that branch.
Please migrate to the 0.41.x branch.
David,
many thanks for the new version. Working perfectly now.
Thanks again for the super fast fix. Is there any option to send a donation?
Sven