Skip to content

Releases: plugwise/python-plugwise

Energy support and bugfixes

10 Aug 19:07
878e04a

Choose a tag to compare

  • Stick: Add new properties energy_consumption_today counter and energy_consumption_today_last_reset timestamp. These properties
    can be used to properly measure the used energy. Very useful for the 'Energy' capabilities introduced in Home Assistant 2021.8.
  • Stick: Synchronize clock of all plugwise devices once a day
  • Stick: Reduced local clock drift from 30 to 5 seconds
  • Stick: Optimized retrieval and handling of energy history
  • Smile: add the required sensor attributes for Energy support
  • Smile: add last_reset timestamps for interval-sensors and cumulative sensors
  • Smile: fix the unit_of_measurement of electrical-cumulative-sensors (Wh --> kWh)

Fix new and remaining pylint warnings

13 Jul 06:19
3475a56

Choose a tag to compare

Merge pull request #91 from plugwise/fix_act_dev_pr_init

Fix new/remaining pylint warnings

Code improvements

02 Jul 06:36
66bbccb

Choose a tag to compare

  • Smile: improve use of protection for functions and parameter
  • Fix pylint warnings and errors

Move functionality into backend, rearrange data in output

06 Jun 10:34
7df4992

Choose a tag to compare

Rearrange data: the outputs of get_all_devices() and get_device_data() are combined into self.gw_devices. Binary_sensors, sensors and switches are included with all their attributes, in lists.
Two classes have been added (entities.py), one for master_thermostats and one for binary_sensors, these classes now handle the processing of data previously done in plugwise-beta (climate.py and binary_sensor.py).

Stick: bugfix, general: quality improvements.

12 Apr 18:39
0465301

Choose a tag to compare

Stick: quality improvements and fixing plugwise-beta bug #168
Smile: many quality-related improvements, no changes in functionality

Add lock-state switches

06 Mar 18:14
85da896

Choose a tag to compare

  • Support for getting and setting the lock-state of Plugs-, Circles-, Stealth-switches. A set lock-state prevents a switch from being turned off.
  • There is no lock_state available for the following special Plugwise classes: central heating pump and value actuator.

Smile optimize

25 Feb 18:19
37683e0

Choose a tag to compare

  • Functions not called by the plugwise(-beta) code have been moved to helper.py in which they are part of the subclass SmileHelper
  • All for-loops are now executed only once, the results are stored in self-parameters.
  • Added fw, model and vendor information into the output of get_device_data(), for future use in the HA Core Plugwise(-beta) Integration
  • Split off HEATER_CENTRAL_MEASUREMENTS from DEVICE_MEASUREMENTS so they can be blocked when there is no Auxiliary device present
  • Collect only the data from the Smile that is needed: full_update_device() for initialization, update-device() for updating of live data
  • Adapt test_smile.py to the new code, increase test-coverage further

Add DHW Comfort Mode switch

13 Feb 18:57

Choose a tag to compare

API change for stick

23 Jan 20:22
e5ad7e0

Choose a tag to compare

  • Improvement: Debounce relay state
  • Improvement: Prioritize request so requests like switching a relay get send out before power measurement requests.
  • Improvement: Dynamically change the refresh interval based on the actual discovered nodes with power measurement capabilities
  • Added: New property attributes for USB-stick.
    The old methods are still available but will give a deprecate warning
    • Stick
      • devices (dict) - All discovered and supported plugwise devices with the MAC address as their key
      • joined_nodes (integer) - Total number of registered nodes at Plugwise Circle+
      • mac (string) - The MAC address of the USB-Stick
      • network_state (boolean) - The state (on-line/off-line) of the Plugwise network.
      • network_id (integer) - The ID of the Plugwise network.
      • port (string) - The port connection string
    • All plugwise devices
      • available (boolean) - The current network availability state of the device
      • battery_powered (boolean) - Indicates if device is battery powered
      • features (tuple) - List of supported attribute IDs
      • firmware_version (string) - Firmware version device is running
      • hardware_model (string) - Hardware model name
      • hardware_version (string) - Hardware version of device
      • last_update (datetime) - Date/time stamp of last received update from device
      • mac (string) - MAC address of device
      • measures_power (boolean) - Indicates if device supports power measurement
      • name (string) - Name of device based om hardware model and MAC address
      • ping (integer) - Network roundtrip time in milliseconds
      • rssi_in (integer) - Inbound RSSI level in DBm
      • rssi_out (integer) - Outbound RSSI level based on the received inbound RSSI level of the neighbor node in DBm
    • Scan devices
      • motion (boolean) - Current detection state of motion.
    • Sense devices
      • humidity (integer) - Last reported humidity value.
      • temperature (integer) - Last reported temperature value.
    • Circle/Circle+/Stealth devices
      • current_power_usage (float) - Current power usage (Watts) during the last second
      • current_power_usage_8_sec (float) - Current power usage (Watts) during the last 8 seconds
      • power_consumption_current_hour (float) - Total power consumption (kWh) this running hour
      • power_consumption_previous_hour (float) - Total power consumption (kWh) during the previous hour
      • power_consumption_today (float) - Total power consumption (kWh) of today
      • power_consumption_yesterday (float) - Total power consumption (kWh) during yesterday
      • power_production_current_hour (float) - Total power production (kWh) this hour
      • relay_state (boolean) - State of the output power relay. Setting this property will operate the relay
    • Switch devices
      • switch (boolean) - Last reported state of switch

Code quality improvements for stick

23 Jan 20:04
b0bb0be

Choose a tag to compare

  • Bug-fix: Power history was not reported (0 value) during last week of the month
  • Improvement: Validate message checksums
  • Improvement: Do a single ping request to validate if node is on-line
  • Improvement: Guard Scan sensitivity setting to medium
  • Improvement: Move general module code of messages, nodes, connection to the init.py files.
  • Improvement: Do proper timeout handling while sequence counter resets (once every 65532 messages)
  • Improvement: Better code separation. All logic is in their designated files:
    1. Connection (connection/*.py)
    2. Data parsing (parser.py)
    3. Data encoding/decoding of message (messages/*.py)
    4. Message handling - Initialization & transportation (controller.py)
    5. Message processing - Do the required stuff (stick.py & nodes/*.py)
  • Improvement: Resolves all flake8 comments