github kizniche/Mycodo v8.9.0
8.9.0

latest releases: v8.15.13, v8.15.12, v8.15.11...
3 years ago

8.9.0 (2021-03-08)

This release contains bug fixes and several new types of Inputs and Outputs. These include stepper motors, digital-to-analog converters, a multi-channel PWM output, as well as an input to acquire current and future weather conditions.

This release also deprecates Math controllers. Current Math controllers will continue to function, but new Math controllers cannot be created. Instead, all Math controller functionality has been ported to Functions (Setup -> Function page), in order to reduce complexity and improve customizability. Much like Inputs and Outputs, Functions are single-file modules that can be created by users and imported. Take a look at the Mycodo/mycodo/functions directory for the built-in Function modules.

The new weather input acquires current and future weather conditions from openweathermap.org with either a city (200,000 to choose from) or latitude/longitude for a location and a time frame from the present up to 7 days in the future, with a resolution of days or hours. An API key to use the service is free and the measurements returned include temperature (including minimum and maximum if forecasting days in the future), humidity, dew point, pressure, wind speed, and wind direction. This can be useful for incorporating current or future weather conditions into your conditional controllers or other functions or calculations. For instance, you may prevent Mycodo from watering your outdoor plants if the forecasted temperature in the next 12 to 24 hours is below freezing. You may also want to be alerted by email if the forecasted weather conditions are extreme. Not everyone wants to set up a weather station, but might still want to have local outdoor measurements, so this input was made to bridge that gap.

Bugfixes

  • Fix broken Output API get/post calls
  • Fix selecting output channels in custom functions
  • Fix Autotune PID Function (#876)
  • Fix issue with LockFile not locking
  • Fix Output State and Output Duration On Conditional Conditions (#879)
  • Fix not showing camera stream buttons for cameras libraries that don't have stream support (#899)
  • Fix Clock Pin option showing twice for UART Inputs
  • Fix MCP3008 Input error (#902)
  • Fix Input Measurement option Invert Scale not displaying properly (#902)
  • Fix MQTT output being able to set 0 to disable option
  • Fix compounding of Function Action return messages in Conditionals
  • Fix ADS1015 and ADS1115 inputs only measuring channel 0 (#911)
  • Fix install of pyusb dependency of Adafruit_Extended_Bus (#863)
  • Fix Message and New Line options in Custom Options
  • Fix Conditional sample_rate not being set from Config
  • Fix Saving Angular and Solid Gauge Widget stop values (#916)
  • Fix uncaught exception if trying to acquire image when opencv can't detect a camera (#917)
  • Fix displaying input/output pypi.org dependencies with "=="
  • Fix pressure measurement in BME680 and BME280 Inputs (#923)
  • Fix controllers disappearing following reorder (#925)
  • Fix Inputs that use w1thermsensor (#926)
  • Fix issue generating documentation for similar Inputs/Outputs/Widgets
  • Fix execution of Input stop_input()
  • Fix Input Pre-Outputs not turning on
  • Fix Output not activating for Camera
  • Fix PWM trigger and Duration Method (#937)
  • Fix stopping Trigger Controllers (#940)
  • Fix Tags not appearing in Graph Widgets
  • Fix variable measurement Inputs saving correctly
  • Fix detection of custom_option save type (CSV or JSON) for proper parsing
  • Fix saving of unchecked checkboxes when using forms

Features

  • Add Digital-to-Analog Converter output support (and add MCP4728) (#893)
  • Add Stepper Motor Controller output support (and add DRV8825) (#857)
  • Add Output: GrovePi multi-channel relay I2C board
  • Add Output: PCA9685 16-channel PWM servo/LED controller
  • Add Input: MAX31865 (CircuitPython) (#900)
  • Add Input: Generic Hall Effect Flow sensor
  • Add Input: INA219 current sensor
  • Add Input: Grove Pi DHT11/22 sensor
  • Add Input: HC-SR04 Ultrasonic Distance sensor
  • Add Input: SCD30 CO2/Humidity/Temperature sensor
  • Add Input: Current Weather from OpenWeatherMap.org (Free API Key, Latitude/Longitude, 200,000 cities, Humidity/Temperature/Pressure/Dewpoint/Wind Speed/Wind Direction)
  • Add Input: Forecast Hourly/Daily Weather from OpenWeatherMap.org (Free API Key, , Humidity/Temperature/Pressure/Dewpoint)
  • Add Input: Raspberry Pi Sense HAT (humidity/temperature/pressure/compass/magnetism/acceleration/gyroscope)
  • Add Input: Xiaomi Mijia LYWSD03MMC
  • Add Input: Atlas Scientific CO2 sensor
  • Add Input: AHTx0 Temperature/Humidity sensor
  • Add Input: BME680 (Circuitpython)
  • Add measurements to Custom Controllers
  • Add Measurement and Unit: Speed, Meters/Second
  • Add Measurement and Unit: Direction, Bearing
  • Add Conversions: m/s <-> mph <-> knots, hour <-> minutes and seconds
  • Add LCD: Grove RGB LCD
  • Add Function: Bang-bang/hysteretic
  • Add Function Action: Output Value
  • Add Function Action: Set LCD Backlight Color
  • Add configurable link for navbar brand link
  • Add User option to Shell Command Function Action
  • Add Message and New Line options to Custom Options of Outputs
  • Add set_custom_option/get_custom_option to Conditionals (#901)
  • Add ability to login with username/password using MQTT Input and Outputs
  • Add ability to use Custom Channel Options with Inputs (first used in MQTT Input)
  • Add Custom Functions/Inputs/Outputs/Widgets to Settings Export/Import
  • Add user_scripts directory for user code that's preserved during upgrade/export/import (#930)
  • Add pin mode option (float, pull-up, pull-down) for Edge and State Inputs
  • Add Method: Cascaded Method, allows combining (multiply) any number of existing methods (discussion)
  • Add Functions and to API
  • Add missing Input Channels to Input API calls

Miscellaneous

  • Remove lirc
  • Change widget title styles
  • Fix GCC warnings (#906)
  • Remove default user "pi" with "mycodo" (for compatibility with non-Raspberry Pi operating systems)
  • Update pyusb to 1.1.1
  • Refactor Edge detection Input
  • Refactor method implementation from single large method into multiple small classes
  • Changed duration method start- and end-time handling
  • Port Math controllers to Functions: Equation (Single/Multi), Difference, Statistics (Single/Multi), Average (Single/Multi), Sum (Single/Multi), Wet-Bulb Humidity, Redundancy, Vapor Pressure Deficit, Verification
  • Deprecate Math controllers
  • Remove Math controllers from and add Functions to Live page

Don't miss a new Mycodo release

NewReleases is sending notifications on new releases.