Mycodo

An environmental monitoring and regulation system

GPL-3.0 License

Stars
3K
Committers
59

Bot releases are visible (Hide)

Mycodo - 8.13.7

Published by kizniche over 2 years ago

8.13.7 (2022-04-06)

Bugfixes

  • Fix showing graph widgets with Outputs that have no name custom option
Mycodo - 8.13.6

Published by kizniche over 2 years ago

8.13.6 (2022-04-06)

Bugfixes

  • Fix bash commands dependency installations (#1170)
  • Don't allow method creation until dependencies fulfilled
Mycodo - 8.13.5

Published by kizniche over 2 years ago

8.13.5 (2022-04-04)

Bugfixes

  • Fix missing module importlib_metadata
  • Fix PCF8574 and MCP23017 Pump Output Measurements

Features

  • Add ability to select Output measurements for Measurement Condition of Conditional Controllers

Miscellaneous

  • Improve dependency install script
Mycodo - 8.13.4

Published by kizniche over 2 years ago

8.13.4 (2022-04-03)

Bugfixes

  • Fix Bang-Bang (On/Off) Function

Features

  • Add Output: PCF8575 16-Channel I/O Expander

Miscellaneous

  • Remove pip-git as module dependency option
  • Improve dependency version-checking
Mycodo - 8.13.3

Published by kizniche over 2 years ago

8.13.3 (2022-04-01)

Bugfixes

  • Fix acquiring images for camera libraries that use OpenCV
  • Fix showing usage when Actions are added to Conditional Controllers
Mycodo - 8.13.2

Published by kizniche over 2 years ago

8.13.2 (2022-03-29)

Bugfixes

  • Fix State option upgrade for Output Action
  • Fix MQTT Publish Action for Inputs
Mycodo - 8.13.1

Published by kizniche over 2 years ago

8.13.1 (2022-03-28)

Bugfixes

  • Fix Trigger dependency install

Features

  • Improve error feedback when importing controller modules
  • Improve error-handling of controllers
Mycodo - 8.13.0

Published by kizniche over 2 years ago

8.13.0 (2022-03-28)

Following the upgrade, you will need to reboot to complete the upgrade.

LCD and Math Controllers have been completely removed from Mycodo and replaced with Functions. If you were previously using an LCD or Math controller, you will need to add the corresponding Function and change any other parts of the system that referenced those devices.

Bugfixes

  • Fix installation on 64-bit OSs
  • Fix missing netcat and wget install dependencies (#1124)
  • Fix inability to safe user settings
  • Fix install issue due to outdated apt repository
  • Fix pylint command and dependency in Inputs/Outputs/Functions
  • Fix issue with TTNv3 Input if there's no payload
  • Fix Desktop Widgets resizing when viewing on mobile browsers
  • Fix rotation and flip for fswebcam camera library
  • Fix error-handling of missing template files (#1145)
  • Fix displaying values on LCDs when Decimal is set to 0
  • Fix Blank Line option of LCDs actually displaying a blank line
  • Fix missing Display Unit option for some LCDs
  • Fix issues with the Output Widget
  • Fix BME680 Input dependency
  • Fix Gauge Widget stop selection (#1130)
  • Fix DS18B20 (ow-shell) Input (#910) (measurements are erroneous, though)
  • Fix PIDs using Function measurements (#1165)

Features

  • Add ability to execute Actions for Inputs
  • Add ability to import custom Action modules (Configure -> Custom Actions)
  • Add ability to cast MQTT Action payload as integer or float
  • Add camera library: libcamera (#1117)
  • Add Input: TTN Integration: Data Storage (TTN v3, Payload jmespath Expression)
  • Add Output: Kasa HS300 Smart WiFi Power Strip
  • Add Output: I/O Expander: PCF8574 (8 Channels): Peristaltic Pump (Generic)
  • Add Output: I/O Expander: MCP23017 (16 Channels): Peristaltic Pump (Generic)
  • Add size of file for last still and timelapse images
  • Add ability to duplicate Inputs
  • Add ability to invert the saved duty cycle for PWM Outputs
  • Add randomly-generated Client IDs for MQTT Inputs/Functions
  • Add calibration, offset, and reset options for SCD-30 Input
  • Add Measurement Label as an LCD option
  • Add multiple tries to initialize Input/Output/Function/Action before failing

Miscellaneous

  • Remove LCD and Math Controllers (both replaced with Functions)
  • Update influxdb from 1.8.0 to 1.8.10
  • Update python library versions in requirements.txt
  • Add button to install all dependencies on Diagnostics page
  • Add Error Codes to log lines and the manual
  • Switch to using suntime for Sunrise/Sunset calculation
Mycodo - 8.12.9

Published by kizniche almost 3 years ago

8.12.9 (2021-12-02)

Bugfixes

  • Fix inability to install due to missing pip
  • Fix MCP23017 Output dependency (#1095)
  • Fix restoring backups causing upgrade page to not be usable until .upgrade file is deleted
  • Fix .upgrade file interfering with upgrade page rendering (#1096)
  • Fix conversion foreign key in measurement API endpoint (#1011)
  • Fix issues with Ajax data refreshing when Input/Output/Function saved
  • Fix refreshing Function Actions upon addition/deletion
  • Fix refreshing output configurations
  • Fix DS3502 Output step calculations

Features

  • Add Input: TTN Integration: Data Storage (TTN v3), replaces deprecated TTN v2 Input (deprecated 12/2021)
  • Add Input: HTU21D Variant using the CircuitPython library
  • Add Input: SCD-4x (40, 41) CO2/Temp/Hum sensor
  • Add Input: Si7021 Temp/Hum sensor
  • Add PWM Output option: Invert Stored Signal

Miscellaneous

  • Remove Output Quantity option when adding outputs
  • Change Live page refresh to that of the device measurement period
Mycodo - 8.12.8

Published by kizniche almost 3 years ago

8.12.8 (2021-10-27)

Bugfixes

  • Fix SQLAlchemy bug preventing install
Mycodo - 8.12.7

Published by kizniche almost 3 years ago

8.12.7 (2021-10-25)

This is a bugfix release that includes a fix to a severe security vulnerability. It is recommended that all users that have Mycodo exposed to the internet and allow guest access upgrade to patch this vulnerability. Users that only run Mycodo on a local network and/or don't allow unknown user (i.e. guest) access likely won't be affected.

Bugfixes

  • Fix refreshing LCD Display Function line options when changing number of lines
  • Fix installation of Function Action dependencies
  • Fix error when unauthenticated users attempting to land on the home page
  • Fix Gauge Widget dependencies (#1100)
  • Fix installation of pigpiod
  • Fix file exploit vulnerability (#1105)

Features

  • Add ability to install on most Debian-based systems
  • Add ability for Actions to work on Function Controllers
  • Add LCD Backlight On/Off Actions to LCD Functions (#1089)
  • Add Input: SHT2x (using alternate sht20 library with more accurate measurements and settable temperature resolution)
  • Add Input: SHTC3

Miscellaneous

  • Update python packages
Mycodo - 8.12.6

Published by kizniche about 3 years ago

8.12.6 (2021-09-03)

Bugfixes

  • Fix accessing dependency page (#1082)
  • Fix loading Input page if Math controllers are present (#1083)
  • Fix MQTT JSON Input dependency version (#1085)

Features

  • Add Inputs: MLX90393, DPS310
Mycodo - 8.12.5

Published by kizniche about 3 years ago

8.12.5 (2021-09-01)

Bugfixes

  • Fix dependency page loading
  • Prevent loading of Highstock JS more than once
Mycodo - 8.12.4

Published by kizniche about 3 years ago

8.12.4 (2021-08-31)

Bugfixes

  • Fix Input temperature compensation

Features

  • Add ability to set Dependency Message to be displayed on dependency install page
Mycodo - 8.12.3

Published by kizniche about 3 years ago

8.12.3 (2021-08-31)

Bugfixes

  • Fix redrawing Graph/Gauge Widgets on resize
  • Fix Gauge Widget dark theme (#1080)
  • Really fix missing channels for Atlas EC sensor
Mycodo - 8.12.2

Published by kizniche about 3 years ago

8.12.2 (2021-08-30)

Bugfixes

  • Fix missing channels for Atlas EC sensor
Mycodo - 8.12.1

Published by kizniche about 3 years ago

8.12.1 (2021-08-30)

Bugfixes

  • Fix display of Graph and Gauge Widgets on dashboard (#1078)
Mycodo - 8.12.0

Published by kizniche about 3 years ago

8.12.0 (2021-08-29)

This release changes the way settings are saved, which requires a change to any custom Inputs/Outputs/Functions you have in use. If your custom module includes the seldom-used execute_at_modification() function (such as Mycodo/mycodo/inputs/python_code.py), you will need to change the parameters as well as the return variables.

Before:

def execute_at_modification(
        mod_entry,
        request_form,
        custom_options_dict_presave,
        custom_options_channels_dict_presave,
        custom_options_dict_postsave,
        custom_options_channels_dict_postsave):
    allow_saving = True  # Allows saving of options to occur
    return (allow_saving,
            mod_entry,
            custom_options_dict_postsave,
            custom_options_channels_dict_postsave)

After:

def execute_at_modification(
        messages,
        mod_entry,
        request_form,
        custom_options_dict_presave,
        custom_options_channels_dict_presave,
        custom_options_dict_postsave,
        custom_options_channels_dict_postsave):
     # messages["page_refresh"] = True  # Setting to True will cause the options on the user's page to refresh
     # messages["error"].append("Some error")  # Uncomment this line to prevent options saving
     # messages["warning"].append("This will be a warning message")
     # messages["info"].append("This will be an info message")
     if not messages["error"]:
        messages["success"].append("Successfully completed execute_at_modification()")
     return (messages,
             mod_entry,
             custom_options_dict_postsave,
             custom_options_channels_dict_postsave)

Additionally, if you are currently using the MQTT JSON Input and your topics contain any special characters, you will need to enclose the topic in quotes (e.g. sensor-1 to "sensor-1").

Bugfixes

  • Fix taking photos with camera library "raspistill" when AWB set to off
  • Fix issue querying graph data
  • Fix flag/tag newlines on asynchronous graphs
  • Fix single quotes in translations causing error (#1019)
  • Fix CCS811 Input dependency install issue (#1023)
  • Fix sense-hat dependency issue
  • Fix saving Output checkboxes (#1029)
  • Fix PiOLED Functions (#1030)
  • Fix PID controller properly reporting if Held/Paused
  • Fix cmd_output() killing daemon upon command timeout (#1047)
  • Fix missing check for Widget dependencies during upgrade/restore
  • Fix output_sec_currently_on()
  • Fix Widgets being able to be moved/resized when dashboard locked
  • Fix Indicator Widget unit not using correct font size
  • Fix display of tags on more than one Graph Widget
  • Fix first channel of L298N DC Motor Controller Output not working
  • Fix setting Graph Widget custom colors when tag selected
  • Fix Graph Widget custom colors when more than one Input selected
  • Fix note array memory leak on Graph Widgets
  • Fix FTDI device detection on Output page
  • Fix sending commands to Atlas Scientific devices via FTDI
  • Fix Atlas Scientific Peristaltic Pump Output calibration
  • Fix temperature compensation unit conversion for Atlas ORP, EC, and pH sensors (#1064)
  • Fix Camera Widget displaying time-lapse images (#1072)
  • Fix Activate/Deactivate Actions not working for Functions

Features

  • Add ability to install Javascript/CSS dependencies
  • Add ability to submit forms without refreshing the page (#1040)
  • Add ability to install dependencies without changing the page
  • Add drag and drop sorting of Inputs/Outputs/Functions
  • Add modal dialog for Input/Output/Function configuration
  • Add option for a numerical keypad login
  • Add options for camera library raspistill: AWB Gain Blue, AWB Gain Red
  • Add Input: ADS1256 with Analog pH/EC sensors
  • Add Input: SI1145 Light/Proximity sensor
  • Add Output: MCP23017 16-Channel I/O Expander (On/Off)
  • Add return status to Conditional Controllers
  • Add 2- and 4-line variants of SSD1306 Display Functions and extra Options (#1030)
  • Add calibration to the Atlas Scientific EC Input Peristaltic Pump Output
  • Add Spacers for Input and Output lists
  • Add PDF Manual
  • Add ability to set the Indicator Widget's unit font size
  • Add temperature compensation to Atlas Dissolved Oxygen sensor
  • Add TDS, Salinity, and Specific Gravity measurements for Atlas Scientific EC sensor (#1065)
  • Add ability to define new Flask endpoints in Widget modules

Miscellaneous

  • Replace TravisCI (no longer free) with Github Actions to perform unit tests
  • Update KP303 library (#1028)
  • Add Try/Except for checking Output Triggers (#1037)
  • Speed up loading of Camera page
  • Update Gridstack to the latest version
  • Ensure Atlas DO sensor only returns DO (#1052)
  • Remove Highcharts/Highstock Javascript from package to be compliant with licensing
  • Remove calibration page (all functionality has been moved to modules)
  • Place Output columns at back of Graph Widget charts
  • Add Measurements/Units: Specific Gravity, Salinity, Total Dissolved Solids, Parts per Thousand
  • Add conversions for Parts per Thousand
  • Specify virtualenv install version in requirements.txt (#1067)
  • Enable server-side Flask session
Mycodo - 8.11.0

Published by kizniche over 3 years ago

8.11.0 (2021-06-05)

Bugfixes

  • Fix upgrading database to version 61a0d0568d24
  • Fix Generic Pump Output timestamps
  • Fix inability to add Camera Widget for some cameras
  • Fix error referencing key of Input dict that doesn't exist
  • Fix unnecessary reference to measurement dict causing error (#1001, #1005)
  • Add missing dependency for HC-SR04 Input (#1003)
  • Fix 'id' KeyError when saving certain Inputs (#1004)
  • Fix I2C PiOLED Display Functions
  • Fix clearing total volume of Hall Flow Input (#994)
  • Fix SSD1306 OLED Display Function initialization
  • Fix PID Min/Max options not being respected (#998)
  • Fix error when PWM Output duty cycle is 0
  • Change pin default when creating an Output from 0 to None
  • Don't run Output shutdown function if not set up
  • Fix Controller custom_option messages not being visible
  • Fix output state checking not handling errors (#990)
  • Fix BME680 Input dependency
  • Fix GrovePi DHT Input
  • Fix Method dependencies not being installed
  • Prevent non-streamable camera types from being selected to stream in Camera Widget (#991)

Features

  • Add ability to set decimal places for Angular and Solid Gauge Widgets
  • Add ability to lock Dashboards (remove ability to edit widget options) (#996)
  • Add ability to display the status of Functions and PID Controllers in the UI
  • Add Widget: Function Status
  • Add Conditional Controller option: Timeout (seconds)
  • Add Function Actions: Camera Timelapse Pause/Resume
  • Add Temperature Compensation for Atlas Scientific pH Input during calibration
  • Add Output channel names to Graph Widget multi-select and legend
  • Add Function: Backup to Remote Host (rsync)
  • Add Input: Anyleaf Electrical Conductivity
  • Add ability to calibrate Atlas Scientific ORP and DO sensors
  • Add ability to change I2C address of Atlas Scientific devices
  • Add Input: CCS811 (without temperature) (#992)
  • Add Input: MQTT Subscribe (JSON payload)
  • Add Output: Grove I2C Motor Driver (TB6612FNG, Board v1.0)
  • Add Output: Grove I2C Motor Driver (Board v1.3)
  • Make Enable Pin optional for L298N Output
Mycodo - 8.10.1

Published by kizniche over 3 years ago

8.10.1 (2021-04-27)

Bugfixes

  • Fix warning preventing saving of Python code
  • Fix Sense Hat Input dependency

Features

  • Add Input: Atlas Scientific humidity sensor
  • Add Camera: raspistill
  • Make Add Output dropdown searchable
Package Rankings
Top 6.64% on Proxy.golang.org