Skip to content

0.4.2

Choose a tag to compare

@github-actions github-actions released this 08 Sep 10:50
· 348 commits to master since this release

MyHOME Integration Release v0.4.2

Installation

HACS (recommended)

  1. Add this repository as a custom repository in HACS
  2. Install the MyHOME integration
  3. Restart Home Assistant

Manual installation

  1. Download myhome.zip from the assets below
  2. Extract it into custom_components/myhome/ in your Home Assistant
    configuration directory (the archive holds the integration's files
    themselves, with no top-level folder)
  3. Restart Home Assistant

Changelog

Covers: the position estimate of a basic actuator now follows the shutter's real mechanics instead of a straight line, it can be measured in centimetres with two new actions, and one measured shutter can describe every other shutter of the same kind. Read Changed before upgrading: the estimate of ordinary shutters moves by default, and the tilt controls are now opt-in.

Added

  • A roll model for basic covers (roll, a number between 1.0 and 5.0). A rolling shutter winds onto a tube: the motor turns at a constant speed, the curtain does not, because the roll is fat when the shutter is up and the tube is bare when it is down. roll is the ratio between the two radii, and therefore between the fastest and the slowest curtain speed. 1.0 is the linear model of every release so far; ordinary domestic shutters measure between 1.4 and 2.0. Only the curtain phase goes through it — the slat phase stays linear and the end stops are still reached by running into them — and it applies to basic actuators only, an advanced: one reporting its own position. See Configuration → Why the position is not linear.
  • A roll per direction (opening_roll, closing_roll, on a cover and in a profile; same range, both defaulting to roll). They mirror opening_time and closing_time exactly: write one when the shutter does not behave the same way up and down. Geometry says it should — the roll has the same radius at the same height whichever way the curtain moves — but a real shutter going up is lifting the whole hanging curtain and peeling the slats off the floor, and the measured difference is not small: the shutter these numbers were taken on wants about 1.7 coming down and 2.1 going up. Descents use closing_roll, ascents opening_roll, curtain phase only.
  • Cover profiles (cover_profiles:, at gateway level beside the platform sections). A profile holds a reference_height in centimetres and the model measured at that height (opening_time, closing_time, slat_time, roll, or opening_roll / closing_roll); a cover then names it with profile: and gives its own height:, and the times and the rolls are scaled to it — each directional roll by the same formula, and the curtain times by the growth of the closing roll. Measure one shutter, describe the other twelve by their height. A key written on the cover still wins, key by key, so a single slower motor is one line, not a second profile. See Configuration → Cover profiles.
  • Two calibration actions, both returning response data: myhome.cover_calibration_run drives a targeted basic cover to one end stop and back for the seconds a linear set position 50 % would use, so that you can measure where it stopped; myhome.cover_calibration_compute turns those centimetres, with the cover's height, into the roll of that direction — the descent measurement gives closing_roll, the optional ascent measurement opening_roll — and a ready-to-paste cover_profiles: snippet, which carries a single roll: when the two agree within 0.1 and both directional keys when they do not. The two equations are independent: neither checks the other, and neither solves the slat_time, which is always the configured value or the one passed in the call. A measurement no coefficient in the accepted range can produce is refused, with the band of centimetres that direction can actually reach. The step-by-step procedure, with the accuracy to expect, is Recipes → Calibrating a shutter in centimetres; the fields, the response keys and the refusals are in Services and events.
  • Cover keys height: (centimetres of curtain travel, what scales a profile) and profile: (the name of a cover_profiles: entry; an unknown name is a validation error listing the ones that are defined), and tilt: (see Changed).
  • Basic covers gained the Roll state attribute — replaced by Opening roll and Closing roll when the two directions differ — and Height / Profile when those keys are written.

Changed

  • The estimated position of basic covers of class: shutter — the default class — changes. roll defaults to 1.6 there (and to 1.0 on every other class, which has no roll to model), so a shutter coming down from fully open now reads 44 % when half the curtain run has elapsed instead of 50 %, which is where it actually is. Nothing moves differently by itself, but cover.set_cover_position runs the motor for a different number of seconds, and an automation comparing current_position against a threshold may fire at a different moment. The two end stops are unaffected. Write roll: 1.0 on a cover to keep exactly the 0.4.1 estimate, or measure the real values with the calibration actions above. The same 1.6 is used in both directions until opening_roll or closing_roll says otherwise.
  • The tilt controls are now opt-in: tilt: true. Until 0.4.1, slat_time greater than 0 on a basic cover both split the run in two phases and published the tilt features. It now only does the first: the timing model is unchanged — a run up from fully closed still spends slat_time on the slats, a current_position of 0 still means the curtain rests on the floor, set_cover_position still costs both phases — but current_tilt_position and the four cover.*_tilt services are only offered with tilt: true alongside slat_time. Add tilt: true to every cover you tilt from Home Assistant, otherwise those service calls have no target and a dashboard card loses its tilt buttons. The default changed because a slat_time written only to make the position honest was giving every such shutter a tilt control its user had not asked for.
  • opening_time is the official name of the full upward run; shutter_run is a legacy alias of it. The alias is kept for good and needs no migration: files written for 0.1 through 0.4.1 load unchanged, and closing_time still falls back to the same value. The two may be written together only with the same number — different values are refused with a message naming both keys, since they are one setting. The documentation now uses opening_time throughout.
  • The Shutter run state attribute of basic covers is gone, replaced by Opening time, Closing time and Roll — or Opening roll and Closing roll when the two directions differ — plus Slat time, Height and Profile when in use. Shutter run was Opening time under another name and would have been actively misleading next to a Closing time that no longer derives from it. A template or dashboard reading state_attr(..., 'Shutter run') has to be pointed at Opening time.
  • The validator's advanced: warning covers the new keys: roll, opening_roll, closing_roll, height, profile and tilt do nothing on an actuator that reports its own position, and are named one by one in the log line, as the timing keys already were. The configuration still loads.

Deprecated

  • shutter_run on a cover, and inside a cover_profiles: entry. It keeps working, it is still accepted everywhere opening_time is, and there is no plan to remove it — a fork whose point is that configurations keep loading does not break one to rename a key. New configurations should use opening_time.