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
      marsmännchen @MCU last edited by marsmännchen

      @mcu
      Ok.
      Also das sind Alias mit val/2.55 und val*2.55 weil die WagoPFC200 0-255 braucht.
      Die Aktuelle Position von der Wago ist so:

      {
        "type": "state",
        "common": {
          "name": "BueroActualPos",
          "role": "level.blind",
          "type": "number",
          "unit": "%",
          "min": 0,
          "max": 100,
          "read": true,
          "write": false,
          "alias": {
            "id": "modbus.0.inputRegisters.5_byOGRollBueroActualPos",
            "read": "val/2.55"
          }
        },
        "_id": "alias.0.Rolladen.Buero.BueroActualPos",
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1667419968860,
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      Und der Setpoint ist so:

      {
        "type": "state",
        "common": {
          "name": "BueroSetPos",
          "role": "level.blind",
          "type": "number",
          "read": true,
          "write": true,
          "alias": {
            "id": "modbus.0.holdingRegisters.32005_byOGRollBueroSetPos",
            "read": "val/2.55",
            "write": "val*2.55"
          },
          "unit": "%",
          "min": 0,
          "max": 100
        },
        "_id": "alias.0.Rolladen.Buero.BueroSetPos",
        "native": {},
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1667419894282,
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      
      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @marsmännchen last edited by MCU

        @marsmännchen
        Wie lange dauert es bis die ActualPos aktualisiert wird und stehen bleibt, wenn man mit setPos einen Wert vorgibt?
        Also,wenn man bei setPos 40 einträgt.
        Kannst du ein GIF erstellen, damit man es sehen kann. (screenToGif)
        Mit welchem DP setzt ein STOP?

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

          @mcu
          Ich installiere jetzt mal screen to Gif.
          Stop DP brauche ich eigentlich nicht. Wenn ich z.B. Rauf Taste drücke dann fährt er bis Setpoint 100 und stoppt dann, oder bei runter ist Setpoint 0.

          M 1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            674
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            jarvis material material ui materialdesign vis visualisierung visualization
                                            252
                                            4481
                                            2112924
                                            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