From e16d944b56bf5e8b82c474780a0b808f5a82ca1d Mon Sep 17 00:00:00 2001 From: Ismar Slomic Date: Thu, 12 Jan 2023 09:57:49 +0100 Subject: [PATCH] docs(recipes): preconditioning status and remaining time (#86) --- Recipes.md | 82 +++++++++++++++++++++++++++++++---- docs/preconditioning-off.png | Bin 0 -> 23316 bytes docs/preconditioning-on.png | Bin 0 -> 23954 bytes 3 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 docs/preconditioning-off.png create mode 100644 docs/preconditioning-on.png diff --git a/Recipes.md b/Recipes.md index 99c3fca..fe1a4be 100644 --- a/Recipes.md +++ b/Recipes.md @@ -194,21 +194,29 @@ elements: top: 95% ``` -## Create your own template sensor from the 'All Info' sensor attributes. +## Custom template sensors + +The `All info` sensor has a rich list of data attributes. You can easily use these attributes as source to new sensors +by using the [Template integration](https://www.home-assistant.io/integrations/template/). + +### Battery template sensor ```yaml template: - sensor: - - name: "My Car Battery Sensor" - icon: "mdi:car-battery" - state: "{{ state_attr('sensor.my_car_all_info','core status').batteryVoltage }}" - attributes: - battery_status: "{{ state_attr('sensor.my_car_all_info','core status').batteryStatus }}" - tu_status: "{{ state_attr('sensor.my_car_all_info','core status').tuStatusPower }}" - tu_serial: "{{ state_attr('sensor.my_car_all_info','attributes').telematicsDevice.serialNumber }}" + - name: "My Car Battery Sensor" + icon: "mdi:car-battery" + state: "{{ state_attr('sensor.my_car_all_info','core status').batteryVoltage }}" + attributes: + battery_status: "{{ state_attr('sensor.my_car_all_info','core status').batteryStatus }}" + tu_status: "{{ state_attr('sensor.my_car_all_info','core status').tuStatusPower }}" + tu_serial: "{{ state_attr('sensor.my_car_all_info','attributes').telematicsDevice.serialNumber }}" ``` -### Same example in legacy format (deprecated - see [here](https://www.home-assistant.io/integrations/template/#legacy-sensor-configuration-format)) +### Battery template sensor - legacy format + +Same example in legacy format (deprecated - +see [here](https://www.home-assistant.io/integrations/template/#legacy-sensor-configuration-format)) ```yaml sensor: @@ -223,3 +231,59 @@ sensor: tu_status: "{{ state_attr('sensor.my_car_all_info','core status').tuStatusPower }}" tu_serial: "{{ state_attr('sensor.my_car_all_info','attributes').telematicsDevice.serialNumber }}" ``` + +### Precondition status and remaining time sensor +This recipe creates two sensors, remaining time of precondition (in minutes) and preconditioning status (on/of) + +![](docs/preconditioning-off.png) ![](docs/preconditioning-on.png) + +**Caveat** + +- I choose to use `binary_sensor` (`on`/`off`) for precondition status, but the status actually got 3 states: + 1) `PRECLIM` (on), `OFF` and `STARTUP` (starting). I did not bother to reflect all three states, but only on/off +- the remaining runtime minutes is updated according to the `scan interval` (default to `5 minutes`, can be changed in the + integration Configuration, but not sure about the side effect of increasing this update) + +```yaml +template: + - sensor: + - unique_id: my_car_precondition_remaining_runtime_minutes + device_class: duration + unit_of_measurement: min + attributes: + friendly_name: "Precondition Remaining Runtime Minutes" + # we need to handle that remaining runtime minutes is not reset if precondition is manually switched off + state: >- + {% set evStatus = state_attr('sensor.my_car_all_info', 'ev status') %} + + {% if is_state('binary_sensor.template_my_car_precondition_operating_status', 'on') and evStatus != None and evStatus != 'unknown' %} + {{ evStatus.evPreconditionRemainingRuntimeMinutes | int }} + {% else %} + 0 + {% endif %} + - binary_sensor: + - unique_id: my_car_precondition_operating_status + device_class: running + attributes: + friendly_name: "Precondition Operating Status" + state: >- + {% set evStatus = state_attr('sensor.my_car_all_info', 'ev status') %} + + {% if evStatus == None or evStatus == 'unknown' %} + off + {% elif evStatus.evPreconditionOperatingStatus == 'OFF' %} + off + {% else %} + on + {% endif %} + icon: >- + {% set evStatus = state_attr('sensor.my_car_all_info', 'ev status') %} + + {% if evStatus == None or evStatus == 'unknown' %} + mdi:fan-alert + {% elif evStatus.evPreconditionOperatingStatus == 'OFF' %} + mdi:fan-off + {% else %} + mdi:fan + {% endif %} +``` diff --git a/docs/preconditioning-off.png b/docs/preconditioning-off.png new file mode 100644 index 0000000000000000000000000000000000000000..2731d18ce2bfe65d4d652914eb59845943f55ff6 GIT binary patch literal 23316 zcmeFZWmH^S*CvWhgeXu@P-s$b#1x>QVCxeM6@4!yDoXy|&f3__!UziLO>nF#qMBkaZkmPyMI{uBf{68J2bed= zneb8Ca6}Zy7;nRTGV~?!o@+L!wFVT2&^Zb12c?RaUUhx;E@#5s?@PuRan!k4ylJkx zYJsHO3@6%e#X$=_;HWYTiE}{pU_XDeDgsMjprAnToyi;OSrjx0x1H;azKV>@3vW)B z$A+c`S!%HY{y0yVvoFF57&J0E$ zWRb@A0qoCf6#~YdyQI(4QbeHHvO^gvGpT+-_EslaC-85S$;+HXEQ<+Z#(~Zl@}6d9 zw#Fh`eH~<(5s9y#2xfmkOdV)3%K@3$)g_9mvEtQ5`}*CiY93ZXDu^L-r*_%CtcALY zgJ1l*dN-f#Iq{h&_&qBSnWujn84{p|x(X6$o+s1)nnaBzt#q9g(CE%tNHF3*9XyN{ z;ysPAiXm^M^!q0J>MMrj7ea-ICnCb0HjTebDhw4;*l^Y3DfBA7-oqD* zk*ebEWxl43&K~zlrCz4HV6FOA=w}%8149D`CFUEsitjY5AT3yAhdrMzl!RlOD*9*d zX^l6xEIA6A(zby=!IvoRY%eqI$7T1j!4D#`U$MyOdfp-_jw70H+HTx*)ahEnVA9*Z zmy8mmv9n=v7k*!=f2dX?^cBBk{DzzfDNHe}>&NOmezu?$O%Gb^i7`gQ2HsEl?o}yx z8{t>yC(mq!Wj<5NHPR&$k!JNE>L5@;6Tv|vM777E)A(4BTO1S}`KyMcVYI?yMIpnr z3im#XcoTOOw9HD1<0D9c<$a%N>vO6NP3Lz%MWJHr07Y=RC~^}-eEe*c9|PKMrAi6> z_B9S8GQWS=G1+Kc>4|Q0U1{$vL_n~|(?l&QSc&adThOx$VL5#k)*yU|XB4xm2(@H~ zzLM<*P!>$w*jI!p-OgU^>>_+CtSbnazBVS`O4UvkqN%PQ~3NI;z) znY>Cr9c^Kky&KxN8Rp3(oB|m%5^D-yg{4agz|PMa3lCwC&{3)kw5(7W*VN$n&o#oe!c1}ZAf zJ)PjdXOvBoLm$U{q*`1~ja6n_`tkEe_fF`y5+N4l%Ls&hsZ}#9J!2JUU-%Xz7zD{q zd*U`5TRU5Lp-T_>#^%M&z80b&tA1yzMKY-CG-7;w?%PyULF86Xx$A4Po1qz&m0VGH zZ&XPa1*y!>9Y%;S?$UW3wC~99VeNHcx7J|zy+KG&ZREsazHm`6G_Cs;%e?X4FLes3EBMUg%;^qd0vQScb|&>~1x)LDxjETt=uxRF$K3fxd0!J0=juz!DMN4g%|c zR-?QOLTwkjkJ5dC6)dU{_4)-iCWV3_0vqV1s0#UBG~*kNax$LJDH2SS2R$U~n7@1* zCBT{Z`5_;(B=Vl~Vi|p7cn$MTs5>ih+prQTHIhkq>YMVmRVBJWxVD6K2FW&RB^hi2 zN=|5^J~}?Ofx)QSt2iI2(hq7cRU(x2s??|&ho?%>3-RuPux)vVT1l2s&^xegNx=l^ z{>(q8*7#0%8wpwh1l#Y9t>FmUqIBhsX>5=TkP`h~`eBLi=<%(vtT4F8@gg4uiG5=l zP1;6I@50gNwB@yBwS~21KEWwVz4n`yql`Y6x_qId@H$xf6?tsbWVBO^?3dy%yi#O6 zuMDxvQF;7Q-r`1w_HL|etz)kjtTUaOgdlW%S$!9rbNq6QPWt5>UHDh}ud;n6`7{$r zyVCD6j1{*OrWDM7nEbfMIS$lzb(} z;9c|y#e8R_r4iHD^y*NIu_{6uA_Y0AnF8NE-e(o?D59@ICRVlCJBmY9m1?+O~zc$UC%AgE6!ytzg1UpO7dwm$hbv16*#3w#6={_ei>3q zMM+)bC8{5JCW+l$NHg^|1O z!y}-{;ZdDpof1eZ6jv#G5J!T3>F9Ey@R7~I3b@0yLpqQQ-*XCsqmn(0J;kbaqO_}Y zsb`vQ{EbEB&~})7Nm;S2w{7*wt2OMO0yGZTg4mh8uVP|oh6#9|;Znty#f=VZvva&g zV~}?!w@6@mCdKO9;+7O2$onsWYLD+v5 zcT`kZ^rZ+_Z9>CQWAB4~VQ8Uw;nCcP#l0oXoYIVD4fQOWrM(5$boET8)1lJ`r{_+p z`|@rex6B8GyGu+zOl>MLs(gugyZ4T|JUG1L-28Uqj$sZAPKD0yJiqh}cY8Ldh9mDc z*AKt$RSxc?Rm9oX+Lzg9otfkD;iXCY_dBX4nFsAzOd(9ET3uSf)P!5rEbJU+E#TF1 z)p=bUpGUcje>!(jcgb;8`LwA2k=-C6G!d^6N!v%eqA9}F{gcle^@)Qeb`v=uZ>I?`2cWK`i)p^d-` z{}u*>*lglfVNxy!uP2--oGo0`rrs9Zw&zP0kl=3^Fz$EmUmqw75_m3w6pExl>J)0w zxni5o+fF_Viam}FC)=N8$MZVabMX|uUSRZkP159cOfHS+tCuI=Yga7 zPIL(=7l~>1EDr8ULCW`{u0`|uK|}-E0Rfs9)ut=NB;V?gq^aGHQw&{w2ZU_Fa2f1(cVYJRmG-Ub~!<_q-lqv zfduxcWP@alVTqI`8>aR7#IwRPTIOqQZl}?^)oAGf>5F&)rm3ph8sf)=hpUbv(jrGy z{*u>~u2me>ksk$ZCm_2!=E74$T3ebe?o_)HcY~eDHP+z`6Sm1-4R^AKsjAMXN1n}G zTi_MX9oTTh4G2JKGJ~(;?tk2vY)B`^2R@=)7i3$@=xovV7WhnsE^W8WoJ<~ADtgI4 zI-FgPz%9%V84$fK$<6Mw^e=*r9%-lk=SByrb0y(Rl+6odJw*5z_SBj;B~S=NNzu@) zdn8aJ3Q!px4+M^d`Vd+!u`-ibs^j!h{YW}45Y)#Nh?@oTeM235YqO=z9sI>aH#CMQ zEO{GhMscyIrA-OVl4@TV(iL>FL37Slwy&2#h`<)e72=M-rp$GGcB4b{#a-1`uY45P zPQ)3hNg2O;2lWcLMuLKe#)5(cuAqTGC}=_`_9c{ zl~D)2f4`!D4(yJ3BKuvol%SnJ}~R@bECRuraf-F#;tR z?Om-L^jsLN?5X~(h=d_3G(cJ30tZQvR;!pVz#a! zuVw)aWd8kxnU#r!`9Fy{m>K_1#C|{dx7feh_3!HVe=Flvwl}g9wYIc0vT^`Fd7S@W zHT{=|Pj>!W@V%Lfk%gL=86as7v>Lm?Sd8WP5*BkGI{?~G-7lxq}~LS5BTJy-coZ6O@s^{m~J4i)TwI9G~@D2acE!+&}ME z5kih#6KcIGGkEF2jxJk=~_%DZM~XXkUPswR?>lf#eF z(5dn49`3GcZf|ebX*FOk&w~s2|MCPKo{z$YLmwqdh82XQ+gx~C^twbYW>-2bE0H^fwRjf5~ zb>pm5@IPIqF9U_SvhPz zDMCr5n728t7cKUtO1PRsNkVAW1JFr6b_9Z)J$^dGT1}U>A=l}vs@?qMRlsH;Y7C*C z%*bueuDpqnk>zuF);(<;ia>Aa>)EGdOg(!QH%VHMffr^LoiQq?Vg#o5_TVJ1Wff|sfKO7 zC#58Z`S-gi7D^p?(9cOk^rkJ-KgC*G1U*+kBA4xzFV70Tdcohteix2PhDt&{@Cy); z&isLb?261Y;FI?zvuSES^{-3M? zE|4UFC~;#SRWdDb7X`|cYZNYee~9`a@n2Hz8>WzGX7Wh;+K-~7~K zLt5`@5rbHz9#>j^2{pQ>fbvGd3G|*)(KZ+F<){>oAP7PxT*rVfSq*s#bSoHb4cDSr zKBwK$5s?VY=YE%$m*d3e=}+2&gcji%t54PG-%3RLYf4H=e!YLL`qVZtazyBoqPMTs zZQ2$8i`{5G?v*O0p_*p-g_?hiM{uXqDYl0j*ZJZ1n)_|JMx>J4Qbh(e^OH{ zV*nUC`{touX+O2(KNv=dbu8^D-m4(Ogu>YM{7E4`W>i$Dyg}ZpeAe?i2}VB6R?o5cA796nk5F|+8y z^|vak#S!XMr>ATYq5$kb$&7!)M?>D@MX+gh|d}g2Pd^Q(OxCv2T&nrqfCO3tjP38N=V1BBZD)*y)sL8-a$;#!H`f4ogLI zXjS#FJLc?s2Z>^hsSnRWdNKkdKqwv0Zcc1I(4uF$7n$`cb41^&XZoeywNtR7GKq)q zJX50SKO?m_(hH<>R|>9+s4=Wn%dZXiySs>ixc2ge&TaHXwj1rsEwfMS4WCA2plr={ z;#?62>$@P3UYDlwyL0H4z4#{Mj08Z+nEHzZhMnO)pi?iHOdWx z2UGc`9v_ap<~9eD*?&$9tzvU8d&BOR_cK*YPO9AXNP_kI;}}Dg-em4jJP3JtW77qNdWlPzI`Nx=A?(G`RhWHezc3Qq*Ok3706na4(4=cuG z`LdCCW)JeRBJ4JrkK0jScDozdWnbBT8gs^{0Vd2JXUyNNY^8}BOEg_p{G9-!)ipFU zhCbfjVW_O@BUWiSeVYibQ@vVrv&Pd~^0*o#m6xms!s-h5n=GrdEFJ4qrDt|{0=EF| za?yc?#bL+P+)w3DyPtdgh{;Jw`}8_DZ&6^ljuvZetAS3PZdklvqP=du8MK}aKqJyr z)qQLDpy&YOJZ~EqPRP;sK^Stk1j$(!WEy2s6F^$J8FFSrsngt1WZR>L_~|M1{D|X) zi0tBSRVwDll!3giJ1&9p%@z|%b4HSK!~Fo%<-vE_Lp7)&UeP@ntqJ5Kj6=Tp-G`1} zGn`K9xx?={`{(;y}@~#hVQ$V zfzWbhASoLd#UFF~%$KA!5Z-jv^Qd$|j+P17zWQp@Evk%R2YYQJnZSz zM0(w?4S9t!#kSmUFgtC;s?v;|2!SuB4Guhx+|mz#WST6|5!9$OjUG&7?=Eh>-3`<7 z1G7Hr=cd?&>}{sLHv1xdx0!5BGd7eixFmUS+O*&_SH~6!zBMJ{b1EbfYK4kW)pqSF zuG=Iux7a6UJ-}X5T_f?rEbGh;4HAY+5d_h}9i~I>P28?m0zJx^mV6OG)pG8u*a48< z@gIu7qTTUw*1V+7L5mX6iP&jc@3Jh?W8ffD+U@3a!)Yfwp3pP2^mwK5Y{>pG^d6GU z?9p4=iOH7jj0oe^*Gv6AoGF>_ur`Zm*~g3KVB*&=ed&0nDnv5(kw>8O2#TS=VtT7% zEUjAy)?N)OlH9JRhUQjQPB)M(K}eYw;Gvg~n)0W)P0P(r2eVAYD9!soo(^ht+{?M& zJNx<|uDdOsk@D?)kFi+o4Cd5rh0Y5S8etBmFMIK zlR7t%=Gcf&O%i4e7LF*3h>z#Ff_2po+meDG-43eaDavbUEoUoxtBjg0$rz~8-NIWC z*;&w3Q4i&F(>?3YtV!98!)(*nAKxw3{`?+D1_(+t=B9mmwc)8{+T5IC5W(|PR^UP@ z8SGJyM$A2;?e*a3b~$5mkY7-2*8*RB(G`j}=iG9qmHwTw<*qS`h{Yi+e1^3q=!`L0 zV<0sZ!+!2APbD=W?R$PculN8f!EscXV)z6JLPUbDBW!@0qh)H9mG%*WriFIR{3L_> z=y8$a_6rOgz94L}pOIuoq(MkQ)?RmWPWLC>ccOCcxxZ$r zTmKS9i3Edy&jKSH-4UXkUfrsm#_K6k^<3zcy|)%wcq(!Fkp#@ z%UvSam32Q7zU4;=^Ac)Js`KJZsx=EKhzsnutYMdP-sZ5ej#Vgm%SnkKOjzkOqW$c8 zx#L96^E5_kl*}L5GUQnNJzSAHzb3{Oo~DhDTPb-XCWRl}%@}$mK~_@*yx$M&sdMi8 z;@XHC0XSID2e2lW=Gr1JX&CmDrM83dK!RS7JsbwJKx3mg+Kpz3{4A4($LA|(IOOzY z?`K{l&wpLEv7OdUUAwUqGdI3S_j@5B;CixRDiP^&R z%pTiUi=Vb{1KhXO3JY>Tfbs;f;e+>Yh;3?Hw<6G{H zXjk8a!lQXbJf~Nw4P*d0!p-CgKA3I!o}G`$(Z;Z0MPyzC5f;9*>hCD&v-b^^4eHmYT141vbv@&5K{!dm?f9w8%vvdSgeoDUQrD%>e4_W`$CnF zh5`bJL+lQS1#CR#w~tK1&|dhh?MKh(NnnDUx{^Lq6NDl-iu$z&nE$|n$x?PjHYkN< zCJfWxsOhujvFN$_#OO4q$J5R`uuSD1GP9{T5H;NNGd>c3O}p=nQ;zM5wxk@?6epFU zYw+^z4G_W0F@Cp0Tsnu*_p->1^T#3r=93JnAZ=QD%7OKdLk`89Tt6UN3ucvuQV!_{aK_wc@S^1 zo%s~E$@l~^f%HjB+q{23P<5_9&vg;Yb1gV1o*u`@fp-`fxE5WqM!Q<)lD&ekcGhF$ zs-0W-Msb6WeaY@y51a3-Y6i)y)Ph)L&Ko@pPN)Q+^*Z@2=KV0Z9Slz1pZnCv)&Hpd zA=Om1`3a0I4p-?l>` zY8(+8xGDWO@oK7T4{~(aFt2Gh0n+PF<`F^2+->OJQFjLxJ1JdInBEzgO*>ye{cw7N zz6q@lFNmY5k5n^}~afv-g^gJW7%)7yw#I@sxfI$?92w&cnw(5Ap#XvEZ2DCYl66=5n>l z2Lb#mkhXep!y)gLLT{zGyg%`cxmP_!evrGn2tlLWjXu;b>lDuQVm2q+Z zbi?A^D=%}`Voh5%k~4iKBPcNqY5n@>PN*Ob=@_Y9glFZYluU_qWvpf`*x^=7&4k-_ ztMAZtSX)k^;%G@Tc6_+3>s21mUbqn33kq5kI`V)01slh}pyG!u$IsgJ?5IKUq+pqm zUEn}NA~`2m4ayw&2T2~E1ru(kNi?o>yB<_c8Ot1Qz4;#c zvE2`uVD0NiTBF;;>H<$)tu3{xM@Ljr6nN>jAL9 z{<@cOVxtE69npA-dc1!;sDF=wMTyO{*Y4KC*wor zR%$-loype~%3A-T-0{cpq--nO3N7M>7jto`!gsy^`xGH(+OuVN#*awsWOjp*4*iTZ z*QPJQHod9A;TBqPDJ3mt2zxT>OWA#us53O8XyrXlR&Aef41Nb;s_zkQNlA&bR*tZa z%&!xc47U`yocLf(S9T$obTROZ`*b6Gpu0=(POngEqxV`@;NjJ|Hy_NFY>jy~d_DON z))wy;7wLV`CU3mHc1c|yvOPl#K5`7x+Z6Xh4zSlDJJO?!Pn#*6r-u7CKljrvlJ-Cu z=H*9x-=9bVj*zpBxYdS=^zS%zszPZ8mhX_ss$~&x^OP_3nH*o!$JOmwZesN$qm`AmAG>$^rJrTp-%E?ijc4N+Eu*yM>E0W;@_a|L0``(A;uqr=NflVE zJPAA6*wr7wmebdIYexN38k%*+O+n9+O|pOPorzeT)j#L7Xdi;F(&1#~0`D@^wnGQID^&%+H-M52lTy#_tj_mAqiapgV)snGkO>-Pu^Lt^_K~yKDNNamB z=JoNKM$4$d;)!POkkrHo!UxBh)DXBMM7cAGzoC1{y9e92bjSMaMa$Q_yAZV1hqm?` zJK8>vydm3-WF{|Qv>9%Do4&_|wYA5wnb)r_;02QGgm)wDQ~!a5$3!vpzBVc=+%BXp zYxr$Y-8L>>y=p;$`KJqq7xyFD9v2f|G&kGKq>p2liy9kRVUsc3V?<5Gk%QigBsd5! z719|QhK9xt2WDiC9?@?(^VIqASZk9XW3RFs_2FYOb;*<+pMAK18F5hN? zW3Qq9tek)HCmY#&@4X)j;)U*fsh{yX$#h{{_xG`c z9iQ_H1}V$I5Wpp@vB9*~j^(C9xfH1Gm@eSSikovDH4^(b! zemT&rT^XDBiP*34DdR52iihl;?jyv@d8wH%)`b~3O8B|$5BBr8YPqWGS9=qeDkC#k zhnRbFB7Z}|ViZEQBB{zg0OCAg=Ko0s`d5K5`;Tm^Qu+E z%idOBd8Va@GTK7zHh<9T{%CT3`r&(yhI*34#(eHUET5M_#nDabia|UnTQJWm`LYV_ zW`M@^IAdnL9B1(&ry*Ft>wzrIn~b9mHfcwk4ZcuS#yA-E6U#9al?^*maUn)nN23xy z(g&$FkcF-l%hE$<$0(>4DJM%tP?*6NE1{rJtt~RZs0&I^P>sc!v~!?fL-Z>VA(fxU z@ub-A1_Qn*@>DY?SoijthujZC48w3!f_N9&XGvm~JBx%*4pH0fLcNkeI|rj$kKfOj zNi@w9HxWA_hp9*Ixy+PZpE}OzQux?cOwOo`P)K3gBjl(NHJLnb$I|N+k3DS?hjQ_! z%oD2nm7KnM_*Z&-wR=U)=SP<$jkR|wYjGBtHy6$qiCYkuzIk5 z@6@m7wg&s-Ui@&)CRzcuh-F=o4(C+d@TcibutRE-!<^hf_|{QnoF6qPbiUw9%ZT1s za58(aBAAD=Sc`uwuGz&p{`C&uB*Q0GkNC&PH&9F5lOZoyD)Y~!m90xg_ms~++TIheEl73}B41FaojvLmjI$6sN4 z;MyyZuTFp}TNQ%5jiv=1C8K_EI04)2hFkH6HS4JF$*cwvb~j}#Tpf1yy^h5WR9Ldy zD{x$O6?md7284v0J(SBWafjwJB-k|8m#c^;vTo#`F>M@9Smhm$Z*`YNSsda8Z3#Z? z_Gb`{N7i<}9XM4-!V^rOOyHUeo4yzuKPJ+RMP~km$vYk`pXR6EY*YKJ|2**U;E;xs z>E{Ju&H;+}`!{oV>Q2OCXWuqxg||Ed<-U6f>v6)=kDbI0oPQ?iK0{W_1s_r2`Hhd3 zag@EDls?3sPd6u`pPLk$GRs-+(zN-AMRqhel~$P1!o=KKFdM()x_AVEE@sf)z(tpIY)KxwZ9&O76!tx!8)QTZTM*V&e!=78l-hQ)f z4mj|*((S%^_Ge%e;N(Ql8kf`K{ux+t6!=G zH|9|Y*c0WXn>fqVRv%XxRJ#`Q2-@bS`^CFszIjGN{vEaW@RSzK=$LH<4{7U@VX-i& zCV1I+natFaY)LIo?YaM6%5&jbCk)nWLfcfgXj#098bkOo)m=`IOO7ux+grhSk&-DE z%Xn?$aR{o}U7nHhTX#>?N=96p=EU~|{d`w~#U}Tg*B*Cnw%IAF)t~w(m z*T3$A#F#ffgYDdCm|lU$~WGAEA*GRIJFLp@{W4%G)R)(5`ys_JbiYMYqLu5WU~$7F!lc zg8mttF|Hxy-6Fy3*A&Iay{nl6JoeZf=>a?)rLvnuE(ycHDKB;I9L%2K*Y~naGrLlF z_}@tO@Ub6%X;;SL+3p+oQP~q3qb#u2-R>5omR>%}Xm?T+yZGqVkqfF%pw{d1ENsYW zuHFO30y64TjY4htG6ZcKJD*)E!lMkyVPkO5h%!BE36Dn%j$sRUZ3N&Y#dEjh%^>zn zg~Vf8bmyPY#+()=G8@)_F~QkYb=B6h<(&W6?Rbiz#YlU+&YIn{w?P_CXOaFy^M}2% z{;lu(n6E42gORh5NI%B0nVgy=4dDtoLNp5Yc>+^s>EhU7+)h)NC0Lum$BZ(Q+u#!HtWIAfl_zs_4Y4)7}m$zQk)0d72!9F?S7j2OfsLkF#pEPw$q@P z*=Dp`U7(HL;|rju9h4??Q>@dkk5?s0?g2c3IlqO-YAs`Ty2_xeg#Cp=S0xdte_*qE zjMl*TwvXM!_A>DXYLbag2$+Evp>5z;($~`z`lxKS$3v27iBoUUa5lO$tF0!3CgdId z29tcCp#6x!ZICN3$X47$2Q#{t>AbKk_-1|GLE+iwR!G$^-+C3Q>g9;QbUiAkX-0)t zT(&m)VisB+Ta_@o#^HYNqyNGi$zS`7$q6nn)h>SyJL_SE3TqPtPBD#M=xmMnZxOIA z6)S&Or-UkzW6&p4?u_`1P@zJW{^vkysy@O;>$^j1~+%cvkB?_%YgNIh468b1?R zxi}HSF7(ZChRaGh%zTyeJS;oRD0C7&4w3z#JOCC^m)4&M;sI&XvrYwzYy5@vyk~<6 z%iFT=CUO2+7{+Z_*oKa&uD3UNiB!gyWu@LQ{;<}isiA0ano%?0m}5SD$KU-LiUDhdD-;Q5d@TNU6nV^E0ev+gBc5%jyj zivkPm9q$<5(MrZAaE|9U!rD1@vHZ=%s)B2aKUz~Z*F4P9ZB`@M^3i~6rk=WjT|x@a zelXnJqAiBYB&;Cy4|{@z-svCogtC*oS&CQd>t`H|wai&RzizsLpjkItnd3I<9u&PR z&aI+a;Zs%CG6(iO)wUC>elE#Ip=nJ5W!n#5Qt;m_mELm{ka2QS+*(y;9BB^u@zVWm z-$(&cDIvT$6W8n4V!X_QRCvhol>eZuK|&|U>wJ+Z^(vuDxP9_ZP~s;)z)g|5Dilwa zzIO)@$1an6;(xp(mLZAsrso35_&Md@wUNVg(UMcBy65~qS4Pg}lb@g8WA^_g9tt4U zVKT`7dGQfLj60DpfQ600G^4BjrtGh z)&&DlFUgnpgj7>vBm!S#FcH+ch=>T6akW2ierQY^I1yBy6Rf}I1R#!r@O}gRRe>L= zp0Xzs7)$&mvV)$|4ucs8gOiV-i9a|sA^>LuHT*5+QznvY{|@X4(){qJ!1ntc*o3i^ ze=uGee+PDffD+MDU?cqo<6plL|AUj`@|)qI>Xyg(hZRXemfHy-2_hMu*W3WDK(c_0 zcM{aGNLpgvm1bE;OUD!e`v8?ex7j43sdbqG-#^R<0P+jz zZPf$f%=M1sbV4e6bPRQ}yk|R>+qUwx`M44e+d8K6In;i-9&b~U>K{38TAgPA zj)LVVd(F(`CF9HPi$8qfAPM*aG1Jj{pd6ELKe{yS;7gc)$y~BMsdHQ<|@fi=HZZk6@R){k)*4h5Tnz<&9`7u%`r+m3#!`|`^+ ztyx^3FPPKTEf4!;-K6&EqUb!|rFnc2(8}xU>zVF44(VQdOxxj=V0d=a zky=NLXOO~3_$C|QztW(7t5jOA0;@|f?JYNdeBe|C4{72tBbl3Bj7vbYvL!dxOa9HQ zNVzL1OO531M~GacNF<;vXJuW|)WL^33Ac9dKo>Y4S+7Ins;0RIsTOORNyjmi)!A>& zwm=@N=Net@SwgC%-vBHM^wNH&h5>+Ia6mQ|yc5XKt@dp4zlr3K6z9H{V zDn$uU5{z^3^&DRLxUM1zvu-)zoXELpR1CVUf110fjr@K+cu+cgQtf%8X>R_JLEr48 z|6@-S1*e_iW!<$zB&lV?QFBA8O*^vFW}?aLM!b%d^P;QCz3g|qNz!vkX5xjk=7pTmQQFa4aJ+X`3qt5O~N~)?vApZ8|yF-ofkR5fpSF%R9KCQnQ z4|k{WEh+mSOwG(}=dfvHSirwwCM|$(ak*PiBGJQ-|+e}IB+H^ zda_Z^F)xm9In0`NO~7sJ>dRamC;mJOq>RYo_GIhBJ1s%H*wMnd1J^>vPq&krQf`A~ zIXN_UeX7l0?7-Lh5ky==0OAf>>keAJ+vI97BjU8M(eim2eIYlBJa5}g!ufHW&IBIt zHzfIs;K65(*kj;KgElLwKNd{Q{(y}Nqt*&^;L%*PB&iwT01f%Q@8+3#+_4|tz+ltL zR+a!b_D~7rVoIlm?0y*$Ae{1F*}at;5y#Uqbf~fe@$D5>U^Q8jP}oP9yhg4QYbe$4 z*iJ=%W0tv5L5j|}s(>YNpKG+nt8x0PiSx!gCg!E&yP0m40nZm@ovN<`yA2VZSB@?& zS`7Lv-P2rF zgIQ*Na?0kadRY{x-G+pxI=$(m`!zYZXW3N{8QZ*E^Hwb;0jKuI%AldE+IKZ*kv5B! zcK^${rN_z4*6ucE=nZ{Ejk$+ADT;{uo1AQI2ZQHWJ-&NXACWpB1+SfdI;MVq=V3pE?Kfp3=RZ?6*s}n-2AT7t#&1r|AB>Gwp1&CzE7!CCE561C zT12IF^Nlgv!Trsd$2il{oMlZa{n>U_q*IPN0tSosTCA#enR#*DPeP)GTanekO_Cvi zs_}3fD7a7D%>w~O0&br>fEzJG>Uq7wWOPdsHgelZ3tqWT%aKjpC3e$sJK&(wDz=%{ z3!Lc&U$Wx)Gg+qi{-#27SYzUXQ-Dkz@`{GEoM$r=OyY^;oF57;%kk8~B-*LzPPpht5nhfKqec5|Ja?)~YqhTwtdeLm-#1^{TtJ#9prCU(kFjCN@^+ zT;!YTwMjgh1>Dmk4!knh#Vso{hY~_?GsyE=eA|O5rGbd}^ z4S~;LR)L_cCh@vI>9xma(G{{w4j*>kWS1IU0okl=`C5-q$7_BmGe<@x?EWP=t-wk4 z>$LQGPY1GF@y>HC*C*jTE1O%W382p~UkUqZyPtGju7)zxjFrkODy|KM9td2`k8Kl9 zJ5FicOu;X5=gOs93Er=O!V$;OxaOBZ)Gf|`^C?KzJ!w6y`PB$gx4TLOaqn}QgP=a+ zS@9h;R`4z9@^|8siHv;y^3sDv3+T!{%z37ZDnEM;89iTai5_^^RsUgtbF@ud+H&mA z>`;c|vZ!hQdmxHwpV{hg^sW85MQi#}l_*+x-vkL<^9U+q5cpcxxjC8B5=CW3z`O2eU7Gu{5iB^6%(M3H-R&NJTkZ%K zk`3B*=_f}gGG{SCXq~#Zpx^L02^U8;8Ubs)qqKQnbJ}%aus2cMP}wNoVLU@b-NuXc zfnY|EQQK#DPxhO^d)1&?01@wKYBQkdnB9c6zPX-U8Gop0c^I^5HJ;|t-#$x+G`f-N zVsZmS2!@Bi;XGO~VzaW06-hrMIK8u8InQ6n<#JxPV?*Cg0T#p^EF>Pc+zc zb~vI1!GV>_x?zu@1tENxVNrqtv7A=lM5$U#bAUaSx1tzS1#gc24Og0^*-sc1Z5108 zbrQdQkZWoGUL+4O4z(UDf@d?q(6%km)6QfTfzrGF>@vjr1;Bo2VLj4VwGJ`st-tSY zjkUAgQAm8o_tuqBp7=Am&*vjrSSef@O~mRYPq#aOceKl3t!Yjy>M*w02sEXu?|AX5 zd8&$UlBW~k;^3FQG1#D-|Fl9T_0RW?KQ8vVYrOy6?dHD!KX`7yI%oZRo&^@uTJ_0<97Z(l~EP_=3ArZ3Q0Ed zch&22x~W9|hGH7+Ez607>1oOL~!y&%?lJr@JPt9g4xQXATI z_i{J#C~tW==OqtkHbxLh=d`k_)`l1fuHY|h42gk`pRgfB$O~T`uy4F4*0STZ?Lahr z)afN22j-79eO&F~^51?l8Gc#%ae!F6ed)LJWbxSIBw!{*>JvSLmKOoFvVNmo#GEdf z1m~jaRUc!qDfP|(e7*F7p{ojqAsG**n1~GHqeJ@H7a!d<;Z9W4tiwig_(%Q30$2ES}P z8i=RRQH}TC1O&MHhR>5Pms0zV9U0(veC%AWu}U3|RU|X`#+`R`rBFk-@hDCLZ?Bo; zN&CRff`=`=f^@6*p6-e6LM#X!00GqVikb3PJSP7T8mhUvT%esjvVC)QeVqG@nkpvg zj!)p*(s!6k+MPGGYW|o;aGj(rm}J{9l8qFP#Z8y$Eqohu!yRu_Y2w=QD1eDrhJfE< z$4VCRVAuROE7$V#MhpA;0ie8HXodJxT(KY6z32PH0eyG{{tgMae_Xs=*kZJ+INEUt zVs>7uwwm2!INWQiq-zo&_xv2kG!##!e@xNU{Gr0Qj)|vw3>NfRcj}v9#8Mod0YGrk z?ZGK^z&O^)+KX(%h6C6IPDTwBBM-4)5NZ2Bpyrv~D2bReJ~Uaa47Q^29^taP>+wp* zS8!Q*jS~NHD=Y!Y+)L&j%DFnsl7!58&Gr=OAH~! z)5ziMZv?QGG?Zs#As%HV4N=2Y(^_f7lKdtb9di&|Z1c}VWY*#*=({%h-=<_J=$=)u z4u6%s6U+GZo8XO?i(v4wG@>)SdAEoQMNrBnWmj##UKbh_T^DIHQj}B6r_pvy8SBD0 zY@(fSg=)L}L*{1?2g7rIewHdXdLf$7q!L;)J zg4s;hFRRTCel?Cc(-iK`?`LbM;T&V4B3Lb|(UyOJ`fO`&iO8sol+B_ajL6y6a#BH3 zMe2ECD=3HQYKXcX9(DGORim-=&ei5F3T)GH#5@I{;W(d${57Th<48CKRs(!qgn3dQ z+vs<4fn8)ibl3`tFz>@MSA1&qxWm9 zYsgezjF?$cEuCN-YrovkkPFrjDUm_zPze4Wxmm62fUpG0y{S1wn4a-U^*)*%9`Z}J z>N9b8^U&SbQ1kEkBqWm&3MykNU?1@_R`R~{z%vh^#$dZC*V=@HX< z^^9&e&>9?&na*(b3NMw?3}{i_z;_ibMXm==IiXNfQq@1|X7r(?t=E-N<@Uy>5Y{Ll)>C(@oY|^#TzMl-Wxzd>w_=$<3 z6_Qxxqi++{W)FQ|8xzR6(@Q;P%sKZC`z>eaLBJ`4CFn586V_t&k#_ccP0-4>+du^s?IO`A7uin`sauI#!q%$zswdKp)WcOo8GO0qkBN8KRO9#*H z^^!2i?zj0NUKC4v(u{OI%ocCzd=1?z|7=h&xH z+*Gq}W3JihxsQ>u-tqc^bOFdC?C`~j4_8Y|B&S!|GAFN$(*5Rdhi;loD=7?e*B6|S zYB!K6xb}+apXqIhJ{;Rt@0D%M0;en$^|$-%VIa~49#I~%|540&1~s*9aa`%3Nbg8V zM5Ut$p$Xj3q)9XM03sj~dJ~X~G?6O3D4j@$2uPJ8(k|UdZ;{?ailInT-pRf1n!K6& z;my1c@9UYJ?0wcgd##!MTmL`gjoH>)^y4g&)1pte4qzv08YOX>ER-skNN5t9;4th;*b|L#NtlDhR}9PiSdH?Uh>f$e zOp^TW+p(T5y+YBS+Kqj@9)!rS{p4S?x4XZZyS+uZGt}ws8OkPZcZIx*#NZ}R_X*z# zg5RfUs1|4}Mwox|(@3XI7aMS(Z*h1QnxefCjWU!M=8!F9WRvz4onFk$u5@ek{9QAr z|Niv$D}BesUaa=r4E=bjpX9UkzPl?8;`M+C0^_(HFv(BC+-F<)g=klQ{y_(EEBQ+5 zuFFq_v!jm~n=%{*pWL6_&H7%yRyP~asI#KVnQ$%WXnDs73!y%^u@>B;anz--h->Z} z(~IngWvAtAd2(KpcXx4qPZLA;diHp%ZiZe}Zh&uJ$`}ML#57%yO?9mm%cB3QGl4 zuC#V+pK|ROtYk4{K;lQ8TD~`LH*l_d_0)19IzWBw%^y#?C7g_H2RIC;19OpZrF-Ke zQ{DV06D7WxeZtGrP~&CxS$|B|rgvzJj(>MLzshmpQCs|3xcZXatn& zP_s%Pw>ZS_G^_x)j>tY9DV*_35&{iU$cuid$f@K^eaf1Uaa3+Rmr;GVz_TJY3AXdO ze)9`up_^R>uEYIhTZZojEuxI`gK~ZNIn{WOPm>E-iw6tbQ%~Q%z(%)KVI-Y{sV#|I zGO=9$lGk@)G2_d@l&MHEA%zSM!`_ffGTj3$AANZoOxVjC0X&NtEeAlUxh7^AzUGFq zyh>!(BZ)#Nd=LrY@o)XI(U^F;276jI)Y8!9t3J=JR#A0KDeCY6!I|AZx3;Sxt2PRG zO4Jkxo-=;Wa;A4RWVIz`;=71g^u1+vs?WQ-qLoejvI8{Be*g5>D;vzdPAOfW;BOCz`#m0LirLqpWEvazGdEj^r7L!%}&u3`B3JNn?7LSF$&== z(nH3!gxwySSM^k{E>{Pna~9`zB}E`Du|Qj7jM4}%cdGyKYL~pvE2BI z0sbccV%dIglgDU{SC2JtH{QjpP&Z&A-eB-=wy93k&-=$c*-5TmTxWi!TNj)2F}E_j z_EBI0n}ZTbuNIFbZy{>5j@`L4;~G74MNE$!uCuA;mb00Mc*EOnjBWHJ7_-Qgz4eDrerHts?RA*&HY2Pyh2# z*^TYBSH9%^h0Eezp2Hj;mQ(M)HZkJBl?WGLwGdWUxW~Bx$D037R76 zDB*Ojs33mhOXhidMR-YlJW`o#kGD2a}!q>s9n>*WA}C0M0{&I{eW>9~rNx6+zu z+=?;j`f@=iKe?s#$J~uXxcQilZB6)G(TG*N;Htc>rbWG4N<9zbpNsxe{2U5sb5n_j zr#d5SU8c;Out9~UPG`qSX+Ov=c`-|tIfg!TnW|lS9$O7mX^@N?}Lr}t@59b?q*9|<#cvIY!!H3CXiBo z1$au;TXnA7=_E=&qki8RVIKwSg)Kvfl`hsNEhZ&q!*L)ll^(S9QW^5KKun!c4Nr00 z0h5Qmh->>+8wF%f7LQ~Zt2;=9 z>H8{8&P@Vv3k4|H@^7&b!5p*ZbMli3@BL;+CoerBP^dCK3rtxPpi;FZ0Nb~9015W$ z%Ti@LJG)L5godJ!NaS@=0S5eI+Moqm3gM+lgADgy7zvpEIx}vxK;=qNFdou{EBaG} zGP?sJzHh}f4g}MItN>F0W4zHpAVo(M0Kb~1lxpyQ8idAC#iQFPKJ0m8TWXC7#e%O_|prvK;~P_*YA2iNEkv<>hO z{kKdLSj!TafKzl4Bf-poE*>gkv6(yd>&%2J+5;bF zt{#6LKG^>p!7EEpq&~r}{x4h>SgnkV4D=!4cJL5=qF6%K09yjw7S~VN7o+TB@+R<5 zGcM{+pMvGc^Z=o%xYFWc^^Zzt_!f;oiY4_{L}>z5Lv5|3Q8NI?4sr2@u}ZmGg_YQ+;sYJ7 z$Vg;i;2XolC+r3+DO`&;x=8W1-yd=Zg7^&zq)-M2ra%pH%l(wQ=R@n<7FCVK4@b&F|AU^Xt53aNYSUfc~_PV5Ss5xOLNq*DYuJka`| zrBXygn?lV2$CPr*_n*^(Sl{LtB_A0=2?vYPDvIZ3qIK>0Z^3wZMS0bNin_zX$fnA|Oz`i_(r2?KFQXFA{_8&cFOK zw|#%+%HLZwTEVn~DY?HWm_>LHyopG)DKc)GT_()M*Cl`qrq5vblVDjOAYJhhl{(^2 zTFwYiDmAo?kMO5KF#@Pv$rNQ(1cn^?I0q4l`^%#EHWEId!W)4qdJXYeQv*owH~5MOFgourc6sqN~lzaYyTb0 zJqIGdtAOpJDBz&9B<4mH!L7wHGic~s`_QNIz~H%~FX_g3;&jDCm2Ff_O-+Li0#Paf zfpE;;zN{g#bo_nWWq*IaM`wl|Ss3)oJ*oRZsK3^-V?hN-2xR=0;vH}U0|V^v(9i-+ c^4`fAajOw>?Dbl<9?s28UFEJa3ThSnFSVC43;+NC literal 0 HcmV?d00001 diff --git a/docs/preconditioning-on.png b/docs/preconditioning-on.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb8903ca20d81e2d43f358794020877265f25c5 GIT binary patch literal 23954 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 vP0RaQXV(JhfF|P4tVvhLq-Ju<`E7T80g_r