Code Monkey home page Code Monkey logo

kegmon's Introduction

download release issues pr dev_build doc_build

KegMon - Monitoring the volume in your kegs

KegMon Logo

This is a project that I have done for my own Keezer, if you like it please feel free to suggest improvements.

For docs see: https://mp-se.github.io/kegmon/index.html

Hardware

  • Supports ESP8266 D1 mini, ESP32s2 mini or ESP32s3 mini
  • Loadcells and HX711/NAU7802 ADC converters
  • DS18B20, DHT22, BME280 or BrewPI(IP) temperature sensors
  • OLED 0.96" or LCD 20x4/20x2 displays

Features

  • Can measure weight from 1 or 2 scales
  • Stable scale presentation (data is filtered and processed)
  • Support temperature/humidity sensor in one scale base
  • Integration with Brewfather to retrive data on brew
  • Integration with Brewspy to retrive data on brew and also update the remaning volume and pours
  • Integration with Home Assistant
  • Weights and Volumes in Metric, Imperial (both US and UK)
  • Pour detection for pours over 100 ml
  • Estimation on how many glasses remain in the kegs
  • Firmware update via UI
  • One build for all hardware options
  • Modern HTML5 UI
  • Easy scale calibration
  • 3D models and PCB

kegmon's People

Contributors

mp-se avatar profawk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kegmon's Issues

DHT22 sensor not working with ESP32S2

The DHT22 sensor is not detected when using an ESP32S2 board. Works fine on ESP8266.

Adding pull-up resistor does not help. Connecting the DHT22 power directly to +3.3V works but if the sensor stops working then you need to power on/off the device.

For the ESP32S2 I currently recommend to use the DS18B20 sensor instead.

TempSensorBase has no virtual destructor, causing memory leak of no temperature sensor connected

Thanks for KegMon is a great project, I have been modifying to add support for 3 and 4 Scales.

temp_base.hpp is missing a virtual destructor, therefore TempSensorDS and TempSensorDHT are not getting their destructors called on the std::unique_ptr reset in TempSensorManager::setup()
This causes about a 100-byte memory leak for TempSensorDS per attempted setup cycle if no temperature sensor is connected.

My work in progress fork with my 3/4 scales changes are here: https://github.com/caswal/kegmon/tree/4_Scale

In short, I added a scale_count = x to [common_env_data] in platform.io

This enables various #if CFG_SCALECOUNT > 2 etc macros to enable more scale logic.
It also uses scale_count with a python script to then move different htm files from the sub 2/3/4 folders to /html and minimize them.

I don't have any displays yet, so haven't done anything in regards to that, annoyingly on my custom PCB's, the community OLED 0.96" Component I used, had the VCC and GND Nets swapped on the footprint. So need to get some new ones made.

Add possibility to support larger OLED displays

Would be nice to use larger OLED displays but these do not support changing address.

Add the possibility to support an i2c multiplexer to allow for multiple devices with the same address, this will require a hardware design change but will make the project more future proof.

The current hardware design will need to be supported as well.

ESP32 upgrade?

I've successfully built one from this project with a different solution of scale bases. Incredible stable, even with v0.5.0b7 installed. Deviations are just 0.06 and 0.04%.
ESP8266 web interface is a bit slow though. I'd love to see an ESP32 variant, for instance based on ESP32-S2.
As I built the case unit as plug-in modules on a 60x80 experiment PCB (#90664) from Kjell&Co, it's really easy to replace the ESP8266. The whole unit fits snugly into a 120x70x35 case (#89026) from Kjell&Co.
DSC_1678

DSC_1683

HA MQTT integration unstable?

v0.5.0b7 is installed, and I have tested the Home Assistant MQTT integration.
Does not seem to be very useful at the moment. Just a few telegrams after a reboot.
I have tested running tcpdump on the HA/Mosquitto Pi. Nothing coming from Kegmon.

Apart from that: Many thanks for yet another useful project you have made!

Cheers
Lars

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.