Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Werte aus Text und Mittelwert berechnen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    876

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Werte aus Text und Mittelwert berechnen

Geplant Angeheftet Gesperrt Verschoben Blockly
16 Beiträge 5 Kommentatoren 816 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • haus-automatisierungH haus-automatisierung

    @jojo58 So z.B.

    Geht aber bestimmt auch eleganter

    Screenshot 2025-04-24 at 13.20.23.png

    <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
        <variable id="0qMo2W}Kq_]r}pKv?1vm">text</variable>
        <variable id="x7~jx3L$wieq,D+zr=!(">temps</variable>
        <variable id="MLf-it[+Dt[|c@mAEe4(">zeile</variable>
      </variables>
      <block type="variables_set" id="7Ucg_OX_*N)bq0%Kl_a)" x="163" y="63">
        <field name="VAR" id="0qMo2W}Kq_]r}pKv?1vm">text</field>
        <value name="VALUE">
          <block type="text_multiline" id="cy;o?qx~`eF^UN]UqZul">
            <field name="TEXT">Package id 0:&amp;#10;Core 0: +59.0°C&amp;#10;Core 1: +58.0°C&amp;#10;Core 2: +64.0°C&amp;#10;Core 3: +62.0°C&amp;#10;Core 4: +58.0°C&amp;#10;Core 5: +54.0°C</field>
          </block>
        </value>
        <next>
          <block type="variables_set" id="IH)|e{lmuaE)T]`@I^?a">
            <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
            <value name="VALUE">
              <block type="lists_create_with" id="=|s:yEwawraI%,*eZ9H/">
                <mutation items="0"></mutation>
              </block>
            </value>
            <next>
              <block type="controls_forEach" id="J_ad`K%~~2dNftid)]P)">
                <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                <value name="LIST">
                  <block type="lists_split" id="~F$]Wk0FMe,c)^2h3@K?">
                    <mutation mode="SPLIT"></mutation>
                    <field name="MODE">SPLIT</field>
                    <value name="INPUT">
                      <block type="variables_get" id="=o8Hj9[I8fwhA:o_lf+z">
                        <field name="VAR" id="0qMo2W}Kq_]r}pKv?1vm">text</field>
                      </block>
                    </value>
                    <value name="DELIM">
                      <shadow type="text" id="c%6LCj4K8ve~$$wD$m|X">
                        <field name="TEXT">,</field>
                      </shadow>
                      <block type="text_newline" id="n~rV|d@73=w?eZH2gnra">
                        <field name="Type">\n</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO">
                  <block type="controls_if" id="v]2Q`|tZh4mqq%7=-h-)">
                    <value name="IF0">
                      <block type="text_contains" id="fm:,r?W2bP3^!SDLwOKN">
                        <value name="VALUE">
                          <block type="variables_get" id="R|}r:]vxm8.]0_d/`tVx">
                            <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                          </block>
                        </value>
                        <value name="FIND">
                          <shadow type="text" id="B;Qv*h90:L8HiNMh#*W(">
                            <field name="TEXT">Core </field>
                          </shadow>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="lists_setIndex" id="eMS@W;3A2[OeDKBTII!B">
                        <mutation at="false"></mutation>
                        <field name="MODE">INSERT</field>
                        <field name="WHERE">LAST</field>
                        <value name="LIST">
                          <block type="variables_get" id="K6K?kt4G_-$McHeXdr1b">
                            <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
                          </block>
                        </value>
                        <value name="TO">
                          <block type="convert_tonumber" id="K`iJtTg^1c%cbK?=Rl)0">
                            <value name="VALUE">
                              <block type="text_getSubstring" id="pm7jmow)[[g=`U^Sv2ZA" inline="false">
                                <mutation at1="true" at2="true"></mutation>
                                <field name="WHERE1">FROM_START</field>
                                <field name="WHERE2">FROM_START</field>
                                <value name="STRING">
                                  <block type="variables_get" id="LC[^)s9n=+eRjpY$$m73">
                                    <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                  </block>
                                </value>
                                <value name="AT1">
                                  <block type="math_arithmetic" id="C_=(CgSmAJLu}7^q%.=q">
                                    <field name="OP">ADD</field>
                                    <value name="A">
                                      <shadow type="math_number" id=",@QKm_VOfV.Smev`PfNS">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="text_indexOf" id="6+agAoxdPGQr15}plp|g">
                                        <field name="END">FIRST</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="9TfSPs[3$eFU=@Fi`v6*">
                                            <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                          </block>
                                        </value>
                                        <value name="FIND">
                                          <shadow type="text" id=";aX65G3Gjkzv}4t^vIrk">
                                            <field name="TEXT">+</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="19L}i~!w}b%7(p^$aY+w">
                                        <field name="NUM">1</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                                <value name="AT2">
                                  <block type="math_arithmetic" id="WqSv1/!M4VF=h,po@jzT">
                                    <field name="OP">MINUS</field>
                                    <value name="A">
                                      <shadow type="math_number" id="6f#D0qeMn7wuECIxM+o0">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="text_indexOf" id="ZC!j*$!D(SQ(B1?`M({c">
                                        <field name="END">FIRST</field>
                                        <value name="VALUE">
                                          <block type="variables_get" id="/8m[T=GWFR99Z=|*+tH#">
                                            <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                          </block>
                                        </value>
                                        <value name="FIND">
                                          <shadow type="text" id="3:oJ2zHC}31[^9jGLs{i">
                                            <field name="TEXT">°C</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="_sHFhGfp6/o-k7UvGy$s">
                                        <field name="NUM">1</field>
                                      </shadow>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                </statement>
                <next>
                  <block type="debug" id="%Yk%{UA$F03t$BnC3FWE">
                    <field name="Severity">info</field>
                    <value name="TEXT">
                      <shadow type="text" id="FhVtLn]]J=wJtP`=tv]9">
                        <field name="TEXT">test</field>
                      </shadow>
                      <block type="math_rndfixed" id="hZ8W0k{Jt/ICe_9Ab5Ui">
                        <field name="n">2</field>
                        <value name="x">
                          <shadow type="math_number" id="]80=H[TgUUt[jq:Z2whZ">
                            <field name="NUM">3.1234</field>
                          </shadow>
                          <block type="math_on_list" id="I7Z)L3kX|jp@uzt~|;9L">
                            <mutation op="AVERAGE"></mutation>
                            <field name="OP">AVERAGE</field>
                            <value name="LIST">
                              <block type="variables_get" id="He)C|$TZ3m*3Ll_?)3C=">
                                <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </xml>
    
    haus-automatisierungH Online
    haus-automatisierungH Online
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #3

    Per JavaScript natürlich deutlich kürzer:

    const text = `
    Package id 0:
    Core 0: +59.0°C
    Core 1: +58.0°C
    Core 2: +64.0°C
    Core 3: +62.0°C
    Core 4: +58.0°C
    Core 5: +54.0°C
    `;
    
    const temps = [...text.matchAll(/Core \d+: \+([\d.]+)°C/g)].map(match => parseFloat(match[1]));
    const average = temps.reduce((sum, temp) => sum + temp, 0) / temps.length;
    
    console.log(`Durchschnittstemperatur: ${average.toFixed(2)}`);
    

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    1 Antwort Letzte Antwort
    2
    • JoJo58J JoJo58

      Guten Morgen,

      ich habe einen DP in dem ich mir die Core Temperaturen meines Intel NUC schreiben lasse. Die Daten sehen so aus:

      Package id 0:
      Core 0: +59.0°C
      Core 1: +58.0°C
      Core 2: +64.0°C
      Core 3: +62.0°C
      Core 4: +58.0°C
      Core 5: +54.0°C
      

      Also habe ich Blockly erstellt, welches mir die Werte da rausholt und in Variablen schreibt. Ich mache das über "im Text * nimm Teil ab * bis* Buchstabe", keine Ahnung ob es eleganter geht? Das sieht dann so aus:
      Core Temperaturen.jpg
      Die Debug Ausgabe sieht dann so aus:

      Core Temp:, 64, 77, 69, 64, 64, 59
      

      Ich habe also nur glatte Werte. Wie bekomme ich da jetzt den Mittelwert raus? Einfach alle Werte addieren und dann durch 6 teilen? Oder muss/sollte man das anders machen?

      Wenn ich den Mittelwert habe, möchte ich mir eine Nachricht schicken lassen, wenn dieser 10 Minuten am Stück über 80 liegt. Da der DP jede Minute aktualisiert wird, würde ich einen Zähler setzen, der jedes mal wenn der Wert über 80 geht, erhöht wird und wenn dann 10 erreicht ist, bekomme ich die Nachricht. Sollte der Wert zwischendurch wieder unter 80 sein, wird der Zähler natürlich wieder auf 0 gesetzt. Ist das so okay, oder gibt es da bessere Varianten?

      Und im letzten Stepp dann noch eine JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann. Das müsste ich aber hinkriegen.

      Gruß, Johannes

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #4

      @jojo58 sagte: Wie bekomme ich da jetzt den Mittelwert raus?

      Eine Version:

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      2
      • haus-automatisierungH haus-automatisierung

        @jojo58 So z.B.

        Geht aber bestimmt auch eleganter

        Screenshot 2025-04-24 at 13.20.23.png

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="0qMo2W}Kq_]r}pKv?1vm">text</variable>
            <variable id="x7~jx3L$wieq,D+zr=!(">temps</variable>
            <variable id="MLf-it[+Dt[|c@mAEe4(">zeile</variable>
          </variables>
          <block type="variables_set" id="7Ucg_OX_*N)bq0%Kl_a)" x="163" y="63">
            <field name="VAR" id="0qMo2W}Kq_]r}pKv?1vm">text</field>
            <value name="VALUE">
              <block type="text_multiline" id="cy;o?qx~`eF^UN]UqZul">
                <field name="TEXT">Package id 0:&amp;#10;Core 0: +59.0°C&amp;#10;Core 1: +58.0°C&amp;#10;Core 2: +64.0°C&amp;#10;Core 3: +62.0°C&amp;#10;Core 4: +58.0°C&amp;#10;Core 5: +54.0°C</field>
              </block>
            </value>
            <next>
              <block type="variables_set" id="IH)|e{lmuaE)T]`@I^?a">
                <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
                <value name="VALUE">
                  <block type="lists_create_with" id="=|s:yEwawraI%,*eZ9H/">
                    <mutation items="0"></mutation>
                  </block>
                </value>
                <next>
                  <block type="controls_forEach" id="J_ad`K%~~2dNftid)]P)">
                    <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                    <value name="LIST">
                      <block type="lists_split" id="~F$]Wk0FMe,c)^2h3@K?">
                        <mutation mode="SPLIT"></mutation>
                        <field name="MODE">SPLIT</field>
                        <value name="INPUT">
                          <block type="variables_get" id="=o8Hj9[I8fwhA:o_lf+z">
                            <field name="VAR" id="0qMo2W}Kq_]r}pKv?1vm">text</field>
                          </block>
                        </value>
                        <value name="DELIM">
                          <shadow type="text" id="c%6LCj4K8ve~$$wD$m|X">
                            <field name="TEXT">,</field>
                          </shadow>
                          <block type="text_newline" id="n~rV|d@73=w?eZH2gnra">
                            <field name="Type">\n</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO">
                      <block type="controls_if" id="v]2Q`|tZh4mqq%7=-h-)">
                        <value name="IF0">
                          <block type="text_contains" id="fm:,r?W2bP3^!SDLwOKN">
                            <value name="VALUE">
                              <block type="variables_get" id="R|}r:]vxm8.]0_d/`tVx">
                                <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                              </block>
                            </value>
                            <value name="FIND">
                              <shadow type="text" id="B;Qv*h90:L8HiNMh#*W(">
                                <field name="TEXT">Core </field>
                              </shadow>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="lists_setIndex" id="eMS@W;3A2[OeDKBTII!B">
                            <mutation at="false"></mutation>
                            <field name="MODE">INSERT</field>
                            <field name="WHERE">LAST</field>
                            <value name="LIST">
                              <block type="variables_get" id="K6K?kt4G_-$McHeXdr1b">
                                <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
                              </block>
                            </value>
                            <value name="TO">
                              <block type="convert_tonumber" id="K`iJtTg^1c%cbK?=Rl)0">
                                <value name="VALUE">
                                  <block type="text_getSubstring" id="pm7jmow)[[g=`U^Sv2ZA" inline="false">
                                    <mutation at1="true" at2="true"></mutation>
                                    <field name="WHERE1">FROM_START</field>
                                    <field name="WHERE2">FROM_START</field>
                                    <value name="STRING">
                                      <block type="variables_get" id="LC[^)s9n=+eRjpY$$m73">
                                        <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                      </block>
                                    </value>
                                    <value name="AT1">
                                      <block type="math_arithmetic" id="C_=(CgSmAJLu}7^q%.=q">
                                        <field name="OP">ADD</field>
                                        <value name="A">
                                          <shadow type="math_number" id=",@QKm_VOfV.Smev`PfNS">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="text_indexOf" id="6+agAoxdPGQr15}plp|g">
                                            <field name="END">FIRST</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="9TfSPs[3$eFU=@Fi`v6*">
                                                <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                              </block>
                                            </value>
                                            <value name="FIND">
                                              <shadow type="text" id=";aX65G3Gjkzv}4t^vIrk">
                                                <field name="TEXT">+</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="19L}i~!w}b%7(p^$aY+w">
                                            <field name="NUM">1</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="AT2">
                                      <block type="math_arithmetic" id="WqSv1/!M4VF=h,po@jzT">
                                        <field name="OP">MINUS</field>
                                        <value name="A">
                                          <shadow type="math_number" id="6f#D0qeMn7wuECIxM+o0">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="text_indexOf" id="ZC!j*$!D(SQ(B1?`M({c">
                                            <field name="END">FIRST</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="/8m[T=GWFR99Z=|*+tH#">
                                                <field name="VAR" id="MLf-it[+Dt[|c@mAEe4(">zeile</field>
                                              </block>
                                            </value>
                                            <value name="FIND">
                                              <shadow type="text" id="3:oJ2zHC}31[^9jGLs{i">
                                                <field name="TEXT">°C</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="_sHFhGfp6/o-k7UvGy$s">
                                            <field name="NUM">1</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </statement>
                      </block>
                    </statement>
                    <next>
                      <block type="debug" id="%Yk%{UA$F03t$BnC3FWE">
                        <field name="Severity">info</field>
                        <value name="TEXT">
                          <shadow type="text" id="FhVtLn]]J=wJtP`=tv]9">
                            <field name="TEXT">test</field>
                          </shadow>
                          <block type="math_rndfixed" id="hZ8W0k{Jt/ICe_9Ab5Ui">
                            <field name="n">2</field>
                            <value name="x">
                              <shadow type="math_number" id="]80=H[TgUUt[jq:Z2whZ">
                                <field name="NUM">3.1234</field>
                              </shadow>
                              <block type="math_on_list" id="I7Z)L3kX|jp@uzt~|;9L">
                                <mutation op="AVERAGE"></mutation>
                                <field name="OP">AVERAGE</field>
                                <value name="LIST">
                                  <block type="variables_get" id="He)C|$TZ3m*3Ll_?)3C=">
                                    <field name="VAR" id="x7~jx3L$wieq,D+zr=!(">temps</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </xml>
        
        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #5

        @haus-automatisierung sagte in Werte aus Text und Mittelwert berechnen:

        Geht aber bestimmt auch eleganter

        warum dann nicht doch

        @jojo58 sagte in Werte aus Text und Mittelwert berechnen:

        Einfach alle Werte addieren und dann durch 6 teilen

        ich halte das Arbeiten mit der Liste in diesem Fall für zu umständlich.

        EDIT:
        Wenn ich auf die Lösung von @Paul53 gekommen wäte, sähe die Aussage anders aus :grin:

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        haus-automatisierungH 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @haus-automatisierung sagte in Werte aus Text und Mittelwert berechnen:

          Geht aber bestimmt auch eleganter

          warum dann nicht doch

          @jojo58 sagte in Werte aus Text und Mittelwert berechnen:

          Einfach alle Werte addieren und dann durch 6 teilen

          ich halte das Arbeiten mit der Liste in diesem Fall für zu umständlich.

          EDIT:
          Wenn ich auf die Lösung von @Paul53 gekommen wäte, sähe die Aussage anders aus :grin:

          haus-automatisierungH Online
          haus-automatisierungH Online
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von haus-automatisierung
          #6

          @homoran sagte in Werte aus Text und Mittelwert berechnen:

          ich halte das Arbeiten mit der Liste in diesem Fall für zu umständlich.

          Vorteil ist halt, dass man die Länge / Anzahl der Elemente auch direkt kennt und nicht noch eine Zähl-Variable mitschleppen muss. Also einfach zur Liste hinzufügen und am Ende mit dem Baustein den Mittelwert holen...

          Screenshot 2025-04-24 at 13.32.20.png

          Meine Variante funktioniert immer. Egal ob 2 oder 24 Cores. Und ob die erste Zeile des Textes enthalten ist oder nicht spielt auch keine Rolle.

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          JoJo58J 1 Antwort Letzte Antwort
          1
          • haus-automatisierungH haus-automatisierung

            @homoran sagte in Werte aus Text und Mittelwert berechnen:

            ich halte das Arbeiten mit der Liste in diesem Fall für zu umständlich.

            Vorteil ist halt, dass man die Länge / Anzahl der Elemente auch direkt kennt und nicht noch eine Zähl-Variable mitschleppen muss. Also einfach zur Liste hinzufügen und am Ende mit dem Baustein den Mittelwert holen...

            Screenshot 2025-04-24 at 13.32.20.png

            Meine Variante funktioniert immer. Egal ob 2 oder 24 Cores. Und ob die erste Zeile des Textes enthalten ist oder nicht spielt auch keine Rolle.

            JoJo58J Online
            JoJo58J Online
            JoJo58
            schrieb am zuletzt editiert von JoJo58
            #7

            @haus-automatisierung

            Das Blockly von dir verstehe ich nach kurzem Nachdenken sogar ;-) (und es funktioniert), bei dem von @paul53 sieht es schon anders aus, das wird bestimmt auch funktionieren, aber ich verstehe nicht wie? :astonished:

            @haus-automatisierung Kann ich die Liste "temps" auch direkt nutzen um daraus den JSON DP zu erzeugen?

            EDIT:
            Ist Quatsch, das geht nicht so einfach, da ich dann nur die Spalte mit Werte ohne Zuordnung zu Core oder Mittelwert habe. Sorry, zu kurz gedacht. :-(

            Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
            Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
            Einfach ein tolles Hobby :-)

            1 Antwort Letzte Antwort
            0
            • mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #8

              Mitt JSONATA und Blockly gehts noch kürzer, aber bevor ich dann wieder Kritik ernte, werde ich die Lösung nur auf Wunsch vorstellen.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              JoJo58J 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                Mitt JSONATA und Blockly gehts noch kürzer, aber bevor ich dann wieder Kritik ernte, werde ich die Lösung nur auf Wunsch vorstellen.

                JoJo58J Online
                JoJo58J Online
                JoJo58
                schrieb am zuletzt editiert von
                #9

                @mickym

                Wüßte nicht, warum ich deinen Vorschlag kritisieren sollte? Oder war das allgemein gemeint?

                Ich habe es jetzt mit der Version von @haus-automatisierung gelöst und das läuft erst mal.

                Danke für die schnelle Hilfe und eure Vorschläge. Hab gerade gesehen das @paul53 das noch mal angepasst hat, ich baue das auch noch nach, alleine schon um etwas zu lernen. :-)

                Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                Einfach ein tolles Hobby :-)

                mickymM 1 Antwort Letzte Antwort
                1
                • JoJo58J JoJo58

                  Guten Morgen,

                  ich habe einen DP in dem ich mir die Core Temperaturen meines Intel NUC schreiben lasse. Die Daten sehen so aus:

                  Package id 0:
                  Core 0: +59.0°C
                  Core 1: +58.0°C
                  Core 2: +64.0°C
                  Core 3: +62.0°C
                  Core 4: +58.0°C
                  Core 5: +54.0°C
                  

                  Also habe ich Blockly erstellt, welches mir die Werte da rausholt und in Variablen schreibt. Ich mache das über "im Text * nimm Teil ab * bis* Buchstabe", keine Ahnung ob es eleganter geht? Das sieht dann so aus:
                  Core Temperaturen.jpg
                  Die Debug Ausgabe sieht dann so aus:

                  Core Temp:, 64, 77, 69, 64, 64, 59
                  

                  Ich habe also nur glatte Werte. Wie bekomme ich da jetzt den Mittelwert raus? Einfach alle Werte addieren und dann durch 6 teilen? Oder muss/sollte man das anders machen?

                  Wenn ich den Mittelwert habe, möchte ich mir eine Nachricht schicken lassen, wenn dieser 10 Minuten am Stück über 80 liegt. Da der DP jede Minute aktualisiert wird, würde ich einen Zähler setzen, der jedes mal wenn der Wert über 80 geht, erhöht wird und wenn dann 10 erreicht ist, bekomme ich die Nachricht. Sollte der Wert zwischendurch wieder unter 80 sein, wird der Zähler natürlich wieder auf 0 gesetzt. Ist das so okay, oder gibt es da bessere Varianten?

                  Und im letzten Stepp dann noch eine JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann. Das müsste ich aber hinkriegen.

                  Gruß, Johannes

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #10

                  @jojo58 sagte: JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann.

                  Vorschlag:

                  Blockly_temp.JPG

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  JoJo58J 3 Antworten Letzte Antwort
                  0
                  • JoJo58J JoJo58

                    @mickym

                    Wüßte nicht, warum ich deinen Vorschlag kritisieren sollte? Oder war das allgemein gemeint?

                    Ich habe es jetzt mit der Version von @haus-automatisierung gelöst und das läuft erst mal.

                    Danke für die schnelle Hilfe und eure Vorschläge. Hab gerade gesehen das @paul53 das noch mal angepasst hat, ich baue das auch noch nach, alleine schon um etwas zu lernen. :-)

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #11

                    @jojo58 sagte in Werte aus Text und Mittelwert berechnen:

                    Wüßte nicht, warum ich deinen Vorschlag kritisieren sollte? Oder war das allgemein gemeint?

                    Dann hier mal meine Lösung - ein neues Objekt zu erstellen ist damit auch sehr einfach, aber keine Ahnung, wie Du das haben willst.

                    Hier das JSONATA:

                    $match($,/\d+\.\d/).$number(match)~>$average()~>$round(2)
                    

                    c9a5be24-baf8-4e6a-98f8-b5aa3baea3e3-image.png

                    und hier das Blockly zum Import:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="hu+F[F+=/+n6(w#b!bkk">Text</variable>
                     </variables>
                     <block type="variables_set" id="^~Sv#fxrrEl3v%:$_j(K" x="-137" y="63">
                       <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
                       <value name="VALUE">
                         <block type="text" id="}KJz}$Rs!%XxMZl%j4_w">
                           <field name="TEXT">Package id 0: Core 0: +59.0°C Core 1: +58.0°C Core 2: +64.0°C Core 3: +62.0°C Core 4: +58.0°C Core 5: +54.0°C</field>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="k08ZC410l/7`T|+g_+w@">
                           <field name="Severity">info</field>
                           <value name="TEXT">
                             <shadow type="text" id=",T!NCf4e|u/ADp:g1bn[">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="text_join" id="~F~v3J+nR#hK*ocxCF#X">
                               <mutation items="2"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="C}wpA(/bWjvr.r;!:{9q">
                                   <field name="TEXT">Mittelwert (gerundet 2 Dezimalstellen): </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="convert_jsonata" id="u}[_Z`KWHAeHkdE@@V?=">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="eg-6.rV=oGTM`RArquVg">
                                       <field name="TEXT">$match($,/\d+\.\d/).$number(match)~&gt;$average()~&gt;$round(2)</field>
                                     </shadow>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="n+aI}jp_T]nxZ439rGaK">
                                       <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                     <block type="convert_json2object" id="1-ME3y(y.YrZvl:v}Pb`" x="388" y="438"></block>
                    </xml>
                    

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    JoJo58J 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @jojo58 sagte in Werte aus Text und Mittelwert berechnen:

                      Wüßte nicht, warum ich deinen Vorschlag kritisieren sollte? Oder war das allgemein gemeint?

                      Dann hier mal meine Lösung - ein neues Objekt zu erstellen ist damit auch sehr einfach, aber keine Ahnung, wie Du das haben willst.

                      Hier das JSONATA:

                      $match($,/\d+\.\d/).$number(match)~>$average()~>$round(2)
                      

                      c9a5be24-baf8-4e6a-98f8-b5aa3baea3e3-image.png

                      und hier das Blockly zum Import:

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="hu+F[F+=/+n6(w#b!bkk">Text</variable>
                       </variables>
                       <block type="variables_set" id="^~Sv#fxrrEl3v%:$_j(K" x="-137" y="63">
                         <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
                         <value name="VALUE">
                           <block type="text" id="}KJz}$Rs!%XxMZl%j4_w">
                             <field name="TEXT">Package id 0: Core 0: +59.0°C Core 1: +58.0°C Core 2: +64.0°C Core 3: +62.0°C Core 4: +58.0°C Core 5: +54.0°C</field>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="k08ZC410l/7`T|+g_+w@">
                             <field name="Severity">info</field>
                             <value name="TEXT">
                               <shadow type="text" id=",T!NCf4e|u/ADp:g1bn[">
                                 <field name="TEXT">test</field>
                               </shadow>
                               <block type="text_join" id="~F~v3J+nR#hK*ocxCF#X">
                                 <mutation items="2"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="C}wpA(/bWjvr.r;!:{9q">
                                     <field name="TEXT">Mittelwert (gerundet 2 Dezimalstellen): </field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="convert_jsonata" id="u}[_Z`KWHAeHkdE@@V?=">
                                     <value name="EXPRESSION">
                                       <shadow type="text" id="eg-6.rV=oGTM`RArquVg">
                                         <field name="TEXT">$match($,/\d+\.\d/).$number(match)~&gt;$average()~&gt;$round(2)</field>
                                       </shadow>
                                     </value>
                                     <value name="TARGET">
                                       <block type="variables_get" id="n+aI}jp_T]nxZ439rGaK">
                                         <field name="VAR" id="hu+F[F+=/+n6(w#b!bkk">Text</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                       <block type="convert_json2object" id="1-ME3y(y.YrZvl:v}Pb`" x="388" y="438"></block>
                      </xml>
                      

                      JoJo58J Online
                      JoJo58J Online
                      JoJo58
                      schrieb am zuletzt editiert von
                      #12

                      @mickym

                      Danke, werde ich auch ausprobieren. :-)

                      Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                      Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                      Einfach ein tolles Hobby :-)

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @jojo58 sagte: JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann.

                        Vorschlag:

                        Blockly_temp.JPG

                        JoJo58J Online
                        JoJo58J Online
                        JoJo58
                        schrieb am zuletzt editiert von
                        #13

                        @paul53 sagte in Werte aus Text und Mittelwert berechnen:

                        Vorschlag:

                        Das wird ja immer besser. Danke... :-) :+1: Ich sage Bescheid, sobald ich es nachgebaut habe. Werde aber wohl erst Montag dazu kommen, da wir ab morgen früh für ein paar Tage weg sind.

                        Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                        Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                        Einfach ein tolles Hobby :-)

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @jojo58 sagte: JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann.

                          Vorschlag:

                          Blockly_temp.JPG

                          JoJo58J Online
                          JoJo58J Online
                          JoJo58
                          schrieb am zuletzt editiert von
                          #14

                          @paul53

                          Moin, bin eben erst dazu gekommen, das aus deinem Post nachzubauen. Es hat auf Anhieb funktioniert und hier mal das Blockly und das Ergebnis:
                          Blockly Core Temp.jpg
                          Temperatur VIS.jpg

                          Danke für die Vorlage. Wieder etwas dazugelernt. :+1:

                          Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                          Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                          Einfach ein tolles Hobby :-)

                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @jojo58 sagte: JSON erstellen, so das ich die aktuellen Werte inklusive Mittelwert in VIS darstellen kann.

                            Vorschlag:

                            Blockly_temp.JPG

                            JoJo58J Online
                            JoJo58J Online
                            JoJo58
                            schrieb am zuletzt editiert von
                            #15

                            @paul53

                            Moin, ich weiß, ist schon ein paar Tage her.

                            Ich würde gerne die Werte je Core in einen Datenpunkt schreiben. Also vom ersten Objekt in den DP "0_userdata.0.LinuxServer.CPU_Temperatur.C_Core_00" den zweiten in den DP "0_userdata.0.LinuxServer.CPU_Temperatur.C_Core_01" usw.
                            Ich komme nicht dahinter, wie ich die einzelnen Werte raushole und schreiben kann.
                            Ich hatte es mit "In der Liste *** nimm das 1 Element" aber das ist ja Quatsch, da nimmt der nur den 1. Buchstaben.

                            Könntest du mir da bitte nochmal helfen? Ich kann dir das Blockly auch gerne exportieren und hier reinstellen, damit du es nicht nachbauen musst um mir zu helfen?

                            Gruß, Johannes

                            CPU Temperaturen 1.jpg

                            Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                            Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                            Einfach ein tolles Hobby :-)

                            JoJo58J 1 Antwort Letzte Antwort
                            0
                            • JoJo58J JoJo58

                              @paul53

                              Moin, ich weiß, ist schon ein paar Tage her.

                              Ich würde gerne die Werte je Core in einen Datenpunkt schreiben. Also vom ersten Objekt in den DP "0_userdata.0.LinuxServer.CPU_Temperatur.C_Core_00" den zweiten in den DP "0_userdata.0.LinuxServer.CPU_Temperatur.C_Core_01" usw.
                              Ich komme nicht dahinter, wie ich die einzelnen Werte raushole und schreiben kann.
                              Ich hatte es mit "In der Liste *** nimm das 1 Element" aber das ist ja Quatsch, da nimmt der nur den 1. Buchstaben.

                              Könntest du mir da bitte nochmal helfen? Ich kann dir das Blockly auch gerne exportieren und hier reinstellen, damit du es nicht nachbauen musst um mir zu helfen?

                              Gruß, Johannes

                              CPU Temperaturen 1.jpg

                              JoJo58J Online
                              JoJo58J Online
                              JoJo58
                              schrieb am zuletzt editiert von JoJo58
                              #16

                              @paul53

                              Hat sich erledigt, habs hinbekommen. 😁 Mit Element war ich schon auf dem richtigen Weg, aber ich musste nach Zahl konvertieren.

                              Gruß, Johannes

                              Intel NUC i7 64GB 1TB SSD - Proxmox - Raspi 4 8GB 500 GB SSD - Raspi 4 4GB 500GB SSD - Qnap 16TB - CCU3 - Fritz 6591 Cable - Green Cell USV 1500VA
                              Sonoff CC2652P - HUE Bridge - Broadlink RM4 pro u. RM3 mini - 5 x Echo - 1 x Samsung STab 8 - 54 x HM und HMIP - 32 x Zigbee - 2 x Shelly 3EM.
                              Einfach ein tolles Hobby :-)

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              770

                              Online

                              32.6k

                              Benutzer

                              82.1k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe