Coder Social home page Coder Social logo

ramses_protocol's Introduction

How to Communicate with Evohome

Many HVAC systems utilize a 868 Mhz RF protocol from Honeywell called RAMSES II. This includes Evohome, Sundial, Chronotherm, Hometronics, and products from Itho.

Using easily-obtained, relatively inexpensive hardware, this (unecrypted) RF traffic can be harvested for useful information, and there is also means to inject commands into the network.

Other systems, including non-Honeywell systems, also use this protocol, or a similar/older protocols such as EnviraCOM, or the residential network protocol - YMMV.

This wiki's purpose is to document the data structures and protocols of RAMSES II. It is a work-in-progress and contributions are encouraged.

Decoding evohome (RAMSES-II) RF traffic

This is a sequence of RAMSES II packets sent over the RF network:

045  I --- 01:145038 --:------ 01:145038 30C9 018 0008310107FD02076503077D04075C050758
053  I --- 30:082155 --:------ 30:082155 1F09 003 000537
055 RQ --- 07:045960 01:145038 --:------ 10A0 006 0013740003E4
045 RP --- 01:145038 07:045960 --:------ 10A0 006 0013880003E8
045  I --- 12:010740 --:------ 12:010740 0008 002 00BE
045  I --- 04:056057 --:------ 01:145038 3150 002 0326
045  I --- 34:064023 --:------ 34:064023 3120 007 0070B0000000FF

Detailed descriptions of the packet structure and each command code is available within this wiki.

By a combination of eavesdropping traffic, and probing the system via carefullt-constructed command packets, much can be learnt about the system - some of which is not exposed via the vendor's UI/API. For example, consider this zone (using this tool):

    "04": {
        "actuators": ["04:189082", "04:189083"],
        "configuration": {
            "local_override": true,
            "multi_room_mode": false,
            "openwindow_function": true
        },
        "heat_demand": 0.43,
        "name": "Main Hall",
        "sensor": "22:012345",
        "setpoint_capabilities": {
            "max_temp": 24.5,
            "min_temp": 5.5
        },
        "setpoint_status": {
            "setpoint": 21.5,
            "mode": "FollowSchedule",
            "until": null
        },
        "temperature": 19.28,
        "window_open": false,
        "zone_type": "Radiator Valve"
    }

A similar level of detail can be obtained about the devices that make up an evohome system (e.g. battery state).

Communication Hardware

The 'standard' device for interfacing with Evohome RF networks is the Honeywell HGI80.

These will be the most compatible option, but are relatively expensive and can be difficult to obtain. Additionally, they cannot be made to emulate other Evohome devices, such as a TRV.

Alternatively, there are several 'hobbyist' USB devices which may be used, for relatively little cost.

These devices may be less compatible than a HGI80, but are easily available and very likely cheaper. They can be used to emulate Evohome devices (even, theoretically, an Evohome controller). Please see: https://github.com/ghoti57/evofw3 for the recommended firmware.

Acknowledgements

This work builds upon the work by CrazyDiamond, Hydrogenetic and fullTalgoRythm. We're very grateful to them and the many other contributors.

Disclaimer

This documentation has been developed by observing the messages sent between the various Honeywell devices and is not supported or endorsed in any way by Honeywell or Resideo. The use of this information to control or monitor your home heating system is your own responsibility although we not aware of any risk of damage to devices through the use of these commands.

ramses_protocol's People

Contributors

zxdavb avatar evsdd avatar

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.