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
    878

  • 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

    @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

                      603

                      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