maibornwolff / clean-air Goto Github PK
View Code? Open in Web Editor NEWFirmware and hardware construction plans for the MaibornWolff Clean Air device
License: MIT License
Firmware and hardware construction plans for the MaibornWolff Clean Air device
License: MIT License
I am not 100% sure yet, but i think i am not able to control fans from a different type of brand. I'll be investigating this
Is your feature request related to a problem? Please describe.
I want to have one single method to save data in the NVS. By now we have two methods: Preferences file and SPIFFS
Describe the solution you'd like
I want to save data wether in Preferences OR in SPIFFS.
Describe alternatives you've considered
none
Additional context
none
Store the last set fanspeed if not chancen after ~5sec? And restore speed after boot
Low-Voltage part (Arduino, knob, fans, sensors, ...)
High-Voltage Part (Power supply, lamps, ...)
We would to control the device via network control.
For the current iteration of devices it is only possible to control the fans. In further iterations there may be some sort of relays to even control the lamps or to act as a circuit breaker.
Is your feature request related to a problem? Please describe.
As a clean air device user I want to have a visual feedback of the status of the device.
Describe the solution you'd like
I like to have leds showing the various stati: Booting, Updating, Error, Normal Operation, Maintenance needed, ...
I propose to use a NeoPixel Led Stick which is highly configureable in terms of color and only needs one GPIO pin.
As a clean air developer I want to have a pipeline that builds my firmware
Is your feature request related to a problem? Please describe.
As a clean air developer I want a github release created when a certain tag is created.
Describe the solution you'd like
Whenever a tag is created which matches ^v*
(e.g. v1.0.0) a release should be created and the firmware build file should be attached to it.
This is possibly due to the aux fan and the main fan using the same channel in the code.
Is your feature request related to a problem? Please describe.
As a clean air user I want have a structured documentation section so I can build the software and the hardware
Describe the bug
Firmware build is triggered every time a PR and/or a merge to main is done.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The firmware build should only be triggered if the firmware changes
Is your feature request related to a problem? Please describe.
As a clean air contributer I want to work in a more collaborative way with other contributers using Slack. Open the currently closed clean air slack and post the information in the documentation section and/or the main README.
Currently we are not tracking the devices uptime.
Smarthome control e.g. alexa. Reference to where this is also beeing used: https://github.com/Aircoookie/WLED
For users which will use the device it is not very useful to have the device running 24/7 so we should add the possibilty to turn the device off.
Observed the following:
Currently, the check for available updates runs rather blindly. If the versions differ, it pulls the bin of the latest release from the server and flashes it onto the device. This also happens with the firmware used during development.
We should add something that prevents updating the dev firmware with a release. Otherwise we won't be able to test our changes.
As a clean air developer I want to use the RPM signal from the fans to measure the speed of the fans.
Currently 4 fans are used so we get 4 pins with RPM signals. The speed should be measured constantly and should be available as variable (struct) for further processing.
Describe the bug
Firmware fails to compile due to littlefs library error.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Build firmware without error.
Screenshots
Compiling .pio/build/esp32/libba2/LittleFS_esp32/lfs.c.o
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c: In function 'esp_vfs_littlefs_register':
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:9: error: unknown field 'utime_p' specified in initializer
.utime_p = &vfs_littlefs_utime,
^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:24: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.utime_p = &vfs_littlefs_utime,
^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:208:24: note: (near initialization for 'vfs.<anonymous>.access_p')
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:179:27: warning: missing braces around initializer [-Wmissing-braces]
const esp_vfs_t vfs = {
^
.pio/libdeps/esp32/LittleFS_esp32/src/esp_littlefs.c:179:27: note: (near initialization for 'vfs')
*** [.pio/build/esp32/libba2/LittleFS_esp32/esp_littlefs.c.o] Error 1
We should add a code of conduct.
8 WS2812b LEDs can be used to display the current status. Some visualization ideas:
-show the current fan speed in 8 steps, only when the user is actually turning the knob plus some seconds after the interaction
-startup animation while booting or searching for wifi, maybe a ping pong animation
-status codes, like orange blinking during wifi setup
What needs to be done:
-setup the LEDs and define start state
-implement one ore more visualizations
Technical information:
On the CleanAirPCB v1, 8 WS2812b LEDs are connected to IO18 and succesfully tested with the Adafruit NeoPixel Library.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
A video series of the assembly could help folks in building it right.
(Should contain a disclaimer for the risks of working with UVC)
Is your feature request related to a problem? Please describe.
The default update URL should point to the github release page and the LATEST firmware
Describe the solution you'd like
In order to update to the latest version the default URL should be the github latest release.
Describe alternatives you've considered
Alternative would be to use an existing Azure Storage Account.
We need to reduce the flash size or adjust the partitions because currently we are using 105% of the flashs size
Add a how to contribute document.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.