olefriis/Eco2

Support Linux

Closed this issue ยท 7 comments

The code has been structured so that MacOS-specific code and dependencies are isolated in the Eco2MacOS project. The rest of the solution is platform-agnostic. In the Eco2MacOS project, a Bluetooth API (defined in the Eco2BluetoothApi project) is implemented. It should be relatively easy to implement this Bluetooth API for Linux as well.

Hey!

First of all: nice work!

Do you know about an easy to use API in C# on Linux for accessing BLE?

I found https://github.com/brookpatten/Mono.BlueZ but it appears to be a pain to set it up and unnecessarily complex at all.

I am interested in accessing the thermostat on a Debian based Raspberry Pi (so, yeah, Linux ;-) ), but finally, I'll be using Python as I am intending to use it with Home Assistant.

I thought it may be a good idea to first use it along with your C# implementation but the BLE thing makes me worrying whether its a better idea to directly use/port it to Python.

What are your thoughts on this? :-)

@CodeFinder2 I just stumbled upon https://github.com/AdamStrojek/etrv2mqtt - maybe that is useful for you :)

Hi, and thanks for your interest in this project!

I do not have any experience doing Bluetooth LE on Linux, neither through Mono or other means. That's the main reason I tagged this issue with "help wanted" ๐Ÿ˜„

It is true that the readme for Mono.BlueZ mentions some fiddling required, but as far as I can see this is in order to build a "bleeding-edge" version of Mono with this patch: mono/mono#2097. Since this patch has been merged into Mono more than 3 years ago, I suspect no more fiddling is required.

One of my end goals of this project is to set up some kind of Eco2 hub on a Raspberry Pi, so if nobody else picks up this issue, I'll do it myself at some point. But I totally understand if you don't want to wait for that, as I've no idea when that will happen.

In any case, feel free to take whatever code you like in this repository and re-implement it in Python or whatever you see fit, as another goal of this project is to build a kind of "reference implementation" for the Eco2 protocol to enable other projects to implement Eco2 support.

@olefriis Hi, I code Java implementation ๐Ÿ˜„

@tommyNy Awesome! Do you have a link? I'd love to put a reference in the main readme of this repo.

@olefriis not yet. Implementation in progress.

@tommyNy did I beat you to it? ๐Ÿ˜‰ https://github.com/olefriis/Eco2-rust

Anyhow, I'll close this issue, since at least for me, the way forward is to put effort into the Rust version of this tool.