Replies: 15 comments 71 replies
-
Excellent! I'm completely ignorant to the cloud side of things so I welcome your expertise here.
That's great! I was kind of surprised at how well that API worked. My plan was to get Home Assistant using it, but I just haven't gotten around to it yet. Home Assistant is a beast to learn in itself.
I've been wanting to do that too so this would be another welcome addition to the project, thanks!
I did take a look at the deb package scripts and they are very cool. I haven't actually used them, but I was wondering if they are any quicker or more reliable to install than the raw scripts. But yeah, it does kind of clash with the updater concept. TBH, if there was a better way to deploy updates from the internet using deb packages I might be game for that too.
Ah yes - I have the same issue with the code to restore the settings files, but it usually works because it's updating the entire settings from the file itself. This a is definitely something I should add to the API, so thanks! Looking forward to the PR. :) Also, I just wanted to continue to say thank you for all that you have contributed to this project from the software to the hardware. It's all been extremely helpful. So thank you again! I feel somewhat ashamed for not having tried the Android App yet, but my work locks down my Android and doesn't let me side-load applications. :( I'm going to have to resurrect an old device to see if I can get it installed. |
Beta Was this translation helpful? Give feedback.
-
I really liked the pills navigation in the setup wizard. It was clean and helped keep the page from being so long. I have been playing with it in the settings page and I think I like it. With all the options being added the page is getting really long. The only downside is the navigation row looks terrible on mobile and makes the tabs row really small so I had to install flask-mobility and check if the device is mobile or a desktop. When mobile it shows the original style |
Beta Was this translation helpful? Give feedback.
-
So I wanted to get your thoughts on this. With the new github updater you can run into issues when updating to a new version or when switching branches if new dependencies were added. You would need to update, it will crash or fail to startup after the reboot/restart and then need to manually install any new dependencies. I figured this out when Flask-Mobility was added and I updated my grill to the latest dev branch. With some inspiration from your install wizard I though it would be cool to have the updater output be live with some feedback and have it install any new dependencies that were added. This approach requires a manifest json file to be updated/maintained which was not my first choice but seemed to work out. There might be a better way with just catching exceptions on start but I could not get it working reliably when it was a major dependency I did not send a pull request for this as it is early and I have not done much testing yet. Here is the commit if you want to take a look whenever you get a chance. |
Beta Was this translation helpful? Give feedback.
-
FYI, I'm messing around with the new Chart.js 3.x in PiFire today. There are some performance improvements and visual improvements over the 2.x version that is currently being used. Considering adding the streaming plugin to get smoother chart animation. Should be fun. I've also been mulling around the idea that I would like to change-up the dashboard gauges. Though I'm not sure what I would change them to. There is a cool project here: https://bernii.github.io/gauge.js/ that looks super simple to integrate. Might consider giving that a whirl at some point. |
Beta Was this translation helpful? Give feedback.
-
FYI: I see that the Raspberry Pi OS is removing the 'pi' default user, which is a good thing for security but may mean that we need to update our installation scripts, etc. (https://www.tomshardware.com/news/raspberry-pi-default-username-removed). Might be a good time to move to the .deb install option instead. I'm going to look into what needs to be changed in the bash install script for now, but I'm thinking of heading that way. |
Beta Was this translation helpful? Give feedback.
-
I just did a fresh install on a spare zero w to verify a few things. I seem to be having issues with flask send_file() with max_age being an invalid argument. It seems it happens on any function that has it. It works fine on my diet-pi dev server but actual hardware it is a no go
|
Beta Was this translation helpful? Give feedback.
-
FYI: I'm thinking of moving to a more regular cadence of merging the development branch to the main branch, and doing releases. Something predictable, like first Sunday of the month, or something like that. I feel like keeping on a regular cadence will force me to make sure I keep the main branch up to date and people are getting the best out of PiFire. Anyway, let me know your thoughts and opinions here. Take care! |
Beta Was this translation helpful? Give feedback.
-
Adding Annotations with v1.3.4-dev! Spent a bit of time today adding annotations to the history graph. It still needs a little bit of refinement, but it seems to be working well. Grab the latest development branch to give it a test out. |
Beta Was this translation helpful? Give feedback.
-
@nebhead Unfortunately I found a bug that was introduced when the dash.js was updated to properly clear the display notifications. Since the grill probe uses setpoints-grill for both the actual hold mode setpoint and the notification, when clearing the notification the grill hold setpoint is also changed to 0. This is not desired behavior and I am not sure what the physical grill will do if it is left that way for a long period. I guess it would kind of just be like smoke mode but with strange auger times. I can think of three ways to fix this but there are probably more.
Maybe I am looking at the blue setpoint wrong. To me they indicate a notification/setpoint since that is how they kind of work with probe 1 and 2. Maybe a better option would be to add something to the display that actually indicates a notification specific to a probe? I know there is the bell that comes up for any notification is that good enough? am I overthinking this? |
Beta Was this translation helpful? Give feedback.
-
@nebhead So I am starting to work on PWM a bit and I will probably have a few questions along the way.
|
Beta Was this translation helpful? Give feedback.
-
@weberbox - Was thinking I would merge the current development branch to main for another release before we do any more significant updates (i.e. your impending changes). Am I OK to do that, or are there any issues with breaking the Android app? |
Beta Was this translation helpful? Give feedback.
-
Using 2 different pids caused a clash when i tested it. The auger
eventually dumped too many pellets snuffing the fire out.
I gave up in the end.
…On Sun, 17 Jul 2022, 01:17 nebhead, ***@***.***> wrote:
FYI - Just pushed a branch called 'feature-pwmfan' for you to use when you
do a pull request in the future.
—
Reply to this email directly, view it on GitHub
<#81 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIZKCHAUSIRLD27KWGTFPLLVULVEDANCNFSM5NUTXGFQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Ok so I submitted a PR for the PWM Feature. It is a lot of changes including a ton that are unrelated to PWM. I should have done a few different PR's with PWM only and others with all the clean up etc. but when I got stumped on a PWM thing I just started working on other files/features so it all ended up in this branch. Unfortunately I have been really busy with work and have not had a lot of time to test everything out. It will need quite a bit of testing since so much changed. I hope I can get back on it soon but I am not sure when that will be yet. I was contemplating just waiting until I could start again but figured I would just send it over so you can play with it if you want. It surely will need some bug fixes as more testing is done. I did a couple cooks on my table top but a few minor things changed since then. I added a PWM control function that will adjust the duty cycle based on grill temp. This will probably need a lot more tweaking. It worked but I think it can do better. I also messed up the commit history when I did a rebase and squashed some commits. I pulled in your annotations and data storage commits but they were squashed into my commits since they were somewhere in the middle of my own. I think it is showing it cannot merge due to conflicts because of this. If you want to separate out pwm and the other changes I would understand and you can reject this PR. I can try to separate them but I cant give a timeline on when that would be. |
Beta Was this translation helpful? Give feedback.
-
I'm thinking it may be time to do another release from the development branch. Things seem stable and working well, so just thought I would throw it out there. @weberbox - Let me know if there are any concerns with respect to the Android app. |
Beta Was this translation helpful? Give feedback.
-
Hey guys, sorry I have been a bit quite for the last year I guess, awesome work from everyone on this project. I was tinkering the other day (making a school boy error, running the latest dev on a live cook and almost ruining wifeys dinner plans..) with the latest dev. I found what might be a bug for me atleast. So when the startup time runs out everything crashes the only way back is to stop and restart control. Otherwise the igniter, fan, auger temps etc will freeze in their last state. Here I believe none of the safety features will work as control is broken. Anyway the problem maybe linked to a new feature for detecting the lid open feature. This is what I managed to capture
|
Beta Was this translation helpful? Give feedback.
-
I plan on submitting a pull request soon with a huge overhaul on the SocketIO side and a change from Firebase to OneSignal notifications. While it still uses Firebase on the Google side OneSignal replaces my simple AWS server instance, adds better security and makes it so I do not need to maintain the AWS instance.
For the SockeIO side I really wanted to slim down the code as it was long and almost a duplicate of the flask side that needed to be changed with most PiFire updates. I took inspiration from your api changes and incorporated it into SocketIO. This way I can just build json payload on the Android app side and send them to PiFire. When a new feature is added I should not need to edit the SocketIO section. There are some functions like deleting keys, restoring data or triggering certain things etc that the api section cannot do so there is still some code that needed to remain.
I also added a setting so the startup timer can be adjusted. Recently with the lower temps I ran across many reignites and adding 1-2 minutes to the startup timer help prevent that.
Anyway to the question. With the new Updater (which is really cool btw) it requires that PiFire is installed from git for it to work. I built and added the ant scripts to create deb packages as it was easier for me to deploy packages when testing and my thoughts were if you ever wanted to release versions then a deb would have been an easy way for people to install PiFire.
So I am thinking should we remove deb packaging as it is really only useful for local testing? It can still be kept locally just add the directories etc to the .gitignore. This way the unneeded items are not download with git pulls on new installs. Also due to the nature of the debs it has the installer script built in so it is another duplication of work when changes are made to your installer script.
Let me know what you think then I can remove or leave it and submit a pull request for the other changes.
** Edit **
Also during my SocketIO testing I found out that the api implementation cannot update a list of lists. This is an issue for example if you attempt to send an api request to update a probe profile it will erase all profiles besides the one that you posted due to it being settings[key]."update" I needed to add a separate function to handle updating lists of lists. It seems to be working ok so far.
Beta Was this translation helpful? Give feedback.
All reactions