Coder Social home page Coder Social logo

homekidd / esp8266-homekit-air-quality-sensor-elgato-eve-room Goto Github PK

View Code? Open in Web Editor NEW
69.0 8.0 8.0 5.46 MB

ESP8266 based  Homekit Indoor Air Quality sensor that acts like Eve Room🌱

homekit-accessory-protocol hap accessory apple homekit esp-homekit esp8266-homekit homebridge hap-nodejs esp-homekit-demo

esp8266-homekit-air-quality-sensor-elgato-eve-room's Introduction

ESP8266 based  HomeKit Air Quality Sensor

ESP8266 based  HomeKit Air Quality Sensor using SHT3X for temperature and humidity measuring and AMS IAQ Core C for Co2 and VOC measureing.


Instagram URL FaceBook URL YouTube URL

GitHub All Releases GitHub tag (latest by date) Donate

For Usage please read the Build Instructions Wiki page!

This HomeKit enabled sensor works the same as Elgato EVE Room!

Basic information

Features:

  • Indoor Air Quality Index
  • Indoor CO2
  • Indoor VOC density
  • Indoor Temperature and Humidity measuring
  • Sensor Fault detection
  • Support for SSD1306 OLED screen
  • Switching Temperature Display Units between Celsius and Fahrenheit
  • Downloadable User Manual (via Eve app)
  • Reset button
  • Data history (not reliable enough, so its beta)

If you don't want to use OLED screen and SHT3X, please install the latest 1.x.x release!

This project is based on ESP8266 modul, a cheap SHT3X temperature/humidity sensor, a CO2 and VOC sensor and SS1306 I2C bus OLED Screen that can be found on AliExpress! The sensor is the same that Elgato EVE Room has for indoor air quality monitoring!



Demo:







This project uses the Apple HomeKit accessory server library ESP-HomeKit from @MaximKulkin for ESP-OPEN-RTOS.

Although already forbidden by the sources and subsequent licensing, it is not allowed to use or distribute this software for a commercial purpose.

HomeKit Accessory Protocol (HAP) is Apple’s proprietary protocol that enables third-party accessories in the home (e.g., lights, thermostats and door locks) and Apple products to communicate with each other. HAP supports two transports, IP and Bluetooth LE. The information provided in the HomeKit Accessory Protocol Specification (Non-Commercial Version) describes how to implement HAP in an accessory that you create for non-commercial use and that will not be distributed or sold.
The HomeKit Accessory Protocol Specification (Non-Commercial Version) can be downloaded from the HomeKit Apple Developer page.
Copyright © 2019 Apple Inc. All rights reserved.

esp8266-homekit-air-quality-sensor-elgato-eve-room's People

Contributors

homekidd avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp8266-homekit-air-quality-sensor-elgato-eve-room's Issues

Firmware Version

I am having a bit of trouble connecting the display to the sensor. After closer inspection, Homekit reports that the firmware version is 1.0.3. Are the links to the bin files the latest version? Is there also a way to access older bin files (can't seem to find them in the compressed folders)? Thanks!

About PCB

What are the specifications of the capacitors and resistors on the PCB?

Serial | USB TTL adapter

Hi,
how did you connect your USB TTL adapter to the serial of the 2.x.x PCB as there are only 4 out of 8 pins? I guessed you used jumper cables, however what ports should I connect to each other?
Best regards Jonas

Powering PCB other than micro USB

EDIT: Solved with hotglue

Hi @HomeKidd, third time is a charm.
I finally got the third PCB up and running and even got it added to HomeKit. Sadly it only worked about 1 minute. Every time the PCB is moved (very minor like trying to triple press the button to change the display type), the power cuts out. So I guessed: The micro USB port is lose. I checked again and as far as I can tell the two small pins are still connected. Still if I attach a cable and put slowly pressure on it (like pushing up or down; it actually doesn't matter) the blue LED from the ESP lights up for a very short time and the usual high pitch tone starts for a very short time and stops right away. I can not find a cable position where it is powered for a constant time like it did for the first minute.

So you told me the two "holes" near the USB port are like a backup power supply. Can you guide me on how to use that? As I have no idea on how to fix the USB port problem (still I'm going to try a fourth time, but I'm lacking an idea what's wrong with my soldering on this). Or do you have an idea what might be the problem with my soldering here?

Best regards
Jonas

Дисплей

Как сделать чтоб дисплей показывал постоянно, не затухал через некоторое время???

Only working with all sensors and display installed?

I installed version 2.1.1 on a D1 mini with a SHT3x and no other components connected.
In HomeKit, the Temperatur and Humidity values are both 0.
Is this correct, does it work only if the display and other sensors are installed or should it work with SHT3x only also?
Would be great to know if something is wrong with my setup before I spent money for the missing parts.

Can you post some pictures of the PCB after you put all the pieces on the board?

Hi, thanks for your recent help.
This is the first projekt of this kind for me. Could you please post some pictures of the stocked PCB? I'm not sure if I understand everything right and would like to check. I'm trying to replicate the version including the OLED display.

Further, why did you change the DHT22 sensor to the SHT31 sensor? Is the quality better?

Thank you so much in advance
Jonas

support

Thanks for this project. Does it support cheap air sensors now?

Used 5V adapter instead 3,3V. Do you know if only the ESP is destroyed?

Hi,

EDIT:

I just found a datasheet for the adapter I used and it provides 5V instead of 3,3V.

So I guess I fried something. Do you know if I only need to change the ESP or could this affect more?

ORIGINAL:

I Assembled the PCB as you described it. I tried to flash it, however it just starts to "sync" and nothing else happens. Should this take seconds or several minutes?

image
image
image

Or is something wrong configured? I thought I matched your specs.

How I set the ESP into boot loader mode: 1. connect the micro usb for power 2. Press and hold button 3. Connect usb of the adapter 4. Release button 5. Press "start" of the download tool

Thank you so much for your help!
Jonas

How to show the AirQuality stars?

Which characteristics must be provided to show the new star-rating air quality in Eve instead of the text „Excellent“ „Good“,... (like in the 2015 Version?)?

3D printable case

Hi,

anything new with the 3D printable case?
Should I wait for you to finish the case, or should I try to cut something out of cardboard? :)

Thanks!

J.

2.1.0 not working when 2.0.2 is

Szia!
köszönöm szepen for this awesome project!
I can't get 2.1.0 to work, serial output is just gibberish. 2.0.2 is working fine though!
However my understanding was, that pressing the button on the pcb would activate the display, but it resets completly (at least at 2.0.2)?

Thank you for your help!

2.10 and 2.11 detect Hardware revision 1.0.0 instead of 2.0.0 for new USB-C PCB | Display failed too

Hi @HomeKidd

I am using the new USB-C PCB and got a similar issue as #16 with both 2.10 and 2.11.

  1. The display never works like described in #16. I am able to change the display type. But serial output states Hardware Revision 1.0.0? Also !!! HomeKid ! ERROR display_init: failed to init SSD1306 screen even when it's set up to SH1106 This goes on in a constant loop!
  2. Some timer doesn't work
  3. There is no sensor data pushed. Even in serial. HomeKit shows data (aka no data) as pictures show in #16
  4. One push (to supposedly wake up the display) reconnects the Wi-Fi. I'm not sure if this is a bug or just the way you set up the serial output.

What bugs me: I had (apart from unreliable power) a working Micro USB model with 2.10. The exact same software causes these malfunctions in the new PCB for me. However, @wachl uses the old version and has these malfunctions, but mine model worked with 2.10. I cannot wrap my head around that.

Thank you, @HomeKidd, for your work nevertheless!!

Here is a part of my serial output:

14:00:56.446 ->   AirQuality Sensor's Firmware Version: 2.1.0, for Harware Revision 1.0.0, Display is SH1106.
14:00:56.492 -> 
14:00:56.492 -> >>> wifi_config: Initializing WiFi config
14:00:56.492 -> >>> wifi_config: Connecting to MeinWLAN
14:00:56.585 -> mode : sta(e8:db:84:e4:dc:bc)
14:00:56.585 -> add if0
14:00:56.723 -> scandone
14:00:58.958 -> reconnect
14:00:59.100 -> scandone
14:01:00.361 -> add 0
14:01:00.361 -> aid 6
14:01:00.361 -> cnt 
14:01:00.456 -> 
14:01:00.456 -> connected with MeinWLAN, channel 11
14:01:00.456 -> dhcp client start...
14:01:01.436 -> ip:192.168.178.44,mask:255.255.255.0,gw:192.168.178.1
14:01:06.582 -> >>> wifi_config: Connected to WiFi network
14:01:06.722 -> Connected to WiFi
14:01:06.722 -> HomeKid > Starting HomeKit Server
14:01:06.722 -> >>> HomeKit: Starting server
14:01:06.722 -> >>> HomeKit: Using existing accessory ID: 0B:FC:FA:B9:E5:A5
14:01:06.722 -> >>> HomeKit: Found admin pairing with 7D133A8E-67EC-4967-B0DB-62537690E51A, disabling pair setup
14:01:06.768 -> >>> HomeKit: Configuring mDNS
14:01:06.768 -> mDNS announcement: Name=AirMonitor-E4DCB �md= AirQuality Sensor�pv=1.0�id=0B:FC:FA:B9:E5:A5�c#=8256�s#=1�ff=0�sf=0�ci=10�sh=sIt4gA== Port=5556 TTL=4500
14:01:08.728 -> !!! HomeKid ! ERROR display_init: failed to init SSD1306 screen
14:01:09.804 -> Timer Stop Failed
14:01:10.271 -> Timer Start Failed
14:01:10.786 -> Timer Stop Failed
14:01:11.301 -> Timer Start Failed
14:01:11.810 -> Timer Stop Failed
14:01:12.280 -> Timer Start Failed
14:01:12.422 -> 
14:01:12.422 ->  ets Jan  8 2013,rst cause:2, boot mode:(3,6)
14:01:12.422 -> 
14:01:12.422 -> load 0x40100000, len 2292, room 16 
14:01:12.422 -> tail 4
14:01:12.422 -> chksum 0x57
14:01:12.466 -> load 0x3ffe8000, len 772, room 4 
14:01:12.466 -> tail 0
14:01:12.466 -> chksum 0x0b
14:01:12.466 -> csum 0x0b
14:01:12.466 -> 
14:01:12.466 -> rBoot v1.4.0 - [email protected]
14:01:12.466 -> Flash Size:   32 Mbit
14:01:12.466 -> Flash Mode:   DIO
14:01:12.466 -> Flash Speed:  40 MHz
14:01:12.466 -> rBoot Option: Big flash
14:01:12.466 -> rBoot Option: RTC data
14:01:12.466 -> 
14:01:12.466 -> Booting rom 0.
14:01:12.700 -> pp_task_hdl : 3fff1310, prio:14, stack:512
14:01:12.700 -> pm_task_hdl : 3fff0c00, prio:1, stack:176
14:01:12.700 -> frc2_timer_task_hdl:0x3fff5790, prio:12, stack:200
14:01:12.700 -> 
14:01:12.700 -> ESP-Open-SDK ver: 0.0.1 compiled @ Nov 20 2020 12:10:06
14:01:12.747 -> phy ver: 273, pp ver: 8.3
14:01:12.747 -> 
14:01:12.747 -> HomeKid > Loading saved states
14:01:12.747 -> 
14:01:12.747 -> HomeKid > Hardware Revision v1.0.0 found

Source Code available?

Hello,
first of all thank you for this interesting IOT-sensor design!

I would like, to use another, cheaper sensor like the MQ135.
Is it possible, that you upload the sources in order to code for my purposes?

IR Remote V1.3.1

SZia,
Sajnos a IR Remote V1.3.1 vezérlőhöz nem találok beültetési rajzot, vásároltam pár darabot a pcbway-ről.
Segítenél?
Előre is köszönöm!

After one use, doesn't work anymore plus screen not showing anything

Jó reggelt!
First of all, thanks for your work. I love your ideas and resolution.

I ordered a couple of iAQ sensors and also two STH3x to try out this development.
I've tried in two Wemos D1 mini and in a NodeMCU with same result.
I flash through esptool console in MacOS.
I've changed also sensors, screen and as I said, main boards.
I've also checked resistors and wiring.

At first connection it works, I can set it up, join my wifi network and include it into my Home app but it shows "Error 1".
Anyhow it measures air quality and CO amount. However nothing is ever shown in the 0.96" SDD1306 screen and it always shows 23º and 50% air moisture.
I've exhaled in the iAQ sensor and it really works but nothing changes temperature not air moisture.

But when I disconnect power from the build and I reconnect it back, it doesn't work anymore. The Home app sees it but it is not showing any measure no matter the sensor (the screen continues black) and the "error 1" keep showing.

Any hint on what is going on?
Köszönöm

MH-Z19B and BME280

Hello,

Would be nice if this would also would work with a MH-Z19B CO2 sensor & BME280.
Please put the display and BME280 on SDA on GPIO-12 (D6) & SCL on GPIO-13 (D7)
For the MH-Z19 TX on GPIO-4 (D2) & RX on GPIO-5 (D1)

Is that possible?

Thank you!

Awesome

This is a awesome project!

PCB V2.XX

Hello!
Your work is excellent! I like very much.
I wanted to check with you on 2. XX PCB. Will there be a new firmware for this version of the board?

VOC density as value?

Hi, is it possible to see the VOC density as a value like ppb in the eve or home app? Additionally to the five stars as indicators for Air Quality.
Great work!

Best regards
Jonas

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.