Mycodo v8.13.0 Release

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 save 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
3 Likes

8.13.1 (2022-03-28) Bugfix Release

Bugfixes

  • Fix Trigger dependency install

Features

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

I’ve tried the MQTT action for PH input, but I seem to get this error:

2022-03-30 00:24:14,469 - ERROR - mycodo.function_action.mqtt_publish_input_0c240e8c - ‘default_value’ not found in custom_options
2022-03-30 00:24:14,470 - ERROR - mycodo.function_action.mqtt_publish_input_0c240e8c - Error: No measurements dictionary passed to Action.

1 Like

Thanks for the bug report. In my haste to get 8.13.0 ready, I overlooked that I left the Input MQTT Publish Action in a completely broken state. I just fixed, tested, and released a bugfix release.

8.13.2 (2022-03-29)

Bugfixes

  • Fix State option upgrade for Output Action
  • Fix MQTT Publish Action for Inputs
1 Like

Working flawlessly! Overall great release man.

1 Like

Kyle,
thank you for this great release.

I have been waiting this release to install on 64bit OS and everything is working well, but there seems to be a problem with adding a conditional controller function, it does not display the “Action ID”.
I am running this on Raspberry pi 400 on 64bit OS, everything is up to date.

When I try to add a Condition (Measurment, single, last), the “Condition ID” is displayed. But when I try to add an Action (Output: on/off/duration) the “Action ID” is not visible. I have tried activating/deactivating the conditional/action, saving etc… and it does not appear. Only after I perform a frontend reset, the action ID is visible. The functions work fine after that so it’s only an incovenience, but I just want to let you know.


1 Like

If you save and refresh it’s there.

1 Like

Thanks for the bug report. I just pushed a fix and will make a release shortly, if I don’t discover any new bugs to fix.

That’s great, thank you!

1 Like

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

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

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

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