Skip to content

Commit

Permalink
Merge pull request #114 from jontofront/Sensors-and-readme-fix
Browse files Browse the repository at this point in the history
Sensors and readme fix
  • Loading branch information
jontofront authored Dec 10, 2024
2 parents cd39bad + f737772 commit a98be07
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 68 deletions.
144 changes: 79 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# Disclaimer
Due to a stall on the original [pblxptr/ecoNET-300-Home-Assistant-Integration](https://github.com/pblxptr/ecoNET-300-Home-Assistant-Integration) repo, we have forked.
Most of the work was done by pblxpt, for which we're very thankful as the community.

# ecoNET300 Home Assistant integration

[![Code_formatter](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
Expand All @@ -10,137 +6,155 @@ Most of the work was done by pblxpt, for which we're very thankful as the commun
[![stability-alpha](https://img.shields.io/badge/stability-alpha-f4d03f.svg)](https://guidelines.denpa.pro/stability#alpha)
[![Validate with hassfest](https://github.com/jontofront/ecoNET-300-Home-Assistant-Integration/actions/workflows/hassfest.yaml/badge.svg)](https://github.com/jontofront/ecoNET-300-Home-Assistant-Integration/actions/workflows/hassfest.yaml)

**Note:** This repository is a fork of the original [pblxptr/ecoNET-300-Home-Assistant-Integration](https://github.com/pblxptr/ecoNET-300-Home-Assistant-Integration). Most of the work was done by [@pblxpt](https://github.com/pblxpt), and we are very grateful for their efforts.
**Additionally, I maintained and supported this code up to version v0.3.3.**

<div align="center">

| Home Assistant | ecoNET300 | device |
| --------------- | ------------- | ------------- |
| <img src="images/ha.png" width="100" height="100" /> | <img src="images/econet.webp" width="95" height="95" /> | <img src="images/econet300_device.jpg" width="100" height="100" /> |
| <img src="https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/ha.png" width="100" height="100" /> | <img src="https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/econet.webp" width="95" height="95" /> | <img src="https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/econet300_device.jpg" width="100" height="100" /> |

</div>




## Overview
ecoNET300 Home Assistant is a custom integration for ecoNET300 devices.
he **ecoNET300 Home Assistant Integration** allows local control and monitoring of ecoNET300 devices directly from Home Assistant. It communicates over your local network via the ecoNET300’s native REST API, avoiding any external cloud services.

It works locally, which means it connects directly to your local device using local IP address. It doesn't forward commands/requests through econet24.com. It uses rest api exposed by ecoNET300 device.
- **Local Operation**: No dependency on econet24.com cloud services.
- **Easy Configuration**: Integrate directly via Home Assistant UI.
- **Tested With**: ecoMAX810P-L TOUCH controller from [Plum Sp. z o.o.](https://www.plum.pl/)

This integration is available from the Lovelace frontend without the need to configure the devices in the file configuration.yaml

Integration tested with ecoMAX controller ecoMAX810P-L TOUCH manufactured by [Plum Sp. z o.o.](https://www.plum.pl/)

**Bear in mind that the project is in a very early, pre-alpha phase.**

## versions
* v0.3.3 - version is stable. Most of the work was done by @pblxpt, for which we're very thankful as the community.
* v1.0.0_beta - is a new dev integration version that fetches more data from API, I don't know yet if it will be better or worse :). It's my first work.
* v1.0.0 - A development version that retrieves more data from the API. It may be unstable, and upgrades from previous versions are not supported.

## :arrow_up: Migration to version 2 (v1.0.0_beta)
❗ This is a "version reset" release ❗ Migrations are not supported from previous versions! Please remove the integration and start anew with this version.
### Migrating to v1.0.0_beta

> **Important**: This release resets versioning. To upgrade:
> 1. Remove the existing integration.
> 2. Install v1.0.0_beta fresh.
> 3. Reconfigure as instructed below.
## Example
Here is an example setup showing econet300 device entities:

## Example
<div align="center">


<img src="images/sensors.png" />
<img src="https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/sensors.png" />

</div>

## HACS Installation ##
Follow [this guide](https://hacs.xyz/docs/faq/custom_repositories/) to add ecoNET-300-Home-Assistant-Integration as a custom repository to the HACS.
Use this url as a repo:
## Installation
### HACS (Recommended)
1. Install and configure [HACS](https://hacs.xyz/).
2. Add this repository as a [custom repository](https://hacs.xyz/docs/faq/custom_repositories/) using:
```
https://github.com/jontofront/ecoNET-300-Home-Assistant-Integration
```
3. In HACS, search for **"ecoNET300"**, install the integration.
4. Restart Home Assistant.

## Manual Installation
Copy the `custom_components` folder your configuration directory.
It should look similar to this:
1. Download or clone this repository.
2. Copy `custom_components/econet300` into your `<config_directory>/custom_components/`.

```
<config directory>/
|-- custom_components/
| |-- econet300/
| |-- [...]
```
3. Restart Home Assistant.

## Configuration

Adding ecoNET300 integration to your Home Assistant instance can be done via user interface, by using this My button:

Integrate ecoNET300 via the user interface:

[![Add integration](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start?domain=econet300)
<details>
<summary><b>Manual Configuration Steps</b></summary>

Apart from using 'My button' (in case it doesn't work) you can also perform the following steps manually:

1. Browse to your Home Assistant instance.
2. In the sidebar click on Settings.
3. From the configuration menu select: Devices & Services.
1. Go to **Settings > Devices & Services** in Home Assistant.
2. Click **Add Integration**.
3. Search and select **"ecoNET300"**.
4. In the bottom right, click on the Add Integration button.
5. From the list, search and select "ecoNET300".
5. From the list, search and select **"ecoNET300"**.

![Search dialog](images/search.png)
![Search dialog](https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/search.png)

6. Enter your connection details and click `Submit`.
6. Enter your local device IP/domain and local credentials (not econet24.com credentials). **"Submit"**.

__Host__: Local IP/domain of your device.

__Username__: Local username (NOT the username that you use to login to econet24.com!).

__Password__: Local password (NOT the password that you use to login to econet24.com!).

![Configuration dialog](images/configure.png)
![Configuration dialog](https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/configure.png)

7. Your device should now be available in your Home Assistant installation.

![Success](images/success.png)
![Success](https://raw.githubusercontent.com/jontofront/ecoNET-300-Home-Assistant-Integration/master/images/success.png)

</details>
<br>

## Entities
### Sensors
- Fan power (fanPower)
- Feeder temperature (tempFeeder)
- Exhaust (tempFlueGas)
- Fireplace temperature (tempCO)
- Fireplace set temperature (tempCOSet)
- Feeder temperature (tempFeeder)
- Water back temperature (tempBack)
- Water temperature (tempCWU)
- Outside temperature (tempExternalSensor)
- Fuel level (fuelLevel)
- Mixer 1 set temperature (mixerSetTemp1)
- Oxygen set level (lambdaSet)
- Oxygen level (lambdaLevel)

### Binary sensors
- Water pump (pumpCWUWorks)
- Fireplace pump (pumpFireplaceWorks)
- Circulation pump (pumpCirculationWorks)
- Solar pump (pumpSolarWorks)
- Fireplace pump (pumpCOWorks)
- Lighter (lighterWorks)
- Fan (fanWorks)
- Feeder (fanWorks)

These sensors are retrieved from the `../econet/regParams` endpoint. Below is the list of available entity keys and their descriptions:

| sensor Key | Description |
|----------------------|------------------------------------------|
| `tempFeeder` | Temperature of the feeder mechanism |
| `fuelLevel` | Current fuel level in the system |
| `tempCO` | Current fireplace temperature |
| `tempCOSet` | Desired fireplace set temperature |
| `statusCWU` | Status of the hot water (CWU) system |
| `tempCWUSet` | Desired hot water (CWU) temperature |
| `tempFlueGas` | Exhaust temperature reading |
| `mode` | Current operational mode of the device |
| `fanPower` | Current fan power usage |
| `thermostat` | Thermostat status or set temperature |
| `tempExternalSensor` | Outside (external) temperature |


### Binary Sensors

These binary sensors are retrieved from the `../econet/regParams` endpoint. Below is the list of available entity keys and their descriptions:
| Entity Key | Description |
|----------------------|---------------------------------------------|
| `lighter` | Indicates if the lighter is active |
| `pumpCOWorks` | Indicates if the fireplace pump is working |
| `fanWorks` | Indicates if the fan is currently active |
| `pumpFireplaceWorks` | Indicates if the fireplace pump is working |
| `pumpCWUWorks` | Indicates if the hot water (CWU) pump is active |


## Contributing

This is HA integration open-source project. We are always open to people who want to use the code or contribute to it.
We welcome contributions to improve the ecoNET300 integration! Please follow these steps to ensure your contributions align with Home Assistant's development guidelines:

1. Familiarize yourself with the [Home Assistant Contribution Guidelines](https://developers.home-assistant.io/docs/development_submitting/).
2. Fork this repository and create a new branch for your changes.
3. Write code that follows Home Assistant's [Coding Standards](https://developers.home-assistant.io/docs/development_guidelines/).
4. Update documentation to reflect any changes or new functionality.
5. Open a pull request with a clear description of your changes and reference any related issues.

### Contributors
Many thanks to @denpamusic for his help and pointing me in the right direction
Thank you for contributing to the Home Assistant community!

**Acknowledgments:**
- [@pblxpt](https://github.com/pblxpt) for the original integration code.
- [@denpamusic](https://github.com/denpamusic) for guidance.
<a href="https://github.com/jontofront/ecoNET-300-Home-Assistant-Integration/graphs/contributors">
<img src="https://contrib.rocks/image?repo=jontofront/ecoNET-300-Home-Assistant-Integration" />
</a>

---
## DISCLAIMER
**I AM NOT RESPONSIBLE FOR ANY USE OR DAMAGE THIS SOFTWARE MAY CAUSE. THIS IS INTENDED FOR EDUCATIONAL PURPOSES ONLY. USE AT YOUR OWN RISK.**

## Disclaimer

**Use at your own risk.**
This software is provided as-is, for educational purposes. The authors and contributors hold no responsibility for any harm, data loss, or damage caused by using this integration.
2 changes: 2 additions & 0 deletions custom_components/econet300/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@
"tempLowerBuffer": 1,
"tempCWU": 1,
"tempFlueGas": 1,
"fanPower": 0,
}

ENTITY_ICON = {
Expand Down Expand Up @@ -321,6 +322,7 @@
"status_wifi": lambda x: "Connected" if x == 1 else "Disconnected",
"main_server": lambda x: "Server available" if x == 1 else "Server not available",
"statusCWU": lambda x: "Not set" if x == NO_CWU_TEMP_SET_STATUS_CODE else "Set",
"thermostat": lambda x: "ON" if x == 1 else "OFF",
}


Expand Down
3 changes: 1 addition & 2 deletions custom_components/econet300/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"domain": "econet300",
"name": "ecoNET300",
"codeowners": [
"@pblxptr",
"@jontofront"
],
"config_flow": true,
Expand All @@ -13,6 +12,6 @@
"issue_tracker": "https://github.com/jontofront/ecoNET-300-Home-Assistant-Integration/issues",
"requirements": [],
"ssdp": [],
"version": "v1.0.5",
"version": "v1.0.6",
"zeroconf": []
}
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[tool.poetry]
name = "ecoNET-300-Home-Assistant-Integration"
version = "v1.0.4"
version = "v1.0.5"
description = "ecoNET300 Home Assistant integration"
authors = ["Jon <jontofront@gmail.com>"]
readme = "README.md"
Expand Down

0 comments on commit a98be07

Please sign in to comment.