Coder Social home page Coder Social logo

maccoylton / homekit_wifi_thermostat Goto Github PK

View Code? Open in Web Editor NEW
16.0 5.0 9.0 72 KB

A thermostat for controlling central heating - on and off trigger switching the heating on and off via events in the home app to a switch accessory

License: Apache License 2.0

Makefile 4.39% C 95.61%
homekit thermostat esp8266

homekit_wifi_thermostat's Introduction

GitHub All Releases GitHub Releases

homekit_wifi_thermostat

A thermostat accessory for remotely controlling central heating. This provides a thermostat accessory, You also need a swith accessory and to set up event trigers in the Eve app to make the connection between the thermostat and the switch, hence it's called wifi thermostat as the connection between the thermostat accessory and your central heating device is wireless.

It uses a DH22 to sense the temperature and sets the current_heating_cooling_status based on the other settings of the accessory. It sends events as the value changes, which can then be actioned by triggers using the Eve app.

For example when the thermostat sets the current_heating_cooling_status to heat/off, use Eve to trigger the switch accesory to on/off respectively. You can also set timer based events in Eve to control the target_heating_cooling_status, in other words you can create a program of when you want the heating to go on or off.

Now updated to include a screen (SSD1306 OLED) and buttons to adjust up and down the target temperature.

The screen will illuminate during the inital setup and on power up. And then wil go dark afetr aproxiamtely 10 seconds, it will come on when you press the up or down button and then go off again approxiamtely 10 seconds afetr the last button press.

GPIO used are as follows:-

4 - DH22

12 - Temperature Up (button connect to ground)

13 - Temperature Down (button conected to ground)

0 - Reset (switch connected to ground)

2 - LED

14 - SSD1306 SCL_PIN

5 - SSD1306 SDA_PIN

homekit_wifi_thermostat's People

Contributors

maccoylton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

homekit_wifi_thermostat's Issues

DHT11

Hi!
Is this firmware works with the DHT11 module and the sonoff basic modified with dry concact?
Thanks!

Homekit does not see the device when adding

Something happened after update 0.6.0. If I am flashing a new device, the device is not located in the Home app. If I install version 0.5.0, add the device to the house, after that I update it to version 0.6.0, then the firmware is installed and everything works, but if I remove the device from the house, then again it is impossible to add it with version 0.6.0. To check this, I downloaded both files and added one by one to my modeling repository. The same with the files that I compiled at home, I can update the firmware with my file, but I can not connect my compiled file from the latest version of the repository to the homekit.

Humidity sensor

Hi,

I don't have ssd1306 yet. Thus, I can't try the code because it gives a screen init error at the initiation.

Does it have a separated humidity sensor as I shown below?

Ekran Resmi 2021-03-21 15 26 36

A few issues

Hi @maccoylton

I would like to share some issues with you that I found.

  • Your wiki instruction is old.
  • When the device cooling mode and force to cool, it writes on-screen "OFF", (need to write "COOL")
  • Even though the temperature has an integer value, for example, 5, 10, 20, on-screen it says 5.5, 10.5, 20.5. Fraction value stays always even if It was written before. (Try you will see what I am meaning)

Requests:

  • Screen UI design is not good. Maybe it can be improved a little bit.
  • According to your UI design on the home app, sorting of OFF-COOL-HEAT-AUTO looks downward like picture 1. It is not useful for especially iPhone users. Picture 2 is more useful. Please try it, and you will see.
  • I suggested that before, you didn't like it. But I almost never use the EVE app and after started to use your thermostat, I always look for the humidity of the room on the main page. Everything is here, just add a new humidity accessory and share the humidity data with them.

Picture1:

IMG_3243

Picture2:
IMG_3244

Temperature pooling time

Hi,

Temperature pooling time is too long. Could you decrease it to 5000? (5sec)

TEMPERATURE_POLL_PERIOD 30000 -> TEMPERATURE_POLL_PERIOD 5000

restarts problem

With what esp you use this code?
My esp will restart if the display is connected.

ds18b20

can you add ds18b20 sensor?

Version and name

Do you know why these parameters are no longer displayed and how do I fix this?

CF77E4F8-CACC-4265-A7DD-173B92D88517

use a Rotary Encoder KY-040 for up/down temperature

I tried a Rotary Encoder KY-040 for change up and down temperature witha rotation to right or to left. If Rotary Encoder KY-040 pushed change from off to heat. I don't know if some parte of code must be changed, because Rotary Encoder KY-040 is not perfect and sometimes loss some pulse. What do you think?

build firmware

How to build the firmware and what platform to use? esp-if or esp-open-sdk or arduino?

Can you tell me how to build it? ?

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.