Repository navigation
0.4.2
MyHOME Integration Release v0.4.2
Installation
HACS (recommended)
- Add this repository as a custom repository in HACS
- Install the MyHOME integration
- Restart Home Assistant
Manual installation
- Download
myhome.zipfrom the assets below - 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) - 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 between1.0and5.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.rollis the ratio between the two radii, and therefore between the fastest and the slowest curtain speed.1.0is the linear model of every release so far; ordinary domestic shutters measure between1.4and2.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, anadvanced: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 toroll). They mirroropening_timeandclosing_timeexactly: 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 about1.7coming down and2.1going up. Descents useclosing_roll, ascentsopening_roll, curtain phase only. - Cover profiles (
cover_profiles:, at gateway level beside the platform sections). A profile holds areference_heightin centimetres and the model measured at that height (opening_time,closing_time,slat_time,roll, oropening_roll/closing_roll); a cover then names it withprofile:and gives its ownheight:, 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_rundrives 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_computeturns those centimetres, with the cover's height, into the roll of that direction — the descent measurement givesclosing_roll, the optional ascent measurementopening_roll— and a ready-to-pastecover_profiles:snippet, which carries a singleroll:when the two agree within0.1and both directional keys when they do not. The two equations are independent: neither checks the other, and neither solves theslat_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) andprofile:(the name of acover_profiles:entry; an unknown name is a validation error listing the ones that are defined), andtilt:(see Changed). - Basic covers gained the
Rollstate attribute — replaced byOpening rollandClosing rollwhen the two directions differ — andHeight/Profilewhen those keys are written.
Changed
- The estimated position of basic covers of
class: shutter— the default class — changes.rolldefaults to1.6there (and to1.0on 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, butcover.set_cover_positionruns the motor for a different number of seconds, and an automation comparingcurrent_positionagainst a threshold may fire at a different moment. The two end stops are unaffected. Writeroll: 1.0on a cover to keep exactly the 0.4.1 estimate, or measure the real values with the calibration actions above. The same1.6is used in both directions untilopening_rollorclosing_rollsays otherwise. - The tilt controls are now opt-in:
tilt: true. Until 0.4.1,slat_timegreater than0on 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 spendsslat_timeon the slats, acurrent_positionof0still means the curtain rests on the floor,set_cover_positionstill costs both phases — butcurrent_tilt_positionand the fourcover.*_tiltservices are only offered withtilt: truealongsideslat_time. Addtilt: trueto 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 aslat_timewritten only to make the position honest was giving every such shutter a tilt control its user had not asked for. opening_timeis the official name of the full upward run;shutter_runis 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, andclosing_timestill 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 usesopening_timethroughout.- The
Shutter runstate attribute of basic covers is gone, replaced byOpening time,Closing timeandRoll— orOpening rollandClosing rollwhen the two directions differ — plusSlat time,HeightandProfilewhen in use.Shutter runwasOpening timeunder another name and would have been actively misleading next to aClosing timethat no longer derives from it. A template or dashboard readingstate_attr(..., 'Shutter run')has to be pointed atOpening time. - The validator's
advanced:warning covers the new keys:roll,opening_roll,closing_roll,height,profileandtiltdo 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_runon a cover, and inside acover_profiles:entry. It keeps working, it is still accepted everywhereopening_timeis, 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 useopening_time.