Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v3.0.0 - just another remarkable vis

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    jarvis v3.0.0 - just another remarkable vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @marsmännchen last edited by MCU

      @marsmännchen Und dann ist der ActualPos dann auch 0 (unten) und 100 (oben)?
      Wie ist dann der ActualPos, wenn du von Deinem anderen Gerät die Position veränderst?

      M 1 Reply Last reply Reply Quote 0
      • M
        marsmännchen @MCU last edited by

        @mcu
        Ja ist dementsprechend 0 oder 100.
        Durch Änderung von anderen Geräten (Taster neben Rolladen oder orig.Visu) ist die ActualPos immer die aktuelle Position weil die PFC200 mitzählt wie lange das Relais TRUE ist.
        Es wird wohl eher ein Denkfehler in meinem Blockly sein.
        Wenn SetPos geändert dann...
        Aber wenn ich in Jarvis zuletzt runter (setpoint 0) gefahren bin und mit der Hand rauf dann bleibt der Setpoint ja für das nächste mal runter fahren per Jarvis ja immer noch 0.
        Somit löst der Trigger nicht aus, weil Setpoint ja nicht geändert, weil immer noch 0.
        roll1.gif

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @marsmännchen last edited by MCU

          @marsmännchen Dann musst du auf ActualPos triggern und dann bei unterschiedlichen Werten, nach einer bestimmten Zeit den setPos gleich setzen.
          Bei einer Fahrt wird ja jede Sekunde ein Wert in ActualPos geschrieben. Also muss man abfragen, wann sich der Wert von ActualPos 2 Sekunden nicht geändert hat und dann prüfen, ob setPost ungleich ActualPos ist und dann setzen.

          M 1 Reply Last reply Reply Quote 0
          • M
            marsmännchen @MCU last edited by

            @mcu
            Ja ich glaube ich verstehe was du meinst.
            Gäbe es noch eine Möglichkeit vom Jarvis Widget zu triggern? So quasi, " wenn einer der Taster aktualisiert"?
            Habe für Jarvis Widgets keine Datenpunkte gefunden. Die wird man irgendwie erstellen müssen.

            M 1 Reply Last reply Reply Quote 0
            • M
              MCU @marsmännchen last edited by MCU

              @marsmännchen Wäre in Deinem Fall nicht sinnvoll. Könnte man, dann müsste man aber dafür zusätzliche DPs erstellen.
              Aber für Deinen Fall reicht ein Blockly mit dem ActualPos Trigger.

              b835aafb-c2e1-431e-b762-f7665c84db51-image.png

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable type="timeout" id="timeout">timeout</variable>
                </variables>
                <block type="on_ext" id="1o*n9,Y%}gIQHzF9UQuX" x="88" y="63">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="tix-Zr~~ry{nk14yD%aH">
                      <field name="oid">0_userdata.0.jarvis.test.forumTestNumDP2</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="debug" id="2w!K36!|CX%eg]5K]84p">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="9}x]X(!ve?L#=}f.rsd;">
                          <field name="TEXT">test</field>
                        </shadow>
                        <block type="on_source" id="}Dif8NoWB(UZipgzvWu`">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <next>
                        <block type="timeouts_cleartimeout" id="02Kv{FYuaG{=cas%cJEF">
                          <field name="NAME">timeout</field>
                          <next>
                            <block type="timeouts_settimeout_variable" id="Fu^.)BhZ[PgdNJ{0Vn#=">
                              <field name="NAME">timeout</field>
                              <value name="DELAY_MS">
                                <shadow type="math_number" id="MlxMI~i-(`FYb!fE]xa5">
                                  <field name="NUM">10000</field>
                                </shadow>
                              </value>
                              <statement name="STATEMENT">
                                <block type="debug" id="N/MvYf]j,|;P_Q{(hU*n">
                                  <field name="Severity">log</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="-wstqC)+dd.XzFIU_-~i">
                                      <field name="TEXT">Wert wurde 10 Sekunden nicht geändert</field>
                                    </shadow>
                                  </value>
                                  <next>
                                    <block type="controls_if" id="W+8}ru6(.z?ot0UEK#G7">
                                      <value name="IF0">
                                        <block type="logic_compare" id=":ls3yf:*9fYv$?45(dTY">
                                          <field name="OP">NEQ</field>
                                          <value name="A">
                                            <block type="on_source" id="0~fAUfa!Xk#vVNV[#TD-">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="get_value_var" id="Mhteo7w[YJWDN{iRo#EE">
                                              <field name="ATTR">val</field>
                                              <value name="OID">
                                                <shadow type="text" id="0;}@,(@ty7X+G-{k]FN5">
                                                  <field name="TEXT">setPos</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="comment" id="pE`91Q!R#VAA8lv_3_-r">
                                          <field name="COMMENT">setPos setzen</field>
                                          <next>
                                            <block type="control" id="+{rxz`QOqkB(dA,95HBk">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">Object ID</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="on_source" id="mFNh_Da!1KCIL3}}8r=y">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </xml>
              

              M 1 Reply Last reply Reply Quote 1
              • M
                marsmännchen @MCU last edited by

                @mcu
                Nein, geht auch nicht. Da fährt er wirr rauf und runter. Muss ich tagsüber wenn ich daheim bin nochmal nachforschen.
                Hängt vermutlich mit dem dazugehörigen Blockly zusammen welches den Trigger an die PFC200 sendet welcher gesetzt werden muss wenn die SetPos geändert wird. (damit die PFC200 weiß das die Position angefahren werden soll)

                <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="SxeTbGiamD5QSeh4hkj." x="163" y="2113">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="pM0+HfZSW,ukViW%v}X0">
                      <field name="oid">modbus.0.holdingRegisters.32005_byOGRollBueroSetPos</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="debug" id="c)V1#2*.%|bIo-mH,0ya">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="49S:4v[apL|bM01!4kSJ">
                          <field name="TEXT">setpos geändert</field>
                        </shadow>
                      </value>
                      <next>
                        <block type="timeouts_cleartimeout" id="MA]|cG0gGVKs!6tWL;_a">
                          <field name="NAME">timeout</field>
                          <next>
                            <block type="debug" id="#wo@s:V#nAc`@ggs%,tG">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text" id="]?F]]exBuuQDFiO@oW76">
                                  <field name="TEXT">trigpos true</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="control" id="Eus5B@VM#1yxEhVGlE5%">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">modbus.0.coils.32768_xOGRollBueroTrigPos</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="#fP/J.Cv}bN`3uA5911|">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="timeouts_settimeout" id="N*iT!/Yp`b:.XY/r1He#">
                                      <field name="NAME">timeout14</field>
                                      <field name="DELAY">1000</field>
                                      <field name="UNIT">ms</field>
                                      <statement name="STATEMENT">
                                        <block type="debug" id="[J=#j)(R|Kr1GM_sk7Uo">
                                          <field name="Severity">log</field>
                                          <value name="TEXT">
                                            <shadow type="text" id="uM{$k=ukrK^@VozLXY+,">
                                              <field name="TEXT">trigpos false</field>
                                            </shadow>
                                          </value>
                                          <next>
                                            <block type="control" id="QT{*|bD|F?TGs__b1:e*">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">modbus.0.coils.32768_xOGRollBueroTrigPos</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="+(MTi=|/9/`EOAT!4wno">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
                
                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @marsmännchen last edited by MCU

                  @marsmännchen Wie sieht denn mein Blockly bei Dir aus? Bitte als Bild.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    marsmännchen @MCU last edited by

                    @mcu
                    Nicht sag ich kann nicht mal abschreiben...🤢

                    roll1.PNG

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @marsmännchen last edited by

                      @marsmännchen timeout13 setzen stop
                      114ce164-875f-40ef-ae7d-59b7ded4368b-image.png

                      M 1 Reply Last reply Reply Quote 1
                      • M
                        marsmännchen @MCU last edited by marsmännchen

                        @mcu
                        wirklich wahr..kotz

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          marsmännchen @marsmännchen last edited by

                          @MCU

                          wow, das sieht gut aus!!
                          Ich glaube du hast das Problem gelöst!!
                          Danke sehr!

                          1 Reply Last reply Reply Quote 1
                          • M
                            matze007 @matze007 last edited by

                            @matze007 said in jarvis v3.0.0 - just another remarkable vis:

                            Und zwar habe ich einen Datenpunkt, in dem ich einen Stromverbrauchswert in kWh fortschreibe. Diesen möchte ich auf Tagesbasis als BarChart darstellen. Da sich der Tag mehrmals am Tag aktualisiert/hochzählt, erhalte ich bei jeder Aktualisierung eine eigene Säule im Diagramm. Die Tageswerte sollen aber in einem Bar dargestellt werden. Wie schaffe ich das?

                            Hat zufällig jemand eine Idee, wie ich das Thema lösen kann? Bin nochmal eine ganze Weile dran gesessen, auch mit der Doku von eCharts, aber ich komme einfach nicht weiter...

                            Dankeschön :-)!

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              MCU @matze007 last edited by

                              @matze007 Zeig es mal mit Bildern. Was wann passiert in der entsprechenden Reihenfolge, wie es passiert. Danke.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                matze007 @MCU last edited by

                                @mcu

                                Aber gerne 🙂

                                Hier mal das einfachste Beispiel #1: Ich schreibe jede Nacht um 23.59 Uhr den Stromverbrauch des jeweiligen Tages in einen Datenpunkt. Nun hätte ich gerne ein Chart, bei dem sich pro Tag eine Säule bildet. Stattdessen erhalte ich einen Chart, bei dem sich der Datenpunkt nach der Uhrzeit bildet und er pro Tag weitere Werte darstellen möchte (aber keine erhält, da ich ja nur um 23.59 Werte schreibe).

                                Im History-Adapter sieht das dann wie folgt aus:
                                68c4c223-2ec2-4fb6-868d-5f256f3452cd-image.png

                                IST-Darstellung im Chart:
                                b099d6ac-e963-4794-9844-7ad507180c22-image.png

                                SOLL-Darstellung im Chart:
                                3d3de9f5-d761-451a-a253-218884d92506-image.png

                                Was muss ich einstellen, um diese Darstellung zu erhalten?

                                Im Beispiel #2 wird es vielleicht etwas komplexer. Gerne möchte ich die Daten nicht erst zum Tagesende in den Datenpunkt schreiben, sondern bei jeder Änderung. Die Säule (wieder eine pro Tag) soll sich dann über den Tag "aufbauen". Das wäre erst der nächste Step, aktuell habe ich dazu noch keine Screenshots. Vielleicht lässt sich der #1-Lösung aber auch #2 erschlagen...

                                Danke dir/euch!

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  MCU @matze007 last edited by MCU

                                  @matze007 Geht erst mit v3.1.0.
                                  db625a30-c0f3-431b-aae1-d135648fc75d-image.png
                                  Zwischenraum ist abhängig von der Breite vom Bar und Widgetbreite.

                                  1036a8d1-7242-43fd-bf28-13e9c2f0a4ce-image.png
                                  https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/module/historygraph/series-parameter-v3.1.x#chart-typ-bar-chart

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    matze007 @MCU last edited by

                                    @mcu

                                    Ah, sehr gut. Dann gedulde ich mich noch etwas und warte auf das Feature!

                                    Zwei kleine Fragen dazu:

                                    1. Kannst du schon abschätzen, bis wann die v3.1.0. veröffentlicht wird?
                                    2. Lässt sich mit der 3.1.0 auch mein Beispiel #2 lösen?

                                    @matze007 said in jarvis v3.0.0 - just another remarkable vis:

                                    Im Beispiel #2 wird es vielleicht etwas komplexer. Gerne möchte ich die Daten nicht erst zum Tagesende in den Datenpunkt schreiben, sondern bei jeder Änderung. Die Säule (wieder eine pro Tag) soll sich dann über den Tag "aufbauen". Das wäre erst der nächste Step, aktuell habe ich dazu noch keine Screenshots. Vielleicht lässt sich der #1-Lösung aber auch #2 erschlagen...

                                    Merci!!

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @matze007 last edited by MCU

                                      @matze007
                                      zu 1. vermutlich Ende Dezember oder 1.Q 2023
                                      zu 2. Nein. Das musst du mit dem history machen.
                                      https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#daten-aktualisieren

                                      Da jarvis aber (noch) keine zukünftigen Werte im Historygraph anzeigt, musst als Zeitpunkt für den Tag immer 00:00 wählen.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        matze007 @MCU last edited by

                                        @mcu

                                        Alles klar, danke!

                                        Ich habe noch einen Vorschlag für ein Pro-Feature: Energieverbrauchs-Anzeige.

                                        Hintergrund: Heute ist es ja ziemlich aufwändig, eine Statistik wie oben beschrieben aufzusetzen (du musst Daten im History-Loggen, unter Umständen sogar bestehende Werte updaten, etc.). Viel einfacher wäre es, wenn man im History-Adapter einfach nur die aktuellen Verbrauchswerte (z.B. in Watt) protokolliert.

                                        Ein Energieverbrauchs-Modul in Jarvis könnte die Daten dann nehmen und aufbereiten, um kWh-Verbräuche auf Tages-, Monats-, Jahresbasis zu ermitteln. Fände ich ein äußerst praktisches "Pro-Feature". Was meinst du?

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @matze007 last edited by MCU

                                          @matze007 Vielleicht ist jetzt auch schon möglich, also mit v3.1.x , aber bislang habe ich mich noch nicht schlau gelesen.
                                          https://echarts.apache.org/en/option.html#series

                                          https://echarts.apache.org/en/option.html#series-bar.stack

                                          8f6e0af3-04f1-4350-977b-389126412d0f-image.png

                                          1 Reply Last reply Reply Quote 0
                                          • Deanna4711
                                            Deanna4711 last edited by

                                            Ich habe seit der Beta 26 das Problem, das die History Graph Widgets nichts mehr anzeigen, ohne das ich ansonsten etwas geändert habe.
                                            Ich bin momentan auf der Beta 28. Web Adapter, Raspi alles schon neu gestartet. Pro Lizenz ist vorhanden. Ich finde keine Fehler im Log. Alle anderen Widgets funktionieren, nur nicht die History Graph. Die sind einfach leer.... Hat irgendjemand einen Tip?
                                            Screenshot 2022-11-19 134634.jpg

                                            Screenshot 2022-11-19 134716.jpg Screenshot 2022-11-19 134740.jpg

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            252
                                            4481
                                            2108279
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo