NEWS
jarvis v2.2.0 - just another remarkable vis
-
@MCU : Ich hab nochmal eine Frage bzgl. Batterieladeanimation (vgl. https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/styles/effekte/charge#charge). Ich habe einen DP, welcher den Batterieladestand zeigt. Abhängig vom Ladestand nutze ich ein Icon. Wie kann ich das "überschreiben" mit der Ladeanimation im Falle das Ladegerät ist angeschlossen? Dann müsste das Icon des DPs für den Batterieladestand abhängig von einem anderen DP für die Ladeverbindung sein. Geht das in einem DP?
-
@rkccorian Ja mit den Bindings, die zurzeit allerdings nicht 100%-tig funktionieren, zefau ist da aber dran.
https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/binding -
@mcu Ahhh, top, danke!!! Dann bereite ich das mal vor und warte auf den BugFix.
Detailsfrage... sind dann auch UND Logiken möglich: Wenn DP2 = true und DP1 < 20% dann startet Ladeanzeige ab Icon 2, wenn DP2 = true und DP1 < 60% dann startet Ladeanzeige ab Icon 3, o.ä.? -
@mcu Sehe gerade an Deiner Doku, dass UND Logik möglich ist, super!!!
-
@rkccorian sagte in jarvis v2.2.0 - just another remarkable vis:
@mcu Sehe gerade an Deiner Doku, dass UND Logik möglich ist, super!!!
Wo finde ich das?
Ich habe z.B. bei einem doppelflügeligen Fenster zwei Fenstersensoren und würde die gern zusammenfassen.
Also wenn einer der beiden Sensoren auf offen steht, soll das Fenster an sich als offen markiert sein. -
@schuetzeschulz In meiner Doku Thema Binding. Siehe einige Posts drüber oder unten Userinfo.
-
@schuetzeschulz Wobei ich sowas eher über Skript und eigenen "virtuelles" Gerät löse, damit ich es besser wiederum in Skripten nutzen kann. Sonst müsste ich die Logik 2mal implementieren... Hängt aber vom Anwendungsfall ab...
-
@rkccorian Stell doch bitte Dein Beispiel mit Sctpt rein.
-
@mcu sagte in jarvis v2.2.0 - just another remarkable vis:
Sctpt
Beispiel (Blockly-Export) für das Zusammenfassen von 3 Rollläden zu einem Wohnzimmerrollladen... diesen kann ich über Alexa als Einheit (Bspw.: "Fahre Wohnzimmerrolladen auf 0%") ansteuern und für weitere Skripte nutzen.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="gjx]|luV{.9x+Nv.z(5~">BLIND_COMMAND</variable> <variable id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</variable> <variable id=",0{r:?u/aly[3$V{xB;}">ZahlDelayAnsteuerungRollladen</variable> </variables> <block type="comment" id="AIO27bS%kQ;EX4=O_pX~" x="-1087" y="-562"> <field name="COMMENT">Init</field> <next> <block type="comment" id="@i`ZZ/f,/XP|+{VJSYDQ"> <field name="COMMENT">=================================================</field> <next> <block type="comment" id="X8xCI/w:_*4kG^R=x@KJ"> <field name="COMMENT">Parameter</field> <next> <block type="variables_set" id="/1aW:D[_6kBs:I]yY^.;"> <field name="VAR" id=",0{r:?u/aly[3$V{xB;}">ZahlDelayAnsteuerungRollladen</field> <value name="VALUE"> <block type="math_number" id="n|tTg!uOCgo*_:H2Q}J:"> <field name="NUM">100</field> </block> </value> <next> <block type="comment" id="s,RjqR{6wOAQd.#i%t|D"> <field name="COMMENT">Status ermitteln</field> <next> <block type="procedures_callnoreturn" id="yLNzUCBEYvycm;S$M;@H"> <mutation name="GetBlindStatus"></mutation> <next> <block type="debug" id=";a=PYFEyv;-g[XTLJY^v"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="1YWGyV`Vx*q;q2tUx[rN"> <field name="TEXT">Init done</field> </shadow> </value> <next> <block type="comment" id="4E?#KM+?LQ6NEI2Y7GcR"> <field name="COMMENT">Cyclically</field> <next> <block type="comment" id="0ZQNock*JNBzVvE|cBAl"> <field name="COMMENT">=================================================</field> <next> <block type="comment" id="B(=i#Yb5sD6(uII#57Q)"> <field name="COMMENT">OnChange</field> <next> <block type="comment" id="l^.FdWT#;zPWR?dBKn]7"> <field name="COMMENT">=================================================</field> <next> <block type="on_ext" id="hGE?4Xmj{aJ{ODk3`txy"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid"> <field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field> </shadow> <block type="field_oid" id="YT}ysX^ZNM;LHElUJ8P*"> <field name="oid">alias.0.Wohnzimmer.Balkonrollladen_Links.LEVEL</field> </block> </value> <value name="OID1"> <shadow type="field_oid"> <field name="oid">default</field> </shadow> <block type="field_oid" id="By27+iu|5_uQk6gkngpO"> <field name="oid">alias.0.Wohnzimmer.Balkonrollladen_Rechts.LEVEL</field> </block> </value> <value name="OID2"> <shadow type="field_oid"> <field name="oid">default</field> </shadow> <block type="field_oid" id="mA0x~V$%)^ZrR9|gN,EA"> <field name="oid">alias.0.Wohnzimmer.Schrankwandrollladen.LEVEL</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="[uCUcf@*pG:$jHM+mEdU"> <mutation name="GetBlindStatus"></mutation> <next> <block type="debug" id="`pSbQDmHm!RuW+rbx(~c"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[Y5xVbP}gEJ]wz7d*iY#"> <field name="TEXT">GetBlindStatus triggered & executed</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id="Cu~[B4qOnuq}YS6;P[eb"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid"> <field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field> </shadow> <block type="field_oid" id="Iv%p2b[oPFB#^1yG9NrZ"> <field name="oid">alias.0.Wohnzimmer.Wohnzimmerrollladen.BLIND_COMMAND</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="f7UFIpycv+Prt^3M7YWr"> <mutation name="SetBlindStatus"> <arg name="BLIND_COMMAND"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="*WGFO!_Iy;ErARVW7}7:"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="debug" id="dY$c$afWsZlvd|^Z%m]-"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="7Lok*(^AL^QosgJ/,?Ml"> <field name="TEXT">SetBlindStatus triggered & executed</field> </shadow> </value> <next> <block type="update" id="j=sqDOFhAvs$dwc:@K,o"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Wohnzimmerrollladen.BLIND_COMMAND</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="lMY(,YjP.Ej2s]5%+36D"> <field name="ATTR">state.val</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="j{UsX+KMv7LOF$.!{Ziw"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid" id="b8KA5aDb|IlYY3S#B*XN"> <field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field> </shadow> <block type="field_oid" id="S}v-GygXp?#cwy)xCGL;"> <field name="oid">alias.0.Wohnzimmer.Wohnzimmerrollladen.LEVEL_COMMAND</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="jxT?,l|?5LL|X/i6v^[%"> <mutation name="SetBlindStatus"> <arg name="BLIND_COMMAND"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="Fbu/?LLyNhZ+!TCbohR-"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="debug" id="~M)`t8;R+HLx3.U^W1I^"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Y=~|K(!Vr??g9oJuy^ML"> <field name="TEXT">SetBlindStatus triggered & executed</field> </shadow> </value> <next> <block type="update" id="i{m?CTG(B]K3,!+6CUG?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Wohnzimmerrollladen.LEVEL_COMMAND</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="T{RHhCVD$*9TvYQht=!b"> <field name="ATTR">state.val</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="nl|Gz_IzC$x;iFR,(OXC" x="-413" y="-563"> <field name="NAME">GetBlindStatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="xOhFRJi|;kojv]}j5Xgj"> <field name="COMMENT">Prüfe ob alle Rollläden unten sind</field> <next> <block type="variables_set" id="`]7paiYcUcRyk;FXgy%Q"> <field name="VAR" id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</field> <value name="VALUE"> <block type="math_number" id="J9bzQ@Zrm4WG2!.dyF}1"> <field name="NUM">0</field> </block> </value> <next> <block type="comment" id="3V%RY7IMITDP@z:Lp~F$"> <field name="COMMENT">Balkonrollladen Links</field> <next> <block type="controls_if" id="{Oy:=C}jX0;~6;K-@{#A"> <value name="IF0"> <block type="logic_compare" id="LvUcSb3X-[iEwR}~]$S#"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="7mI9ghg3AG)HVlf9v~$S"> <field name="ATTR">val</field> <field name="OID">alias.0.Wohnzimmer.Balkonrollladen_Links.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="s]ise-N$PImo#DbIIp%|"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="ZHyyi#}nL9~CKAb1Vv`!"> <field name="VAR" id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</field> <value name="DELTA"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id=")J^oqzE`61,VN8n!YBTh"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="comment" id="^F0U)eF%zPN;[9oPt90u"> <field name="COMMENT">Balkonrollladen Rechts</field> <next> <block type="controls_if" id="*Mp.@+ii+V,W,ELD#dt%"> <value name="IF0"> <block type="logic_compare" id="+pZ(Dd~#RRFqzOdHw,Ff"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="gyHnPsFtB*zDG-mV7J5n"> <field name="ATTR">val</field> <field name="OID">alias.0.Wohnzimmer.Balkonrollladen_Rechts.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="ebG?BEZ{h8)IE,].T8xe"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="r(o$eOhmh,bbro|/sC{:"> <field name="VAR" id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</field> <value name="DELTA"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id=")De0u7H(SQi_72OxU9T4"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="comment" id="lchGE13bWa|+iz~|P-WN"> <field name="COMMENT">Schrankwandrollladen Rechts</field> <next> <block type="controls_if" id="x6i@{%6`C3da+uU#+p6#"> <value name="IF0"> <block type="logic_compare" id="%!i#zYm1.!h`-rVvm~Ig"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="m%WceY0B5H[?10~fGx%8"> <field name="ATTR">val</field> <field name="OID">alias.0.Wohnzimmer.Schrankwandrollladen.LEVEL</field> </block> </value> <value name="B"> <block type="math_number" id="Wz7$Nd$%KitsivLi(92e"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="8XJ-1oATg];T.y+[/Gxr"> <field name="VAR" id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</field> <value name="DELTA"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id="l~0rCdJ_hq-dw5if!|Bh"> <field name="NUM">1</field> </block> </value> </block> </statement> <next> <block type="comment" id="eVJ)u[6n-U3-c^q64d`U"> <field name="COMMENT">Aktualisiere Status</field> <next> <block type="update" id="I2;fD(}/vq6)Ce!Y,y+p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Wohnzimmerrollladen.STATUS</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_negate" id="-h:;BFrA0u]la3nm5.__"> <value name="BOOL"> <block type="logic_compare" id="F,KmI+SB.P]wpg`?}Es0"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="cuO~ggi/CIwAIfuwu;Lm"> <field name="VAR" id="TE:tWwvegdlK/Q(csApk">ZahlRollladenOffen</field> </block> </value> <value name="B"> <block type="math_number" id="(93uMgO7O%qPq.`?[m4A"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="}%[AJZu9Kk%i+:I8RS:7" x="363" y="-562"> <mutation> <arg name="BLIND_COMMAND" varid="gjx]|luV{.9x+Nv.z(5~"></arg> </mutation> <field name="NAME">SetBlindStatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="(f*sHNfS~V!T8%fW7~lW"> <field name="COMMENT">Alle Rollläden steuern</field> <next> <block type="comment" id="0V-%9B+Z42J|0K{Ze|`e"> <field name="COMMENT">Balkonrollladen Links</field> <next> <block type="control" id="_ea#]3w#u?4(tPUx]AT-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Balkonrollladen_Links.BLIND_COMMAND</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=".GR.snGg9F4DJh(NllJu"> <field name="VAR" id="gjx]|luV{.9x+Nv.z(5~">BLIND_COMMAND</field> </block> </value> <next> <block type="comment" id="6i[;h+RYaUSD(vD/9B*z"> <field name="COMMENT">Balkonrollladen Rechts</field> <next> <block type="timeouts_wait" id="%QSLSUlTQ6?*XJz56{hn"> <field name="DELAY">ZahlDelayAnsteuerungRollladen</field> <field name="UNIT">ms</field> <next> <block type="control" id="uL7St4hrP=|4$^c*;GPa"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Balkonrollladen_Rechts.BLIND_COMMAND</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="[r$/p1kZ7.@UWhGr~j^Y"> <field name="VAR" id="gjx]|luV{.9x+Nv.z(5~">BLIND_COMMAND</field> </block> </value> <next> <block type="comment" id="bOhdRM78mr@M%w),jl16"> <field name="COMMENT">Schrankwandrollladen</field> <next> <block type="timeouts_wait" id="%?2Ko?o{yvT?$hVO;S4P"> <field name="DELAY">ZahlDelayAnsteuerungRollladen</field> <field name="UNIT">ms</field> <next> <block type="control" id="kJo=s2{$voCe)#3:n=8y"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Wohnzimmer.Schrankwandrollladen.BLIND_COMMAND</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="~|HPUBE9z|#DHmtxOhqC"> <field name="VAR" id="gjx]|luV{.9x+Nv.z(5~">BLIND_COMMAND</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@Mcu: Danke für die Doku bzgl. Batterieladeanimation. Was mir noch fehlt (und woran ich hänge)... wie setze ich das ein. Kannst Du es noch um einen Screenshot / Info ergänzen wie ich die erstellte Animation in JARVIS nutzen kann?! Vielen Dank im Voraus!
Geht um: https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/styles/effekte/charge#charge
-
@mcu Habe das gerade so versucht, das klappt aber nicht:
{hm-rpc.0.MEQ0028801.1.STATE} || {hm-rpc.0.MEQ0029513.1.STATE}
-
@schuetzeschulz Ja es gibt halt noch Probleme in jarvis. Geduld. Aber Deine Einstellung ist nicht korrekt. Es fehlt der Wert.
-
@rkccorian Nutzen kann man es wie den "blink" -Effekt. Also im Icon:
{"default": "home charge"}
-
@mcu Hmm... die Angabe vom "home" Symbol ist wegen der Syntax notwendig, wenngleich es durch die Animation überschrieben wird?!
Hab es so probiert, klappt leider nicht bei mir Bilder sind erreichbar, hab die links selber probiert. alpha-106
Meine Konfig
=> im Gerät{"default": "home animationBatteryCharge "}
=> im CSS
.animationBatteryCharge { color: transparent; animation: animationBatteryCharging 3s infinite; } @keyframes animationBatteryCharging { 0% { background-image: url(https://192.168.168.27/icons/battery-outline.svg); } 33% { background-image: url(https://192.168.168.27/icons/battery-low.svg); } 66% { background-image: url(https://192.168.168.27/icons/battery-medium.svg); } 100% { background-image: url(https://192.168.168.27/icons/battery-high.svg); } }
-
@mcu
Ah ok, wie würde es denn richtig aussehen?
Etwa so?{hm-rpc.0.MEQ0028801.1.STATE = "true"} || {hm-rpc.0.MEQ0029513.1.STATE = "true"}
Wie ist das eigentlich, gibt es eine Möglichkeit, eine Information zu bekommen wenn es eine neue Git-Version gibt?
Oder muss man hier proaktiv schauen?
Das mit den Bindings würde mich schon interessieren. Sonst läuft mein Jarvis extrem stabil und performant. -
@rkccorian Weil Deine Animation falsch definiert. 2 Okjektklammern am Anfang. Falsch gelesen.
Vielleicht hat sich wieder was geändert. Nimm mal transparent !important -
@schuetzeschulz Ja besser. Nur nicht "true" sondern true.
Also in Deinem Fall:{"{hm-rpc.0.MEQ0028801.1.STATE }= true || {hm-rpc.0.MEQ0029513.1.STATE} = true":"was soll dann passieren"}
Zum Thema "proaktiv" , ja man muss nachschauen.
Du kannst zwar mit "Watch" alle Nachrichten bekommen, was so geschrieben wird, es kommt aber keine Nachricht eine Neue Version ist vorhanden. Nur in der Nachricht selbst steht teilweise drin:"teste mal die neue Version von Zefau"
-
@mcu sagte in jarvis v2.2.0 - just another remarkable vis:
!important
Dann ist kein Symbol mehr sichtbar. Warum ist das transparent drin? Wird das Symbol nicht durchsichtig und ist nicht mehr sichtbar?
-
@rkccorian Genau kein Symbol. Nur noch die Animation.
-
@mcu Tja.... Dark Theme und schwarze Icons funktioniert nicht Kann ich die Icon direkt über CSS einfärben oder muss ich die Bilder in der Wunschfarbe speichern?!