NEWS
jarvis v2.2.0 - just another remarkable vis
-
Hallo,
wo kann man in der V3 die Größe ändern? z.b. Text Photovoltaikmodul
Ich möchte es nur in dem Tab Temperaturen ändern und nicht pauschal, da ich es in anderen Tab auch habe und da die Größe passen würde.
-
-
@johannes-bauerstatter sagte in jarvis v2.2.0 - just another remarkable vis:
wo kann man in der V3 die Größe ändern? z.b. Text Photovoltaikmodul
Im BodyStyle via JSON mit CSS fontSize
-
@mcu Verdammt, ich dachte ich bin langsam fertig mit meiner VIS und jetzt das...
-
@mcu Für mich würde auch Folgendes passen (brauche vermutlich nicht das Ein-/Ausblenden von Tabs)
- Ich versuche einen Switch auszuschalten (Alarmanlage oder Alarm, DP1): true > false
- Nun kommt die PIN Abfrage
- Wenn PIN OK, dann switch (DP1) schalten, ansonsten nicht
Alternative: Was passiert im Hintergrund, falls Schalten von PIN (DP1) nicht direkt in JARVIS abgefangen werden kann
- Ich versuche einen Switch auszuschalten (Alarmanlage oder Alarm) mit DP1: true > false
- Das Schalten des Switch (DP1) führt zur PIN Abfrage
- Wegen des Switches (Schreiben DP1) fängt ein Timeout an (Skript)
- Erfolgreiche PIN Eingabe schreibt einen zweiten DP2: false > true
- Skript prüft zyklisch den zweiten DP2
5.1. ...wenn der true wird innerhalb Timeout
=> Alarm(-anlage) abschalten
5.2. ...wenn der NICHT true wird innerhalb Timeout
=> DP1 wird wieder auf true geschrieben, Abschaltung erfolgt nicht
-
@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.