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.
  • S Offline
    S Offline
    skokarl
    schrieb am zuletzt editiert von
    #1

    Hallo,

    für meine eigene Log-Datei brauche ich eine geeignete Variable die man
    auch gut handeln kann.
    Nach dem Prinzip FIFO ( first in first out ) reicht es wenn dort für zwanzig Einträge
    Platz ist, der letzte wird immer gelöscht.

    Welche Variable eignet sich in Blocky dafür am besten ?
    Die Funktion eines Arrays ist mir bekannt, bin mir nur nicht sicher dass das in Blockly so einfach wird.
    Eigentlich will ich auch gar nicht gezielt einen Eintrag der 20 Einträge anzeigen.... angezeigt wird immer
    die ganze Liste.

    Hat jemand eine Idee bezüglich Variable für mich ?

    Danke und Gruß

    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
      #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

                          671

                          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