Mycodo Versions Save

An environmental monitoring and regulation system

v8.15.3

1 year ago

8.15.3 (2023-01-18)

Bugfixes

  • Fix regex to properly parse latest Mycodo release

Miscellaneous

  • Update Python packages

v8.15.2

1 year ago

8.15.2 (2023-01-18)

Bugfixes

  • Fix PCF8574 Pump Output not properly determining channel states
  • Fix MQTT Subscribe Inputs resubscribing to MQTT topics after reconnect

Features

  • Add feedback about why a Python package dependency was unmet when adding an Input/Output/Function

Miscellaneous

  • Add library name to the title when multiple Inputs of the same name exist in the manual

v8.15.1

1 year ago

8.15.1 (2023-01-14)

Bugfixes

  • Fix endpoints of Widgets not able to be created until a frontend restart (#1260)

v8.15.0

1 year ago

8.15.0 (2023-01-13)

This release fixes several bugs and changes how measurement timestamps are returned from the time-series database.

InfluxDB Changes

Since support for InfluxDB 2.x was added, in order to make data that's returned from the time-series database more consistent, all timestamps from internal Mycodo functions will be returned as a decimal epoch value. Please update any custom modules or code to incorporate this change.

Previous behavior: InfluxDB 1.x returned data as a date/time string value (e.g. 2022-10-31T14:49:25.034447Z).

New Behavior: InfluxDB 1.x returned data as an epoch float value (e.g. 1667228575.557).

Camera Changes

Cameras integration was initially built into the Mycodo system. This made it difficult for users to add new camera libraries or features unless they learned the codebase well enough to understand the many files needed to be modified. This release allows for camera functinality to be developed within a single Function module file. This enables users to more easily develop and implement their own Camera Functions or modify existing Camera Functions to add new features.

As this system is developed, the original camera system will be phased out, as it's a lot of work to maintain two different camera systems. As of now, there is only one Camera Function (libcamera). This should be considered EXPERIMENTAL and only used to test the development of this new feature until it is considered stable.

Features

  • Add Input: MCP3008 (adafruit-circuitpython-mcp3xxx library)
  • Add Input: On/Off Output State
  • Add Input: Senseair K96 (#1196)
  • Add Input: VL53L4CD
  • Add Input: ams AS7341 light spectrum sensor
  • Add Output: Remote Mycodo Output: On/Off (API)
  • Add Output: Remote Mycodo Output: PWM (API)
  • Add Output: Sequent Microsystems 8-Relay HAT for Raspberry Pi
  • Add Output: Sparkfun Relay Board (4 Relays)
  • Add Function: Camera libcamera Image
  • Add Function: Regulate pH and Electrical Conductivity
  • Add Widget: Activate/Deactivate Controller
  • Add ability to set each Graph Widget series type to either Line or Column
  • Add Temperature Calibration for Atlas Scientific PT-1000 Input
  • Add language selection to installer
  • Add Turkish Translation
  • Make Docs Translatable (https://kizniche.github.io/Mycodo/)
  • Add language selection on Admin Creation and Login pages
  • Add ability to select Outputs in Output Modules
  • Add ability to average measurements in Verification Function
  • Add ability to select Output Measurements in Equation Functions
  • Add Analyse with Pylint option for Python Code in Inputs, Outputs, and Conditional Functions (#1249)

Bugfixes

  • Fix Python Code Input logging Exceptions in the Daemon Log
  • Fix inability to execute Function Commands
  • Fix get_custom_option() not returning the latest value
  • Fix potential Missing Attribute error on Live page
  • Fix continuous bad checksum errors with MHZ-14 input
  • Fix SI1145 Input dependency
  • Fix Output/Measurement/Channel selection in Output Modules
  • Fix channel state at initialization of Python and Shell Command Outputs
  • Fix function_status() error-handling
  • Fix function modules not using function_name_short option
  • Fix Sense Hat Input dependency (#1233)
  • Fix missing jq dependency if not installed from the install script
  • Fix values set by set_custom_option() from being reset when an Input/Output/Function configuration is saved
  • Fix Select Device option not populating controllers properly
  • Fix deprecated opencv dependency (update opencv to 4.6.0.66)
  • Fix urllib camera library not saving the correct file name
  • Fix missing image for Camera Widget when "Acquire Image (and erase last file)" selected
  • Fix issues with SCD4x Input calibration (#1234)
  • Fix data type issue in PID Controller when using InfluxDB 2.x (#1232)
  • Fix data type issue in LCD Functions when using InfluxDB 2.x (#1239)
  • Fix various InfluxDB 2.x issues
  • Fix SHT31 Smart Gadget Input initialization
  • Fix MCP23017 Pump Output initialization
  • Fix race condition with Kasa RGB Bulb that could sometimes turn it back on after turning off
  • Fix digits not properly displaying on PID Controller Widget
  • Fix determining improper influxdb host in Docker
  • Fix flask and nginx logs appearing empty in Docker
  • Fix Outputs displaying on Energy Usage Page
  • Fix API Output POST when using a volume (#1245)
  • Fix hiding Warning/Info/Success toast messages
  • Fix timelapse error from entering too long duration (#1246)
  • Fix Display Functions not properly changing line sets (and other Functions utilizing the same method)
  • Fix typo in variable of Conditional Function example code (#1248)
  • Fix Create Note Action typo preventing tags form woorking when passes as JSON
  • Fix Atlas Pump not being able to turn on without duration (#1254)

Miscellaneous

  • Improve verbosity of errors with Custom Modules
  • Make Function Status errors appear in the Function Status area of the UI
  • Update ruuvitag-sensor from 1.1.0 to 2.0.0
  • Update Mycodo Python libraries
  • Move toast popup messages from top-right to top-left
  • Move buttons to the top of the Dashboard Configuration

v8.14.2

1 year ago

8.14.2 (2022-08-20)

Bugfixes

  • Fix Kasa Plug Output (#1221)
  • Fix Conditional Function not saving Import and Initialize Python Code

v8.14.1

1 year ago

8.14.1 (2022-08-14)

Bugfixes

  • Fix Conditional Function 'timeout' undefined error (#1220)

v8.14.0

1 year ago

Bugfixes

  • Fix inability to resume timelapses (#1163)
  • Fix "Could not determine measurement from returned value" error for Atlas Scientific inputs
  • Only increment the timelapse count when an image is captured
  • Fix generating timelapse with custom file path (#1205)
  • Fix timelapse filenames when using libcamera
  • Fix printing lines on 2-line 128x32 SSD1306 Functions
  • Fix PWM Slider Widget issues when Output signal is inverted and setting duty cycle
  • Fix MCP3008 Input python library version number

Features

  • Add ability to use Influxdb 2.x or Influxdb 1.x
  • Add ability to set influxdb host and credentials in configuration
  • Add Input: Raspberry Pi Power Monitor
  • Add Input: MH-Z14 CO2
  • Add Output: Non-SPI Neopixel
  • Add ability to set Chirp Input I2C address (#1197)
  • Add UI feedback for Atlas Scientific calibration commands (#1198)
  • Add ability to use non-standard condition/action ID strings in Conditional Functions
  • Add Websocket support to MQTT Outputs (#1219)
  • Add Import and Initialize options to Conditional Functions (#1203)
  • Add Input: MCP3208 Analog-to-Digital Converter (#1215)

Miscellaneous

  • Add username/password requirements to Admin Creation page
  • Move Conditional Condition text (#1204)

v8.13.10

2 years ago

8.13.10 (2022-05-19)

Bugfixes

  • Fix Test Value Input throwing constant but benign errors
  • Fix pybluez dependency install (#1178)
  • Remove deprecated jinja2 extensions
  • Fix loading dependency page (#1180)
  • Fix missing smbus2 dependency for several LCD Functions
  • Fix Input/Output Custom Commands showing correct value
  • Fix fswebcam Camera custom options not being applied
  • Fix consistency of Time Span Trigger Function execution times
  • Fix inability to use decimal values in float input fields for some browsers
  • Fix executing actions when no message passed to function
  • Fix calculating next sunrise/sunset

Features

  • Add API endpoint: cameras/capture_image
  • Add Headers option to URL (requests) camera library
  • Add Input: MAX30155 PT100 I2C Temperature Sensor (by DFRobot)
  • Add Input: Kasa Energy Meter (Strips/Plugs)
  • Add Inout: Atlas Scientific O2 (Oxygen Gas)
  • Add Outputs: Kasa Wifi RGB Light Bulbs
  • Add Outputs: Kasa Wifi Power Plugs
  • Add Output: Neopixel RGB LED Strip
  • Add Function Action: Change Neopixel LED Strip Color
  • Add Function Action: Change Kasa RGB Bulb Color
  • Add Function Action: Clear Total kWh
  • Add Function Action: Add Line to Daemon Log

v8.13.9

2 years ago

8.13.9 (2022-04-21)

Bugfixes

  • Fix PID Controller Widget

v8.13.8

2 years ago

8.13.8 (2022-04-19)

Bugfixes

  • Fix timestamp argument having no affect in value_set()
  • Revert changes to PCF8574 Output (#1175)
  • Fix Edge Detection Input storing measurements (#1171)
  • Fix Bang-Bang Hysteretic (On/Off) (Lower/Raise/Both) Function when set to Both

Features

  • Add API endpoint: cameras/get_last_image
  • Add Input: Signal (Revolutions) (Alternative pigpio method)
  • Add Input: Test Save Any Value as a Measurement
  • Add Outputs: Kasa KP303 and HS300 with latest python-kasa

Miscellaneous

  • Update requirements.txt
  • Add short name for input display