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. brauche Variable für eigene Log-Datei

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

brauche Variable für eigene Log-Datei

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 2 Kommentatoren 566 Aufrufe 2 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.
  • SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2

    RRD.png

    Hier mal mit einem 5 Sekunden-Raster zum testen, schreibt die letzten 20 CPU-Auslastungen in die Variable "LogDatei" und gibt sie auf der Konsole aus. Der 20. Eintrag wird entfernt und "vor" die Liste ein aktueller Wert geschrieben. Kann man natürlich auch umdrehen ;)

    <block xmlns="http://www.w3.org/1999/xhtml" type="schedule" id="J}TxD:}t)tu]5a%Ev=pi" x="12.207793832522214" y="37.99999999999983">
      <field name="SCHEDULE">*/5 * * * * *</field>
      <statement name="STATEMENT">
        <block type="comment" id="{z%oG~e7U;HP/^Y(vQtA">
          <field name="COMMENT">leere Liste erzeugen falls nötig</field>
          <next>
            <block type="controls_if" id="Nh7.[~7k#@}U?U;:SeaV">
              <value name="IF0">
                <block type="logic_negate" id="?HU?*^o(|pYK:iJ=bQy=">
                  <value name="BOOL">
                    <block type="variables_get" id="eI9^z!/a8Jkgy+-B2=uW">
                      <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="variables_set" id=")i;4vVq5Xhj%~pvk^aJ8">
                  <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                  <value name="VALUE">
                    <block type="lists_repeat" id="?{twJhDmOs2Bl1#n$=1:">
                      <value name="NUM">
                        <shadow type="math_number" id="8{zGo)BWfpKarx#l]!+E">
                          <field name="NUM">20</field>
                        </shadow>
                      </value>
                      <value name="ITEM">
                        <block type="text" id="iNY60=NdH27E!isTd),m">
                          <field name="TEXT"></field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </statement>
              <next>
                <block type="comment" id="XA|d5YA])Xa$g$b,.T@R">
                  <field name="COMMENT">RRD abbilden</field>
                  <next>
                    <block type="lists_getIndex" id="Aj?X(1R(Fo4L.8rw(:7N">
                      <mutation statement="true" at="true"></mutation>
                      <field name="MODE">REMOVE</field>
                      <field name="WHERE">FROM_START</field>
                      <value name="VALUE">
                        <block type="variables_get" id="kR3ycE%+$q$eIqW8_My.">
                          <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                        </block>
                      </value>
                      <value name="AT">
                        <block type="math_number" id="RG{];f5p]!o1d(l?=l?e">
                          <field name="NUM">20</field>
                        </block>
                      </value>
                      <next>
                        <block type="lists_setIndex" id="%34Xz/e1[Xd-3wUy~1Oi">
                          <mutation at="true"></mutation>
                          <field name="MODE">INSERT</field>
                          <field name="WHERE">FROM_START</field>
                          <value name="LIST">
                            <block type="variables_get" id="`fX0_s/I0Hq+E5[.GXJV">
                              <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                            </block>
                          </value>
                          <value name="AT">
                            <block type="math_number" id="nn-|0@+J)K)sdO/IV0QZ">
                              <field name="NUM">1</field>
                            </block>
                          </value>
                          <value name="TO">
                            <block type="get_value" id="Z!J6HUKH(?q]@XZ4%[~:">
                              <field name="ATTR">val</field>
                              <field name="OID">info.0.sysinfo.cpu.currentLoad.currentload</field>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="O@aN90Eitr1(--sZg`14">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text" id="Vr`a1)qzy^0*KhfnS|_J">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="variables_get" id="y%-RLcTG0j37/AtN=gEL">
                                  <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
      </statement>
    </block>
    

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    S 1 Antwort Letzte Antwort
    1
    • SBorgS SBorg

      RRD.png

      Hier mal mit einem 5 Sekunden-Raster zum testen, schreibt die letzten 20 CPU-Auslastungen in die Variable "LogDatei" und gibt sie auf der Konsole aus. Der 20. Eintrag wird entfernt und "vor" die Liste ein aktueller Wert geschrieben. Kann man natürlich auch umdrehen ;)

      <block xmlns="http://www.w3.org/1999/xhtml" type="schedule" id="J}TxD:}t)tu]5a%Ev=pi" x="12.207793832522214" y="37.99999999999983">
        <field name="SCHEDULE">*/5 * * * * *</field>
        <statement name="STATEMENT">
          <block type="comment" id="{z%oG~e7U;HP/^Y(vQtA">
            <field name="COMMENT">leere Liste erzeugen falls nötig</field>
            <next>
              <block type="controls_if" id="Nh7.[~7k#@}U?U;:SeaV">
                <value name="IF0">
                  <block type="logic_negate" id="?HU?*^o(|pYK:iJ=bQy=">
                    <value name="BOOL">
                      <block type="variables_get" id="eI9^z!/a8Jkgy+-B2=uW">
                        <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="variables_set" id=")i;4vVq5Xhj%~pvk^aJ8">
                    <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                    <value name="VALUE">
                      <block type="lists_repeat" id="?{twJhDmOs2Bl1#n$=1:">
                        <value name="NUM">
                          <shadow type="math_number" id="8{zGo)BWfpKarx#l]!+E">
                            <field name="NUM">20</field>
                          </shadow>
                        </value>
                        <value name="ITEM">
                          <block type="text" id="iNY60=NdH27E!isTd),m">
                            <field name="TEXT"></field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </statement>
                <next>
                  <block type="comment" id="XA|d5YA])Xa$g$b,.T@R">
                    <field name="COMMENT">RRD abbilden</field>
                    <next>
                      <block type="lists_getIndex" id="Aj?X(1R(Fo4L.8rw(:7N">
                        <mutation statement="true" at="true"></mutation>
                        <field name="MODE">REMOVE</field>
                        <field name="WHERE">FROM_START</field>
                        <value name="VALUE">
                          <block type="variables_get" id="kR3ycE%+$q$eIqW8_My.">
                            <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                          </block>
                        </value>
                        <value name="AT">
                          <block type="math_number" id="RG{];f5p]!o1d(l?=l?e">
                            <field name="NUM">20</field>
                          </block>
                        </value>
                        <next>
                          <block type="lists_setIndex" id="%34Xz/e1[Xd-3wUy~1Oi">
                            <mutation at="true"></mutation>
                            <field name="MODE">INSERT</field>
                            <field name="WHERE">FROM_START</field>
                            <value name="LIST">
                              <block type="variables_get" id="`fX0_s/I0Hq+E5[.GXJV">
                                <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                              </block>
                            </value>
                            <value name="AT">
                              <block type="math_number" id="nn-|0@+J)K)sdO/IV0QZ">
                                <field name="NUM">1</field>
                              </block>
                            </value>
                            <value name="TO">
                              <block type="get_value" id="Z!J6HUKH(?q]@XZ4%[~:">
                                <field name="ATTR">val</field>
                                <field name="OID">info.0.sysinfo.cpu.currentLoad.currentload</field>
                              </block>
                            </value>
                            <next>
                              <block type="debug" id="O@aN90Eitr1(--sZg`14">
                                <field name="Severity">log</field>
                                <value name="TEXT">
                                  <shadow type="text" id="Vr`a1)qzy^0*KhfnS|_J">
                                    <field name="TEXT">test</field>
                                  </shadow>
                                  <block type="variables_get" id="y%-RLcTG0j37/AtN=gEL">
                                    <field name="VAR" id="(|o{q,YRNd,j{oY#zaVK" variabletype="">LogDatei</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </statement>
      </block>
      
      S Offline
      S Offline
      skokarl
      schrieb am zuletzt editiert von
      #3

      @SBorg
      Cool, das nenn ich mal ne geile Starthilfe.
      Sieht jetzt gar nicht mehr so schlimm aus
      wie ich es mir vorgestellt hatte.
      Blockly scheint echt mächtiger zu sein als ich dachte.
      Danke Dir, teste ich heute oder morgen sofort.
      Gruss

      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

      1 Antwort Letzte Antwort
      0
      • SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #4

        Ich hatte es anfangs auch viel umständlicher. Beim "bauen" kam mir dann die Idee wie es viel einfacher geht.

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        S 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          Ich hatte es anfangs auch viel umständlicher. Beim "bauen" kam mir dann die Idee wie es viel einfacher geht.

          S Offline
          S Offline
          skokarl
          schrieb am zuletzt editiert von
          #5

          @SBorg
          und nach dem Löschen vom 20. Element, schiebt er automatisch alle ums eins hoch ? , das steht ja eigentlich nirgends..... ??

          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

          1 Antwort Letzte Antwort
          0
          • SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #6

            Doch, in der 2. Zeile "füge als 1. Element ein".

            Tabelle mit Eintrag 1-20. Lösche den 20ten (Tabelle nun von 1-19) und füge quasi vor den 1ten wieder einen neuen Eintrag hinzu = wieder Tabelle mit 20 Einträgen.
            Der 1. wird nicht ersetzt, sondern davor ein weiterer Tabelleneintrag erstellt. Damit rücken alle Einträge um +1 nach hinten.

            btw: ist (diesmal) getestet und funktioniert :innocent:

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            S 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              Doch, in der 2. Zeile "füge als 1. Element ein".

              Tabelle mit Eintrag 1-20. Lösche den 20ten (Tabelle nun von 1-19) und füge quasi vor den 1ten wieder einen neuen Eintrag hinzu = wieder Tabelle mit 20 Einträgen.
              Der 1. wird nicht ersetzt, sondern davor ein weiterer Tabelleneintrag erstellt. Damit rücken alle Einträge um +1 nach hinten.

              btw: ist (diesmal) getestet und funktioniert :innocent:

              S Offline
              S Offline
              skokarl
              schrieb am zuletzt editiert von
              #7

              @SBorg

              Mein lieber SBorg, ich glaube ich werde zu alt.

              Glaub mir, ich hab vor über 30 Jahren mal 6502 Assembler gelernt, das war echt Knochenarbeit,
              aber mit diesem neumodischen Kram tue ich mich so schwer ....

              Wo ist Deine Log-Datei ? Ich brauch die für mein Widget :grinning:
              Oder anders, ich hab mir ne Variable Typ Feld ( das ist wohl ein Array ) angelegt, aber irgendwie
              krieg ich gerade Deine Daten nicht da rein.

              Ziel ist, ein Feld in einer View zu haben wo die von mir an das Array geschickten Daten in einem Widget angezeigt werden.

              d.h...... Fenster zu ... ab ins Array, Alarmanlage an, ab ins Array....

              IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

              SBorgS 1 Antwort Letzte Antwort
              0
              • S skokarl

                @SBorg

                Mein lieber SBorg, ich glaube ich werde zu alt.

                Glaub mir, ich hab vor über 30 Jahren mal 6502 Assembler gelernt, das war echt Knochenarbeit,
                aber mit diesem neumodischen Kram tue ich mich so schwer ....

                Wo ist Deine Log-Datei ? Ich brauch die für mein Widget :grinning:
                Oder anders, ich hab mir ne Variable Typ Feld ( das ist wohl ein Array ) angelegt, aber irgendwie
                krieg ich gerade Deine Daten nicht da rein.

                Ziel ist, ein Feld in einer View zu haben wo die von mir an das Array geschickten Daten in einem Widget angezeigt werden.

                d.h...... Fenster zu ... ab ins Array, Alarmanlage an, ab ins Array....

                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #8

                Naja, ich mache das ganze auch schon 40 Jahre. Angefangen habe ich mit einem Texas Instruments TI-99/4A mit immerhin 16kB Hauptspeicher...

                @skokarl sagte in brauche Variable für eigene Log-Datei:

                Oder anders, ich hab mir ne Variable Typ Feld ( das ist wohl ein Array ) angelegt, aber irgendwie
                krieg ich gerade Deine Daten nicht da rein.

                Das ist schon fast gut :)
                LogDatei ist eine Variable (hier ein Array), deswegen kannst du die auch recht simpel in jeden beliebigen Datenpunkt vom Typ "Feld" schreiben (bei mir "Test").
                RRD 1.jpg
                Schon kannst du es in der VIS anzeigen lassen.

                Ich habe hier mal auf 3 Einträge gekürzt mit besseren Werten, da siehst du schön in der Konsole wie er die Daten korrekt verschiebt.
                Jetzt brauchst du nur noch einen zentralen Datenpunkt, in dem jede gewünschte Ausgabe (Fenster zu, Alarm an...) landet und diesen anstelle der "CPU load..." eintragen.

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                S 1 Antwort Letzte Antwort
                0
                • SBorgS SBorg

                  Naja, ich mache das ganze auch schon 40 Jahre. Angefangen habe ich mit einem Texas Instruments TI-99/4A mit immerhin 16kB Hauptspeicher...

                  @skokarl sagte in brauche Variable für eigene Log-Datei:

                  Oder anders, ich hab mir ne Variable Typ Feld ( das ist wohl ein Array ) angelegt, aber irgendwie
                  krieg ich gerade Deine Daten nicht da rein.

                  Das ist schon fast gut :)
                  LogDatei ist eine Variable (hier ein Array), deswegen kannst du die auch recht simpel in jeden beliebigen Datenpunkt vom Typ "Feld" schreiben (bei mir "Test").
                  RRD 1.jpg
                  Schon kannst du es in der VIS anzeigen lassen.

                  Ich habe hier mal auf 3 Einträge gekürzt mit besseren Werten, da siehst du schön in der Konsole wie er die Daten korrekt verschiebt.
                  Jetzt brauchst du nur noch einen zentralen Datenpunkt, in dem jede gewünschte Ausgabe (Fenster zu, Alarm an...) landet und diesen anstelle der "CPU load..." eintragen.

                  S Offline
                  S Offline
                  skokarl
                  schrieb am zuletzt editiert von skokarl
                  #9

                  @SBorg

                  jetzt hab ich's. :grinning:
                  Ich hatte mich in die LogDatei verrannt, völliger Quatsch, wenn das ganze im Objekt steht kann
                  ich besser mit arbeiten. Das passiert halt wenn man völlig falsch denkt.

                  Danke Dir für das Beispiel, damit kann ich das jetzt so ändern und erweitern wie ich es brauche.

                  Ich hoffe ich kann Dir eines Tages auch mal was gutes tun, obwohl, wenn man Deine Beiträge liesst,
                  kannst Du eigentlich schon fast alles :scream:

                  IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                  1 Antwort Letzte Antwort
                  0
                  • SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #10

                    Bei weitem nicht :grinning:
                    ...und Technik ja, aber grafisch bin ich der Voll-N00b. Ich könnte es zwar höflich umschreiben, aber unterm Strich sieht es bei mir einfach immer nur k*cke aus...

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    S 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      Bei weitem nicht :grinning:
                      ...und Technik ja, aber grafisch bin ich der Voll-N00b. Ich könnte es zwar höflich umschreiben, aber unterm Strich sieht es bei mir einfach immer nur k*cke aus...

                      S Offline
                      S Offline
                      skokarl
                      schrieb am zuletzt editiert von
                      #11

                      @SBorg sagte in brauche Variable für eigene Log-Datei:

                      Bei weitem nicht :grinning:
                      ...und Technik ja, aber grafisch bin ich der Voll-N00b. Ich könnte es zwar höflich umschreiben, aber unterm Strich sieht es bei mir einfach immer nur k*cke aus...

                      Du darfst mir gerne mal die hässlichste Deiner Views schicken .... :sunglasses:

                      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                      1 Antwort Letzte Antwort
                      0
                      • SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #12

                        Wenn mal eine fertig wird...
                        Sitze aber aktuell gerade an zwei Hardware-Projekten und plane noch zusätzlich mein bisher größtes :grin:

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        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

                        667

                        Online

                        32.7k

                        Benutzer

                        82.4k

                        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