Skip to content

Releases: nebhead/PiFire

PiFire v1.8.0 (2024-09)

13 Sep 18:43
Compare
Choose a tag to compare

Here are just some of the NEW features that were added in this update:

  • Changed the Configuration Wizard to improve platform selection. Now you can select your PCB Board type (or Custom) and configure the available settings. The wizard will automatically assign the right GPIO pins as configured for that particular version of the board. This also removes any extraneous configuration options.
  • Added transient probe configuration types so that probes can be marked as transient(not always available). This means that if probes/probe ports are not fixed (like in the case of the DS18B20 device), then the control script can return None type for the temperature. This allows the dashboard to do things like hide the card in the case where this probe isn't present.
  • Default Dashboard gets the ability to set maximum temperature to display for the primary probe and food probes. This can be configured via the gear icon settings.
  • Default and Basic dashboards will notify the user if connection to the server is lost (i.e. when the server is not responding to requests).
  • Added ST7789V (Newer V-variant of the display) display which is currently experimental because of the use of an experimental library. This will likely change in a future release if the V variant gets added to the original library.

Behind the scenes improvements including:

  • Moved all platform/board/system settings into 'platform' in the settings.json. This neatly group all of these settings in a single place so that they are not spread out across the settings configuration.
  • Combined the pifire.py and pifire_pwm.py modules into a raspberry_pi_all.py module, which supports both AC and DC Fan configurations with most flavors of the Raspberry Pi single board computer.
  • Created a board configuration utility that will make specific system configurations easier to perform on different single board computers. The installation, wizard and update utilities can use this tool to do board configuration as needed for enabling different features of the platform.
  • Refined the auto-tuning tool to use the last sampled resistance at a given reference temperature to use for calculations. This should help to improve the accuracy of the tuning data, especially with slower probes.
  • Changed the ETA function to use Linear Regression (SciKit) instead of the Interpolate module (SciPy). This will hopefully improve the reliability of the ETA function.
  • Added ProtoFlex module for testing new display output system. This will be used to test the new display system and allow for additional screen sizes to be added for existing displays like ILI9341, etc. Also refactored the FlexObject and BaseFlex system to be more modular and hopefully more performant. Updated the configuration wizard so that configuration of displays is easier. Other minor bug fixes.
  • Improved resilience of the control script, especially when loading probe devices. If a probe device fails to load, the probes that are associated with that device will be disabled.
  • Added a critical error flag to the control script. This will be used to detect when a critical error is encountered, which may prevent further control of the system (i.e. changing modes, etc.)

Here are some bug fixes in this update:

  • Fixed a bug where changing units from F to C would (during upgrade) would cause the control script to crash.
  • Fixed a bug where the hopper level was not correctly displayed on startup for the flex displays. Reduced the hopper level check to once every 60 seconds during a work cycle.
  • Fixed a bug on 240x320 and 64x128 displays where if pifire is not connected to the network, an IP QR Code will hang the display.

Full Changelog: v1.7.3...v1.8.0

PiFire v1.7.2 (2024-06)

09 Jun 21:30
Compare
Choose a tag to compare

Here are just some of the NEW features that were added in this update:

  • Default Dashboard gets the ability to set maximum temperature to display for the primary probe and food probes. This can be configured via the gear icon settings. This is kind of a bug where the temperature stalling on the dashboard has tripped a lot of people up. This allows you to increase the maximum temperature that the gauges can display in case you want to higher temperatures.

Behind the scenes improvements including:

  • Added general dashboard configuration capabilities based on metadata json files in the ./dashboard folder

Here are some bug fixes in this update:

  • Fixed a bug where control.py would crash when changing units.
  • Fixed bug with manual tuning where floats were entered for temperatures

User submitted changes in this update:

Full Changelog: v1.7.1...v1.7.2

PiFire v1.7.1 (2024-05)

01 May 23:34
Compare
Choose a tag to compare

Yet another massive release with lots of bug fixes and feature updates since the previous version 6 months ago. I hope to make more frequent updates in the future so that we aren't seeing too many months go by without any juicy new features. So look out for v1.8.0 coming in the next couple of months (hopefully I can hold myself accountable for this).

Here are just some of the NEW features that were added in this update:

  • Added experimental DSI based touch display, allowing for touch input from a DSI based display on the Raspberry Pi. As of now, this is an experimental addition and should be expected to have bugs. Performance is also a concern, as this module utilizes PyGame for displaying graphics and getting input from the touch display. This will be fairly laggy on a Pi Zero 2W (or Pi 3 A+).
  • Exit Startup temperature (suggested by @EPGrillz), allows you to set a temperature/threshold where the grill will exit startup and go into the next mode. This can be configured in settings. If the grill starts hot and has already exceeded this temperature, then the grill will continue with startup for the normal amount of time.
  • ILI9341 display menu and encoder improvements (submitted by @dogtreatfairy). Improves the display menu readability, adds back button and improves the encoder responsiveness.
  • Added ETA feature for any probe with notification set. This ETA is calculated using an interpolation function (currently linear) which is still very much experimental. This feature will continue to be worked on and enhanced.
  • Default and Basic dashboards now have the ability to show/hide cards including the hopper and status cards. Look for the gear icon in the corner of the window.
  • Default, Basic dashboards and Control Panel now have the ability to take keyboard input for hold and notification values. Just click value and change it using the keyboard. The sliders will still work as normal if you prefer this.
  • Added a warning to the Configuration Wizard, when the system is running/active so that you don't have to wait until the very end of the configuration to realize that you cannot submit changes. (feature suggested by Discord user @richie)
  • Added support for v2.1.0 Android Application. Thank you to @weberbox for updating the app to work with the latest PiFire changes!
  • Improved visibility of save buttons on the settings page. (Suggested by @chrisusernamechanged)
  • Added support for DS18B20 1-Wire Thermometer, mainly to be used for calibration of other probes as it does not have adequate temperature ranges for actual grill usages. This probe is currently experimental.
  • Complete overhaul of the tuning tools, including adding an auto-tuner. The tools are now more mobile friendly, meaning you can use your phone to go through the process of tuning your probes. In addition, the auto-tuner allows you to tune any of your resistance based probes against any other probe in the system (for example utilizing the new DS18B20 probe).
  • New Elapsed Time card on the default dashboard which shows you the total elapsed time since startup. (suggested by Discord user @bassmanadam)
  • Added safety feature to require a confirmation when pressing the startup button on the WebUI control panel. This will help to prevent false/accidental startup button presses. This can be disabled in settings if desired.
  • New API capabilities including a much simplified API interface for setting and getting data. Details in the updated documentation.
  • Added 'Always Prime on Startup' feature which allows the user to have a default prime amount on startup. Note that if the user selects startup again during priming that was initiated with this feature then priming will be cancelled and the grill will enter startup mode. (feature initially suggested by Discord user @tsj) This can be enabled in settings.
  • Overhauled timer UI on the web interface to utilize the newly created API calls (Eventually may deprecate the /timer function) and improve the UX. Timers also will automatically detect if they have started from another source and display in the web interface.
  • Attempted to address the issue on the mobile Web UI where a long Grill Name (on the NAV Bar) would push the navbar menu to the next line.
  • Added wifi link quality to the admin page system information.
  • Added throttling and undervoltage detection which is currently reported via the admin page system information.
  • Added 'Send Test Notification' to the Notifications section of settings. Note that this will send notification to the services that have already been enabled and saved.
  • New debug items added in the admin page. You can now download the 'settings.json' and 'control:general' database files directly from the debug card.
  • When the dashboard is loaded it will check if the control process is alive and flag an error if the control process does not respond. This may be helpful in debugging issues as they arise.
  • Behind the scenes improvements including:
  • Replace 'is_raspberry_pi' with 'is_real_hardware' functions planning for future platform support.
  • Add require_reboot flag to Wizard items (Added to PWM / DSI Touch Display devices) if a reboot is required when changing this configuration.
  • Add general commands list to Wizard items (Added to PWM board so no manual edits are required).
  • Added configuration for dashboards that allow extending/saving features for different dashboards.
  • Updated the ChartJS version to v3.9.1.
  • Added common deep dictionary update function that allows dictionaries to be updated in a recursive way simplifying the logic of updating dictionaries.
  • Adding system level capabilities so that future functionality can be added (i.e. wifi signal strength, undervolt detection).
  • Moved Push Bullet and Pushover notifications to utilize the Apprise module (no changes in how they are configured from the webUI).
  • Moved most startup and shutdown settings to 'startup' and 'shutdown' respectively in the settings.json file for housekeeping purposes. Heads up to anyone working on any forks or applications that might rely on these settings.
  • Added system functions/commands so that specific system commands can be customized per platform (i.e. in the future allow for other SBCs)

Here are some bug fixes in this update:

  • Fixed bug with/getsize function deprecation in SSD1306 displays causing the display to crash.
  • Fixed install issue with Eventlet (pinned to earlier version for Python 3.9) causing the web front end to fail with Python version 3.9 on Raspberry Pi Bullseye.
  • Fixed settings upgrade logic issue.
  • Fixed bug(s) with history charts streaming including a long standing bug where hidden datasets would go back to being shown when zooming/panning.
  • Fixed bug (submitted by @EricPalmquist) where starting and stopping multiple times within a minute may cause a crash due to writing the same cookfile.
  • Fixed a bug where probe mapping in History Page may carry extra probe information from the defaults.
  • MQTT Bug Fixes contributed by @EricPalmquist
  • List minute hotfix for fresh install on Raspberry Pi Bookworm

Contributor Highlights

New Contributors

Full Changelog: v1.6.0...v1.7.0

PiFire v1.6.0 (2023-11)

27 Nov 19:00
Compare
Choose a tag to compare

In this month comes another huge update with lots of new features and bug fixes. Many thanks to the users from discord that have been testing along the way (as well as submitting some bugs), what a great community we have! Many of these features have been deployed on our development branch for some time, so they should be relatively stable. Please do file issues on GitHub if you find any new bugs with the formal release. With that, enjoy and happy grilling/smoking!

NOTE: Due to the addition of Vs (Voltage Source) and Rd (Resistor Divider) settings into the device settings of a specific device, it is important that users run the Configuration Wizard and setup these values in the ADS1115 device. The values stored in the probe profiles will not longer be used, such that the probe profiles can be used with any of the devices regardless of the Vs and Rd values. For example, in the probes device section of the configuration wizard, click on the edit icon for the ADS1115 device, edit the Vs and individual Rd settings. Once you are finished, continue with the configuration wizard and install the changes.

Here are just some of the NEW features that were added in this update:

  • Added Pan/Zoom capabilities to the chart in the History/Status page
  • Moved Vs and Rd settings (per-probe) to the Device settings in the Configuration Wizard so that these do not need to be configured via the profiles. WARNING: For this reason, it is required to go through the Configuration Wizard for this version to ensure that your Vs and Rd settings are correct in the device settings. So if you have an ADS1115 installed, please ensure that you are configuring it before you run the system.
  • Added Auger Off Time control so that you can modify your P-Mode settings more precisely (Settings > Work Cycle)
  • Added a boot-to-monitor mode (enabled in Admin > Boot Settings) so that you can go straight into monitor mode after boot. This can be helpful to debug your displays and ensure that PiFire is coming up properly.
  • Added a status card to the default and classic dashboards. Shows the status of the fan, auger, igniter and P-mode (when in Smoke or Startup) with animated icons. Also displays a countdown for Prime, Startup, Re-Ignite and Shutdown modes.
  • Added P-Mode selection to the default and classic dashboards. Allows you to select a new P-Mode directly from the dashboard when in Startup/Reignite/Smoke modes.
  • Start Igniter in Prime Mode (Thanks to @calonmerc for the suggestion) (Settings > Pellets)
  • Enhancements to PWM Fan to utilize the Hardware PWM on the Raspberry Pi. Many thanks to GitHub user @ghandye for submitting the code change.

NOTE: The user may need to make the following manual changes to enable hardware PWM support, adding this line to the end of /boot/config.txt, and rebooting:
dtoverlay=pwm,pin=13,func=4

  • Add MCP9600 device support (note, this device requires a much slower I2C bus clock and may the user to manually change the bus clock frequency in /boot, however it should be noticed that it is still not stable) (Configuration Wizard)
  • Add 'Logs' page to display all of the various logs that are generated for debug (can be found via Admin > Debug or on the Events page)
  • Improved update feature to exclude previously installed packages, which will hopefully speed-up updates
  • Added a pop-up dialog after update to show this message which is also available on the update page

Here are some bug fixes in this update:

  • Add more of a description on how to use keep warm in Settings > Work Cycle
  • Rate limit some error messages in the log to prevent the logs from being swamped
  • Change the color of PMode on Default/Classic Dashboard for dark mode (Dashboard)
  • Fix bug where the 240x320 display expects 2 food probes and crashes if there are less than two. (Thanks @ChrisUsernameChanged)
  • Settings Restore Bug (apply settings and restart server) (Admin > Data Management)
  • Default disable Smart Start feature. This was causing some confusion with those who are using P-Mode to control their cooks, where Smart Start was automatically adjusting P-Mode for the initial startup, based on ambient temperature instead of using the manually set P-Mode. (Settings > Startup & Shutdown)
  • Fixed default cycle settings for what is recommended in the PID settings (Settings > Work Cycle)
  • Fixed divide by zero error in probes/base.py
  • Fixed an issue where log-levels were being overridden.
  • Improved VL530L0X resilience, where sometimes long distance reads can cause the control script heartbeat to fail and crash/restart. Added this distance module to a separate thread so if there are delays in measurements, they do not cause the control script to crash.

New Contributors

Full Changelog: v1.5.4...v1.6.0

PiFire v1.5.2 (2023-06)

24 Jun 22:15
Compare
Choose a tag to compare

Minor update to fix a bug with probe profile updates from the web UI.

Full Changelog: v1.5.1...v1.5.2

PiFire v1.5.1 (2023-06)

21 Jun 22:19
Compare
Choose a tag to compare

Minor bug fixes and UI improvements to the v1.5.0 release, mainly around the Recipe Mode feature.

Full Changelog: v1.5.0...v1.5.1

PiFire v1.5.0 (2023-06)

04 Jun 23:17
Compare
Choose a tag to compare

Arguably one of the biggest overhauls to PiFire since it's inception. The Probe system has been completely refactored to allow for multiple probe sensing devices (i.e. ADS1115, MAX31865, or even Virtual Probes to augment your inputs). This extension of the probe system, allows for any number of probe inputs to be tracked in PiFire, allowing from notifications and tracking of history for each probe. The sky is the limit! With this change the the probe architecture, a number of other things needed to be modified/updated, including the notification system, the history/charting, the dashboards, cookfiles and recipe modes. Note that if you are updating to this version, your settings will be upgraded in the process and you will not be able to roll back to a previous version (unless you restore from a backup of your settings).

Other Notable Updates and Features:

  • One (1) Grill Probe and Many Food Probes
    • Tunable probe inputs to allow for many different probe manufacturers
    • Supports the ADS1115 ADC, ADS1015 ADC, and MAX31865 RTD devices for measuring probes
    • Probe tuning tool to help develop probe profiles
    • NEW! - Any number of probe inputs, limited only by the number of devices that the Raspberry Pi can support
      • NEW! - Virtual Probes to allow you to do things like averaging probes, finding highest and lowest values of certain probes, etc.
  • Socket IO for Android Application Support (GitHub User @weberbox has made a Android client app under development here: https://github.com/weberbox/PiFire-Android) (NOTE: Due to the large amount of architectural changes in v1.5.0, the Android App update is still in development. The current version of PiFire has implemented a compatibility layer so that it doesn't break compatibility with the current Android App. If you have a non-standard probe setup or more than two food probes, you may see issues. There may still be bugs, so please do submit issues on GitHub if you experience any.)
  • NEW! Recipes / Recipe Mode - Integrated recipe creation and a new mode for developing a recipe 'program' that will control the grill for you and follow the recipe that was programmed.
  • NEW! Updated and re-written dashboards. The dashboard has been refreshed with a new look. New 'basic' and 'default' dashboards. If you are technically inclined, you can even develop your own dashboard.
  • NEW! Control panel everywhere! Allow your control panel to be displayed on almost all pages in PiFire.
  • NEW! Lid open detection during hold mode to pause the controller and prevent overshoots.
  • ...And much more!

Full Changelog: v1.3.4...v1.5.0

PiFire v1.3.5 (2022-10)

16 Oct 17:17
Compare
Choose a tag to compare

Bug fixes, feature refinements and brand new features galore in this latest release. Added a new ADS1115 module (using Adafruits Circuit Python), due to some reports of issues with the existing ADS1115 module. These can be optionally selected in the configuration wizard. PWM Fan Support and a boatload of code cleanup was introduced, thanks to contributor @weberbox. Support for saving cook files was introduced in this version, so that you can go back to older cooks, edit some of the information and add images and comments. Added a Prime Mode to allow you to prime the fire pot with pellets prior to a cook, and even prime & startup. Added estimated pellet usage to the pellet manager, which will attempt to track just how many pellets you have used since your last load of pellets. Added Apprise notification capability thanks to contributor @calonmerc. 320x200 displays have been update and added timers to specific modes. And even more!

Video Summary of this update: https://youtu.be/pnajhZ0f9Dk

Full Changelog: v1.3.4...v1.3.5

Updates from Contributors

  • Added device pins (display, input, distance) to settings. by @weberbox in #109
  • Added adc_ads1x15.py module using Adafruit ADS1115 module for temperature sensing. by @plazarch in #118
  • Add PWM Fan control via grillplat_pifire_pwm. Add PWM fan control to … by @weberbox in #119
  • Bugfix st7789 displays by @weberbox in #122
  • Initial working Apprise integration, needs testing and verification. by @calonmerc in #124
  • Resolved removing last Apprise location by @calonmerc in #130
  • Resolves edge case of leaving empty Apprise location by @calonmerc in #131
  • Clear pellets usage when loaded from Android App by @weberbox in #135

New Contributors

PiFire v1.3.4 (2022-07)

16 Jul 17:26
Compare
Choose a tag to compare

Another monthly release with some bug fixes and some new features. The biggest new feature of this month was the addition of Annotations in the history graph. This gives you helpful tags on the graph (see below) with indicators of the mode changes. Of course you can turn this off in the history page if you don't like it.

Screenshot from 2022-07-16 09-38-23

Some bug fixes include:

  • Fixing an issue with how the setpoint notifications for the grill are handled - now are separate from the hold mode setpoint.
  • Bug fixes related to the new annotations feature

Other minor changes:

  • Changed how history is stored, with plans for future enhancements to automatically save cook data to a json/csv file, with comments, etc. which can be viewed in the web interface, or pushed to the cloud (TBD).

Full Changelog: v1.3.3...v1.3.4

PiFire v1.3.3 (2022-06)

05 Jun 16:04
Compare
Choose a tag to compare

Lot's of changes for this latest stable release for June 2022. It's been a busy couple of months and we've had a few bug fixes pulled into this latest version, including an installer bug. The display modules have been completely overhauled in this latest release to improve responsiveness and capabilities. We've added a module for the ILI1394 with rotary encoder support, which is a nice option for those who like to use a dial with push button to interface the menu system. When doing the update, consider doing a full reboot (instead of just restarting the server) to ensure connected display devices are fully reset.

Enjoy!

Full Changelog: v1.3.1...v1.3.3

Community Submitted Changes

  • Add function to download server logs by @weberbox in #95
  • Bugfix for One Signal Enable/Disable in server settings. by @weberbox in #96
  • Added 240x320 ST7789 display modules by @weberbox in #101
  • Bugfix dash.js - Add Get Remote Branches to SocketIO by @weberbox in #102