Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor brew detection and brew handling #512

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

LoQue90
Copy link
Member

@LoQue90 LoQue90 commented Sep 8, 2024

This PR removed the Brew detection in total
-> SW Brewdetection is gone (wasn´t really accurately)
-> Removed Quickmill/Thermoblock steam mode detection (was broken)
-> Removed kShotTimerAfterBrew and kBrewdetectionTrailing
-> Removed lastTimeBrewed
-> Backflush isn´t possible anymore if mashine is in steam mode

Adding:
Detection for brew works in total over Brewswitch input
Brewswitch Pin could be used for a switch or a optocoupler
removed brewOn from checkbrewswitch() to brew() -> this triggers all brew related stuff (eg kBrew)
new brew timer for "pid+" (optocoupler)
showing brew time and shottimer based on kBrew
SHOTTIMERDISPLAYDELAY is now directly in the display templates
manual flush in own function and mashine state
manual flush triggers resetStandbyTime and can end standbyMode
add manual flush to display templates
FEATURE_BREWCONTROL is now set on the website
moved all brew or backflush related stuff into brewHandler.h
moved Display related settings onto website
rework shot timer in scale display template

to discuss:
Flush Timer configurable and seperated from shottimer?
show heating logo if steam temp isn´t reached?
show sections on website only if needed
add pressure to shot timer?

@LoQue90 LoQue90 added the enhancement New feature or request label Sep 8, 2024
@LoQue90 LoQue90 self-assigned this Sep 8, 2024
@LoQue90 LoQue90 removed the request for review from murmeltier08 September 8, 2024 00:43
@LoQue90 LoQue90 force-pushed the rm-brewdetection branch 2 times, most recently from 6137f3d to 91d1f46 Compare September 24, 2024 00:09
@LoQue90 LoQue90 changed the title Remove Brew detection/optocoupler/quickmill steam mode WIP: Remove Brew detection/optocoupler/quickmill steam mode Sep 29, 2024
@LoQue90 LoQue90 force-pushed the rm-brewdetection branch 2 times, most recently from cca508b to c6db26a Compare October 9, 2024 22:44
@LoQue90
Copy link
Member Author

LoQue90 commented Oct 9, 2024

any thoughs about giving the manualFlush his own mashine State @kjyv @fiendie
kmanualFlush = 31
there are some points where we check if the mashine is currently flushing
reset of standytime is currently done in void manualFlush() instead of doing it in the mashine state like for brew/steam/hotwater etc
and during manualFlush, nothing else should be done

@LoQue90 LoQue90 force-pushed the rm-brewdetection branch 15 times, most recently from 4af1bf3 to a2afe2b Compare October 14, 2024 16:18
@LoQue90 LoQue90 force-pushed the rm-brewdetection branch 3 times, most recently from 4475993 to db7e1d8 Compare October 18, 2024 23:55
@LoQue90 LoQue90 changed the title WIP: Remove Brew detection/optocoupler/quickmill steam mode Refactor brew detection and handling Oct 19, 2024
@LoQue90 LoQue90 changed the title Refactor brew detection and handling Refactor brew detection and brew handling Oct 19, 2024
remove brewdetection
works only with brewcontrol
rename isbrewdetected to brewOn
adds brewtimer without controlling pump/valve
remove more SW brew detection stuff
rename brewtimesoftware to brewPidTime to clarify its function
fix debug log output for disable PID while brew is running
clang formated
remove brew PID time (former Brew SW Time) because it isn´t used anymore after removing sw brew detection
now with brewControl 0 mashine goes to kBrew when a brew is running
SHOTTIMERDISPLAYDELAY is now broken, needs to be reworked
if brew is finished, by target or by hand, lastBrewTimeMillis is set from brewtimer() or brew()
displayshottimer() uses lastBrewTimeMillis to show as long as SHOTTIMERDISPLAYDELAY is
same is for standard, minimal template
upright and rotate upright is still broken
remove lastBrewTime
store brew time always in timeBrewed and only reset timeBrewed on the a new brew
brew time in all templates will only be shown when brew is running
add timeBrewed to MQTT
take manual flush out of checkbrewswitch
manual flush with own mashineState kManualFlush
manual flush reset standby time and ends standby
remove any brew stuff out of checkbrewswitch()
rename brewState and brewswitchstate
add manualFlush to display templates and shottimer
clean up and less states for brew() and backflush()
removed brewOn and used bool brew()
removed manualFlushOn and used bool manualFlush()
move all backflush related stuff into brewHandler
fix includes for brewHandler.h
backflush() is now only called if mashineState is kBackflush
if mashine is in kBackflush brewswitch controls backflush and it is not possible to start a brew
removed boolean, use bool

moved PID and Heater disable into mashine state kBachflush
disable PID for backflush with global PID ON/OFF
adding case kInteger to assignMQTTParam() so backflushCycles could be changed thru MQTT
if mashine is in any other state then kPidNormal, it should not be possible to switch to states like kBrew, kManualFlush, kBackflush, etc.
FEATURE_SHOT_TIMER
SHOT_TIMER_DISPLAY_DELAY
FEATURE_HEATING_LOGO
FEATURE_PID_OFF_LOGO

bump ESPAsyncWebServer:
another change in release structure -> new version -> broke build check
cleanup in main.cpp
adding translations
rename some scale vars to be more precice
do not  show weight in full screen shot timer during manual flush
add weightBrewed to MQTT sensors and HA auto discovery
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

1 participant