Honeywell CH/DHW via RF - evohome, sundial, hometronics, chronotherm

I cannot honestly recall but I certainly started with the configurational.yaml and converted. But since then have cleared cache and the config.yaml has been hashed out - I had thought it autopopulated after I cleared cache.
I have edited now and it is this as per your reference:

"01:081083":
  class: controller
"07:025191":
  class: dhw_sensor
"13:173107":
  class: electrical_relay
"04:027656":
  class: radiator_valve
"34:150655":
  class: thermostat
"13:001489":
  class: electrical_relay
"34:027677":
  class: thermostat
"13:055679":
  class: electrical_relay
"34:150571":
  class: thermostat
"13:001522":
  class: electrical_relay
"04:023780":
  class: radiator_valve
"04:027356":
  class: radiator_valve
"04:027722":
  class: radiator_valve
"04:023774":
  class: radiator_valve
"04:027650":
  class: radiator_valve
"04:027714":
  class: radiator_valve
"04:027720":
  class: radiator_valve
"04:027648":
  class: radiator_valve
"04:027358":
  class: radiator_valve
"04:027646":
  class: radiator_valve
"04:027718":
  class: radiator_valve
"04:027716":
  class: radiator_valve
"04:027360":
  class: radiator_valve
"34:063533":
  class: thermostat
"13:224329":
  class: electrical_relay
"13:003271":
  class: electrical_relay
"34:150657":
  class: thermostat
"18:203270":
  class: gateway_interface

I have probably made a bit of a mess of the whole install over time and the change to the later config flow, though it seems to work ok.
If I query the gateway status through developer tools/Template I get the following:

id: 18:203270
schema: 
'01:081083':
  system:
    appliance_control: null

config: 
enforce_known_list: true

known_list: 
- '01:081083':
    class: controller
- '07:025191':
    class: dhw_sensor
- '13:173107':
    class: electrical_relay
- '04:027656':
    class: radiator_valve
- '34:150655':
    class: thermostat
- '13:001489':
    class: electrical_relay
- '34:027677':
    class: thermostat
- '13:055679':
    class: electrical_relay
- '34:150571':
    class: thermostat
- '13:001522':
    class: electrical_relay
- '04:023780':
    class: radiator_valve
- '04:027356':
    class: radiator_valve
- '04:027722':
    class: radiator_valve
- '04:023774':
    class: radiator_valve
- '04:027650':
    class: radiator_valve
- '04:027714':
    class: radiator_valve
- '04:027720':
    class: radiator_valve
- '04:027648':
    class: radiator_valve
- '04:027358':
    class: radiator_valve
- '04:027646':
    class: radiator_valve
- '04:027718':
    class: radiator_valve
- '04:027716':
    class: radiator_valve
- '04:027360':
    class: radiator_valve
- '34:063533':
    class: thermostat
- '13:224329':
    class: electrical_relay
- '13:003271':
    class: electrical_relay
- '34:150657':
    class: thermostat
- '18:203270':
    class: gateway_interface

block_list: 
is_evofw3: true
device_class: problem
friendly_name: HGI 18:203270 Gateway status

All my three Schemaā€™s (through the DEveloper tools/States) say unavailable. Indeed I have a lot of unavailable throughout.
But as I say all seems to work satisfactory.

Just taken the plunge and upgraded to the config flow version (0.42.0) from the latest non-config flow version. I let the installation create the config flow entry from configuration.yaml.

A lot of things appear to be working, but one thing that is not is send_cmd. Looking into this, if I try and view the Advanced Features under Configuration, I get a pop up that simply says ā€˜Errorā€™. I also noticed that the schema is not populated - not sure if that is an issue or not.

So Iā€™ve tried to look at what has been stored in .storage/core.config_entries, and there is nothing in there from ramses.

Can anyone shed any light on what might be happening here?

How are people displaying the information from this integration? I see some examples in the thread, and also on the Wiki, but they are all quite old. Is it just the default Climate card, or are people doing something more advanced?

The templates are somewhat hidden in the Wiki

HA Custom Cards by @Galaxy Explorer

HA Custom Card (PIV) By @Behold81

HA Custom Card by @janvkem

HA Custom Card by @lloyda

HA Custom Card by @vrobenmat

The cards that I designed serve my purposes just fine, for example

Having looked a bit closer, I think send_cmd may be working. However, the schema is still not populated in the configuration, and I canā€™t get into the Advanced Features - get a error popup.

Hi All,
It there anyway to fake a TRV, Iā€™ve got a room with valveless radiator that Iā€™ve like to be able to heat when all the remaining zones have TRVs with 0% demand.

Dear user,
For your information, I successfully forwarded USB evofw3 connected on a Rpi to a HyperV HAOS using USBIP.
I make a little Howto if someone is interested.
Now, I need to make the configuration.
My goal will be to forward the % heat output of the EVOHOME to a Vaillant EcoTECPLus VCW296/5-5 (BE) using the ebus interface (not yet investigated into it).
so, my boiler will be able to modulate in place to Start/Stop at 100% (not the goal of a condensation Boiler)
I know about the interface OpenTherm, but I need a unofficial module VR33 a bit more costly and maybe more complex.
So, Iā€™ll try first with ebus

Is there a way to repeat messages from a hr92? Connection is frequently lost now, and repositioning is not possible.

Does anyone know if brdg-02m11 works with evohome?

You could do something with some automations in HA running ramses_cc (but not with a HGI80, use something running evofw3, or ramses_esp).

Define ā€˜workā€™.

I would say no.

Pete was messing around with this idea - perhaps ask him at GitHub - IndaloTech/ramses_esp: Port evofw3 to Espressif ESP32-S3

You could add it to: 8. How to: USB dongle distant from HA Ā· zxdavb/ramses_cc Wiki Ā· GitHub

Dear,
I have installed the RAMSES RF and I can see devices.

As I see a lot of ā€œghostā€ devices, I decided to make a full RESET Factory of my Evotouch (FW 02.01.01.01) because I though it was something coming from an old configuration.
I also completely uninstalled the AddOn and upgraded to last RamsesRF version 0.42.
But I see again ā€œghostā€ devices. As Iā€™m a beginner ith this interface , it take me a time before I realise I see the evohome of my neighborhoodā€¦So, I can see two CTRL :
01:169890 (mine) and 01:169648 (neighborhood).
Also, devices with more or less the same name (chambre1, bureau,ā€¦).

Question 1 : know list
So, I need to create a ā€œknow listā€, but honestly, after reading the wiki, Iā€™m not able to start a list in the configuration.yaml or in the new RamsesRF configuration.
I donā€™t know how to add trusted devices.

I can see the HGI of the other EVOHOME linked to my EvoHome.
I donā€™ have a HGI but an evofw3
What can I do to reconfigure it manually ?

Question 2 : Unavailable entities
I donā€™t see the Heat demand for the ā€œA38Bureauā€ and I donā€™t know how the devices is build.
Where I can see the entities linked to a device ?

When I change the Setpoint for the zone, I can see the new HeatDemand in the Log

And I can also see the heat demand is updated to the ā€œController 01:169890ā€ and also the Zone 0 ā€œA38Livingā€

image

image

After Cleared the cache, I can see HEat Demand for Zone appears except ā€œA38Livingā€.
The Living have 4 Valves and I suppose what I see surrounded in green is the heat demand for two Valves. Correct ?


I bind again the 4 valves and I can see now 4 Heat demand for type 04

I can also see the Heat demand for the Zone00

But the Heat demand for the zone stay ā€œunavailableā€ (but was available before the Clear Cache : see above screenshot)
image

Iā€™ll continue investigating

After some time, Iā€™m able to have all Heat information.

Feedback after 1 day : comparing to the EVoTouch ā€œSystem Summaryā€ that ā€œHeat Demandā€ in HA are inconsistent.
image

Some time it is the the ā€œMain Heat demandā€ which is not updated (I suppose it miss a message). It is the most important if I want to use it to control the boiler.

My question : is it a way to make a request to get the Heat Demand (the main Appliance on the evotouch which I suppose the first line in the screenshot or the BDR Relay demand which are most off the time synched)

Question 3 : Card update time
After I see the HeatDemand in the LOG, it takes +/- 1 minute to update the Card in the dashboard.
As I want to make a automation between EvoHome and the Boiler Vallant trough a eBus interface, is it possible to update some entities quickly ?

Question 4 : Clear Cache
I decided to clear cache (state+schema) and after this, I see RamsesRF restart and I can see a lot of error in the message


I already had this and it is maybe due to the USBIP forward from the Rpi I use.
I solved by restarting HA
image

Iā€™m able to reproduce this issue each time I clear the cache. Can you also check in your system ? I want to see if it is my system or USBIP which is the cause.
I can also check with the cleint on the Rpi (so eliminate the USBIP) with :
python client.py monitor /dev/ttyACM0 -o packet.log
But I donā€™t know how to clear the cache to reproduce the issue.

Question 5 : Delete a Device
After Delete the cache, I always see the Zone 4 that I wrongly configured on my EvoTouch. In fact, I have Zone 0+1+2+3+5 (4 is deleted from EvoHome)
Is it possible to delete a Device without reconfigure from scratch ?

Question 6 : Schedule info
Is it possible to indicate the schedule ā€˜untilā€™ on the card ?

Thank a lot for your support and your work on this interface.
Best Regards
Eric

Has anyone got a friendly hot water card (for family use) that simply shows current temperature and has a boost button. I have created a boost (button card) but it doesnt/I dont know how to, display current temperature on it. Suspect I may need a custom button card. Thanks

This is what I do. Currently I am using both cloud and local integrations and this method uses the cloud version but could be adapted. Just havenā€™t had the time to migrate it across.

Here is an extract of the hot water card that is displayed above. The full YAML code is much longer and I should post that on the Wiki once I migrate it to RAMSES. Note it uses button card

      - type: custom:button-card
        entity: water_heater.dhw_controller
        name: Hot Water
        size: 100%
        show_name: true
        show_state: false
        show_label: true
        color_type: icon
        label: |
          [[[ return entity.attributes.current_temperature + ' Ā°C'; ]]]
        icon: |
          [[[
            if (entity.state == 'on') return 'mdi:water-plus';
            if (entity.state == 'off') return 'mdi:water';
            else return 'mdi:water';
          ]]]
        styles:
          icon:
            - color: |
                [[[
                  if (entity.attributes.current_temperature < '5') return 'dimgray';
                  if (entity.attributes.current_temperature >= '5' && entity.attributes.current_temperature < '20') return '#44739E';
                  if (entity.attributes.current_temperature >= '20' && entity.attributes.current_temperature < '30') return 'seagreen';
                  if (entity.attributes.current_temperature >= '30' && entity.attributes.current_temperature < '40') return 'darkorange';
                  if (entity.attributes.current_temperature >= '40') return 'firebrick';
                  else return 'indigo';
                ]]]

THanks I achieved this with also using a ā€œconditionalā€ display element with the folowing:

entity: water_heater.stored_hw
name: Boost Hot Water
show_name: true
show_icon: true
show_state: true
show_label: true
tap_action:
  action: call-service
  confirmation:
    text: Are you sure you want to boost hot water?
  service: water_heater.set_operation_mode
  target:
    entity_id: water_heater.stored_hw
  data:
    operation_mode: boost
icon: mdi:thermometer
styles:
  card:
    - height: 300px
    - padding: 10px
  icon:
    - color: |
        [[[
          const temp = parseFloat(states['sensor.07_025191_temperature'].state);
          if (temp <= 25) return 'green';
          if (temp > 25 && temp <= 40) return 'blue';
          if (temp > 40) return 'red';
          return 'gray';
        ]]]
    - width: 128px
    - height: 128px
  name:
    - color: black
  state:
    - color: black
  label:
    - color: |
        [[[
          const temp = parseFloat(states['sensor.07_025191_temperature'].state);
          if (temp <= 25) return 'green';
          if (temp > 25 && temp <= 40) return 'blue';
          if (temp > 40) return 'red';
          return 'gray';
        ]]]
    - font-size: 16px
label: >
  [[[ return `Current Temp: ${states['sensor.07_025191_temperature'].state}Ā°C`;
  ]]]


Hi

I really like this plugin. With a evofw3 based transmitter I was able to get rid of the gateway and the cloud from Honeywell. Now everything stays at home and I can regulate much faster.

I just have a question about configuration. I tried to read everything but Iā€™m not sure if I did it the right way.

Thatā€™s how the relevant section looks in configuration.yaml:

# Evohome heating control, using a custom made ESP32 based RF module.
ramses_cc:
  ramses_rf:
    enforce_known_list: True
  serial_port: /dev/ttyACM0
  01:085976:
    system:
      appliance_control: null
    zones:
      "00": { actuators: [04:240427] }                     # Living Room
      "01": { sensor: 03:040558, actuators: [04:240503]}   # Office
      "02": { sensor: 04:240509, actuators: [04:240509]}   # Kitchen
      "03": { sensor: 03:040559, actuators: [04:240425]}   # Bedroom
      "04": { sensor: 04:240507, actuators: [04:240507]}   # Hall
      "05": { sensor: 04:240423, actuators: [04:240423]}   # Bathroom
  known_list:
    01:085976: {class: CTL}                # Controller with temperature sensor for zone living room
    03:040558: {class: THM}                # THM Office
    03:040559: {class: THM}                # THM Bedroom
    04:240423: {class: TRV}                # TRV Bathroom
    04:240425: {class: TRV}                # TRV Bedroom
    04:240427: {class: TRV}                # TRV Living Room
    04:240503: {class: TRV}                # TRV Office
    04:240507: {class: TRV}                # TRV Hall
    04:240509: {class: TRV}                # TRV Kitchen

Is this configuration correct? The syntax seems to be OK but Iā€™m not sure about the known list.

during startup I get some errors:

The known_list SHOULD include exactly one gateway (HGI), but does not (it should specify ā€˜class: HGIā€™)
The active gateway ā€˜18:018100: { class: HGI }ā€™ (by filter) SHOULD be in the (enforced) known_list

Is this really an issue? I donā€™t see the use of the gateway anymore.

Best practice is to provide a known_list and enforce it, configure: enforce_known_list = True

Didnā€™t I do that? Without ramses_rf, the yaml checks returns an error.

The ā€˜ramses_ccā€™ option near /config/configuration.yaml:3 is deprecated, please remove it from your configuration

How else should I name it?

Thank you very much for your support.

Hello all,

I must be overlooking something simple and obvious, as in 4476 posts I couldnā€™t find any reference. Nor on the wikis I read. But I just received my Ramses_ESP device. I want to configure the wifi, but I have no clue how to start.
The wiki (Serial Interface Ā· IndaloTech/ramses_esp Wiki Ā· GitHub) tells me to setup a serial interface and execute two commands. But I have no idea how to set up that serial interface. Can someone give me a pointer?

Kind regards,

Bert

Bert is using UBUNTU.

I donā€™t have access to hardware at the moment to test with.

Can anybody using this configuration say what the generic device in /dev/ he should use with screen?

Hi Peter,

The Ramses_ESP connects in /dev/ as ttyACM0. But what do I do then?
I tried putty and screen, following the guide at expressif (Establish Serial Connection with ESP32 - ESP32 - ā€” ESP-IDF Programming Guide v5.2.3 documentation)
But none of them produced any result. So Iā€™m not sure if Iā€™m on the right track.
I verified it with ls /dev/tty* (only the ttyACM0 pops up) and in /var/log/syslog:

2024-10-04T07:39:06.116703+02:00 trout kernel: usb 1-1: new full-speed USB device number 7 using xhci_hcd
2024-10-04T07:39:06.243719+02:00 trout kernel: usb 1-1: New USB device found, idVendor=303a, idProduct=1001, bcdDevice= 1.01
2024-10-04T07:39:06.243754+02:00 trout kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2024-10-04T07:39:06.243763+02:00 trout kernel: usb 1-1: Product: USB JTAG/serial debug unit
2024-10-04T07:39:06.243768+02:00 trout kernel: usb 1-1: Manufacturer: Espressif
2024-10-04T07:39:06.243772+02:00 trout kernel: usb 1-1: SerialNumber: 84:FC:E6:64:43:74
2024-10-04T07:39:06.250741+02:00 trout kernel: cdc_acm 1-1:1.0: ttyACM0: USB ACM device
2024-10-04T07:39:06.272695+02:00 trout mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
2024-10-04T07:39:06.273158+02:00 trout mtp-probe: bus: 1, device: 7 was not an MTP device
2024-10-04T07:39:06.362621+02:00 trout snapd[1360]: hotplug.go:200: hotplug device add event ignored, enable experimental.hotplug
2024-10-04T07:39:06.393169+02:00 trout mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
2024-10-04T07:39:06.393439+02:00 trout mtp-probe: bus: 1, device: 7 was not an MTP device

I left the last few lines in, as it might be related

Bert

I had some trouble with my ESP32 in the beginning. For some reason, the version I build didnā€™t work, it got stuck in a reboot loop.
So I just used the bootloader and partitions setup from my build. I flashed the available bin image to the factory address in the flash and it almost worked.
I was able to setup wifi but after configuring mqtt it was in a reboot loop again :frowning_face:

Do you want to connect it as USB stick directly to your home assistant? When yes, Why do you need access to the serial interface for configuration? It should work out of the box as neither wifi or mqtt is required for direct operation.

The ESP32 normally has 2 USB interfaces. One is the COM interface to programm it. The other one is the USB interface. With the default image this interface is also running as UART interface which will show up as /dev/ as ttyACM0. As both may show up identical, maybe you used the wrong one?

Wenn you connect with a terminal programm to it, you should see the bootprocess (when it support to continue after disconnect). You should also see massages about discovered devices.
You wonā€™t see the commands you entered in the terminal, e.g. ā€œhelpā€. You have to enable the local echo function for that. I used putty for the settings (which I donā€™t use/need) and with local echo everything was easy going.