Skip to content

3. Troubleshooting & Logging

David Bonnes edited this page May 8, 2024 · 2 revisions

Troubleshooting

Note that log files will be required if you are requesting help. There are two such logs - the HA log, and a packet log.

If you are stuck, first look here, then ask for help at the HA forum if you remain stuck.

Packet Logs

You'll need to specify the location of the packet log.

ramses_cc:
  packet_log: /path/packet.log

Unavailable State

Some evohome devices - particularly battery-powered devices like TRVs - will not send packets frequently.

Thus, the state of some HA entities will not be known until the corresponding packet is next sent. Some of these (e.g. battery state) are cast only once per 24 hours (and if you miss it...).

Logging

You should consider having the following in your configuration.yaml:

logger:
  logs:
    custom_components.ramses_cc: info  # show ramses_cc/ramses_rf state
    ramses_rf.dispatcher: info         # show packet payloads

Then you can try: cat home-assistant.log | grep -E 'ramses_cc.* Schema. It may be worth searching for combinations of:

  • ramses_ccand Found, Schema, Params, or Status, or:
  • ramses_rf

Check the version numbers

In particular, check the version numbers, and that you are running the latest version:

2021-02-21 10:29:49 ERROR (MainThread) [custom_components.ramses_cc] ramses_cc v0.5.6, using ramses_rf v0.5.5 - versions don't match (this is bad)

Get the system schema

You can also see the system schema:

> cat home-assistant.log | grep Schema
2020-09-18 21:50:58 INFO (MainThread) [custom_components.ramses_cc] Schema = {'controller': '01:145038', 'system': {'heating_control': '13:035462', 'orphans': []}, 'stored_hotwater': {'hotwater_sensor': '07:045960', 'hotwater_valve': '13:081807', 'heating_valve': '13:106039'}, 'ufh_controllers': {}, 'zones': {'01': {'heating_type': 'radiator_valve', 'sensor': '04:189082', 'devices': ['04:189078', '04:056053', '04:189082']}, '02': {'heating_type': 'radiator_valve', 'sensor': '04:056057', 'devices': ['04:056057']}, '03': {'heating_type': 'electric_heat', 'sensor': '03:183434', 'devices': ['03:183434']}, '04': {'heating_type': 'zone_valve', 'sensor': '12:010740', 'devices': ['12:010740']}, '05': {'heating_type': 'underfloor_heating', 'sensor': '34:092243', 'devices': ['34:092243']}, '06': {'heating_type': 'mixing_valve', 'sensor': None, 'devices': []}, '07': {'heating_type': 'mixing_valve', 'sensor': None, 'devices': []}, '08': {'heating_type': 'underfloor_heating', 'sensor': None, 'devices': []}, '09': {'heating_type': 'electric_heat', 'sensor': None, 'devices': []}, '0B': {'heating_type': 'zone_valve', 'sensor': None, 'devices': []}}, 'device_info': {'01:145038': {'description': 'Evo Color', 'firmware': '2020-08-11', 'manufactured': '2013-08-01', 'unknown': '000002FF0163FFFFFFFF'}}}

... which will give you:

{
    "controller": "01:145038",
    "system": {
        "heating_control": "13:035462",
        "orphans": []
    },
    "stored_hotwater": {
        "hotwater_sensor": "07:045960",
        "hotwater_valve": "13:081807",
        "heating_valve": "13:106039"
    },
    "ufh_controllers": {},
    "zones": {
        "01": {
            "heating_type": "radiator_valve",
            "sensor": "04:189082",
            "devices": [
                "04:189078",
                "04:056053",
                "04:189082"
            ]
        },
        "02": {
            "heating_type": "radiator_valve",
            "sensor": "04:056057",
...

Logging at lower layers

... if required, you may want to consider logging at lower layers of the ramses_rf protocol stack:

logger:
  default: warn  # prefer warn over info, avoid debug
  logs:
    homeassistant.core: debug             # to see: call_service & state_changed

    custom_components.ramses_cc: info     # for: Devices, Schema, Params, Status, etc.

    ramses_rf.dispatcher: info            # for: Tx/Rx at app layer, probably the logging you want (no RQs for readability), e.g.:
    # || CTL:145038 |            |  I | system_sync      |      || {'remaining_seconds': 185.5, '_next_sync': '15:59:38'}

    ramses_rf.protocol.protocol: info   # for: (rcvd) PKTs (raw packets), e.g.:
    # SENT: RQ --- 18:000730 30:082155 --:------ 22E5 001 00
    # rcvd: RQ --- 18:006402 30:082155 --:------ 22E5 001 00

    ramses_rf.protocol.transport: info  # for: Rx, Tx of PKTs, e.g.:
    # RF Tx:     b'RQ --- 18:000730 30:082155 --:------ 2210 001 00'
    # RF Rx: b'000 RQ --- 18:006402 30:082155 --:------ 2210 001 00'