Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly Fehlermeldungen bereinigen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    690

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

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

Blockly Fehlermeldungen bereinigen

Geplant Angeheftet Gesperrt Verschoben Blockly
60 Beiträge 3 Kommentatoren 5.4k Aufrufe 2 Beobachtet
  • Ä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.
  • T tedesco1968

    Hallo zusammen,

    bekomme von meinem Blockly-Script Fehlermeldungen, das Json Objekt wird generiert und funktioniert, würde aber gerne wissen wieso diese Fehler kommen und wie ich diese ausmerzen kann.

    2022-12-28 13_55_34-Window.png

    Das ist die Javascript Funktion:

    return {Tag: getObject(id).common.name.substring(33, 41), Leistung: getState(id).val};
    

    Das Blockly:

    <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="V-O[P~`9nRu|91{agd=q" x="63" y="488">
      <field name="SCHEDULE">*/10 * * * *</field>
      <statement name="STATEMENT">
        <block type="variables_set" id="rum8(?e?6L~+z7cct^YY">
          <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
          <value name="VALUE">
            <block type="lists_create_with" id=",?eod49;2jOZb(),+BV?">
              <mutation items="0"></mutation>
            </block>
          </value>
          <next>
            <block type="controls_forEach" id="He@fMA`t532R5BD!+|]y">
              <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
              <value name="LIST">
                <block type="selector" id="N.v[Iq2Fk7F$5e%S=_7Y">
                  <field name="TEXT">state[id='0_userdata.0.PV_Leistung_Tage.*']</field>
                </block>
              </value>
              <statement name="DO">
                <block type="lists_setIndex" id="(Mh$*_Rdr_Y/c=nnS97/" inline="false">
                  <mutation at="false"></mutation>
                  <field name="MODE">INSERT</field>
                  <field name="WHERE">FIRST</field>
                  <value name="LIST">
                    <block type="variables_get" id="/+)oXd(`PqT~UCl@,3zH">
                      <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                    </block>
                  </value>
                  <value name="TO">
                    <block type="procedures_callcustomreturn" id="#:t4wK:jUVIL4fEZ=fTV" inline="true">
                      <mutation name="PV  daten">
                        <arg name="id"></arg>
                      </mutation>
                      <value name="ARG0">
                        <block type="variables_get" id="DY,W+iip?A^(fL,7vA((">
                          <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </statement>
              <next>
                <block type="update" id=")kVm,vM]qdBsyITfSZv]" inline="false">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.PV_Tage</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="convert_object2json" id="lhe98_uP[tcPS1d`Or42">
                      <field name="PRETTIFY">TRUE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="sA`Fp6(Vo%~EDa:SR/p)">
                          <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </next>
            </block>
          </next>
        </block>
      </statement>
    </block>
    
    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #2

    @tedesco1968 sagte: Das ist die Javascript Funktion:

    Aber nicht im Blockly-Export. Dort steht

    return 0;
    

    Überprüfe erst einmal den Selektor:

    Bild_2022-12-28_143651900.png

    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

    T 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @tedesco1968 sagte: Das ist die Javascript Funktion:

      Aber nicht im Blockly-Export. Dort steht

      return 0;
      

      Überprüfe erst einmal den Selektor:

      Bild_2022-12-28_143651900.png

      T Offline
      T Offline
      tedesco1968
      schrieb am zuletzt editiert von
      #3

      @paul53
      Hallo Paul,

      danke für die Antwort, du hast natürlich recht, hatte beim export vor auf ein Baustein gedrückt so hat es nur das Blockly ohne Javascript exportiert.

      Jetzt aber:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="Bo~tGR5:/kUi:%hJI@J|">id</variable>
          <variable id="9B{,Aco/ay6QhjHo88q4">liste</variable>
        </variables>
        <block type="procedures_defcustomreturn" id="@,34^k0|W;sA~juA.PPn" x="263" y="463">
          <mutation statements="false">
            <arg name="id" varid="Bo~tGR5:/kUi:%hJI@J|"></arg>
          </mutation>
          <field name="NAME">PV  daten</field>
          <field name="SCRIPT">cmV0dXJuIHtUYWc6IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWUuc3Vic3RyaW5nKDMzLCA0MSksIExlaXN0dW5nOiBnZXRTdGF0ZShpZCkudmFsfTs=</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="schedule" id="V-O[P~`9nRu|91{agd=q" x="63" y="488">
          <field name="SCHEDULE">*/10 * * * *</field>
          <statement name="STATEMENT">
            <block type="variables_set" id="rum8(?e?6L~+z7cct^YY">
              <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
              <value name="VALUE">
                <block type="lists_create_with" id=",?eod49;2jOZb(),+BV?">
                  <mutation items="0"></mutation>
                </block>
              </value>
              <next>
                <block type="controls_forEach" id="He@fMA`t532R5BD!+|]y">
                  <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
                  <value name="LIST">
                    <block type="selector" id="N.v[Iq2Fk7F$5e%S=_7Y">
                      <field name="TEXT">state[id='0_userdata.0.PV_Leistung_Tage.*']</field>
                    </block>
                  </value>
                  <statement name="DO">
                    <block type="lists_setIndex" id="(Mh$*_Rdr_Y/c=nnS97/" inline="false">
                      <mutation at="false"></mutation>
                      <field name="MODE">INSERT</field>
                      <field name="WHERE">FIRST</field>
                      <value name="LIST">
                        <block type="variables_get" id="/+)oXd(`PqT~UCl@,3zH">
                          <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                        </block>
                      </value>
                      <value name="TO">
                        <block type="procedures_callcustomreturn" id="#:t4wK:jUVIL4fEZ=fTV" inline="true">
                          <mutation name="PV  daten">
                            <arg name="id"></arg>
                          </mutation>
                          <value name="ARG0">
                            <block type="variables_get" id="DY,W+iip?A^(fL,7vA((">
                              <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="update" id=")kVm,vM]qdBsyITfSZv]" inline="false">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.PV_Tage</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="convert_object2json" id="lhe98_uP[tcPS1d`Or42">
                          <field name="PRETTIFY">TRUE</field>
                          <value name="VALUE">
                            <block type="variables_get" id="sA`Fp6(Vo%~EDa:SR/p)">
                              <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Wegen dem Selector, muss ehrlich sagen das ich schwierigkeiten hatte bis es endlich das gemacht was es soll, leider gibt es über den Selector nicht viel Erklärungs Seiten.

      Das ist das Json Objekt was erzeugt wird:

      [
        {
          "Tag": "28_12_22",
          "Leistung": 10186
        },
        {
          "Tag": "27_12_22",
          "Leistung": 15726
        },
        {
          "Tag": "26_12_22",
          "Leistung": 1652
        },
        {
          "Tag": "25_12_22",
          "Leistung": 17534
        },
        {
          "Tag": "24_12_22",
          "Leistung": 1590
        },
        {
          "Tag": "23_12_22",
          "Leistung": 590
        },
        {
          "Tag": "22_12_22",
          "Leistung": 1290
        },
        {
          "Tag": "21_12_22",
          "Leistung": 5274
        }
      ]
      

      Und so sieht dann meine Tabelle in VIS aus:

      2022-12-28 17_13_29-vis.png

      kannst du mir bezüglich den Selector auf die spünge helfen Paul?

      Vielen Dank

      Antonio

      T 1 Antwort Letzte Antwort
      0
      • T tedesco1968

        @paul53
        Hallo Paul,

        danke für die Antwort, du hast natürlich recht, hatte beim export vor auf ein Baustein gedrückt so hat es nur das Blockly ohne Javascript exportiert.

        Jetzt aber:

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="Bo~tGR5:/kUi:%hJI@J|">id</variable>
            <variable id="9B{,Aco/ay6QhjHo88q4">liste</variable>
          </variables>
          <block type="procedures_defcustomreturn" id="@,34^k0|W;sA~juA.PPn" x="263" y="463">
            <mutation statements="false">
              <arg name="id" varid="Bo~tGR5:/kUi:%hJI@J|"></arg>
            </mutation>
            <field name="NAME">PV  daten</field>
            <field name="SCRIPT">cmV0dXJuIHtUYWc6IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWUuc3Vic3RyaW5nKDMzLCA0MSksIExlaXN0dW5nOiBnZXRTdGF0ZShpZCkudmFsfTs=</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          <block type="schedule" id="V-O[P~`9nRu|91{agd=q" x="63" y="488">
            <field name="SCHEDULE">*/10 * * * *</field>
            <statement name="STATEMENT">
              <block type="variables_set" id="rum8(?e?6L~+z7cct^YY">
                <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                <value name="VALUE">
                  <block type="lists_create_with" id=",?eod49;2jOZb(),+BV?">
                    <mutation items="0"></mutation>
                  </block>
                </value>
                <next>
                  <block type="controls_forEach" id="He@fMA`t532R5BD!+|]y">
                    <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
                    <value name="LIST">
                      <block type="selector" id="N.v[Iq2Fk7F$5e%S=_7Y">
                        <field name="TEXT">state[id='0_userdata.0.PV_Leistung_Tage.*']</field>
                      </block>
                    </value>
                    <statement name="DO">
                      <block type="lists_setIndex" id="(Mh$*_Rdr_Y/c=nnS97/" inline="false">
                        <mutation at="false"></mutation>
                        <field name="MODE">INSERT</field>
                        <field name="WHERE">FIRST</field>
                        <value name="LIST">
                          <block type="variables_get" id="/+)oXd(`PqT~UCl@,3zH">
                            <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                          </block>
                        </value>
                        <value name="TO">
                          <block type="procedures_callcustomreturn" id="#:t4wK:jUVIL4fEZ=fTV" inline="true">
                            <mutation name="PV  daten">
                              <arg name="id"></arg>
                            </mutation>
                            <value name="ARG0">
                              <block type="variables_get" id="DY,W+iip?A^(fL,7vA((">
                                <field name="VAR" id="Bo~tGR5:/kUi:%hJI@J|">id</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </statement>
                    <next>
                      <block type="update" id=")kVm,vM]qdBsyITfSZv]" inline="false">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">0_userdata.0.PV_Tage</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="convert_object2json" id="lhe98_uP[tcPS1d`Or42">
                            <field name="PRETTIFY">TRUE</field>
                            <value name="VALUE">
                              <block type="variables_get" id="sA`Fp6(Vo%~EDa:SR/p)">
                                <field name="VAR" id="9B{,Aco/ay6QhjHo88q4">liste</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        

        Wegen dem Selector, muss ehrlich sagen das ich schwierigkeiten hatte bis es endlich das gemacht was es soll, leider gibt es über den Selector nicht viel Erklärungs Seiten.

        Das ist das Json Objekt was erzeugt wird:

        [
          {
            "Tag": "28_12_22",
            "Leistung": 10186
          },
          {
            "Tag": "27_12_22",
            "Leistung": 15726
          },
          {
            "Tag": "26_12_22",
            "Leistung": 1652
          },
          {
            "Tag": "25_12_22",
            "Leistung": 17534
          },
          {
            "Tag": "24_12_22",
            "Leistung": 1590
          },
          {
            "Tag": "23_12_22",
            "Leistung": 590
          },
          {
            "Tag": "22_12_22",
            "Leistung": 1290
          },
          {
            "Tag": "21_12_22",
            "Leistung": 5274
          }
        ]
        

        Und so sieht dann meine Tabelle in VIS aus:

        2022-12-28 17_13_29-vis.png

        kannst du mir bezüglich den Selector auf die spünge helfen Paul?

        Vielen Dank

        Antonio

        T Offline
        T Offline
        tedesco1968
        schrieb am zuletzt editiert von
        #4

        Hallo Paul,

        OK die Apostrophe waren der Grund.

        Die Warnung siehe Bild sind trotzdem noch da. Was sagen diese aus?

        2022-12-28 17_43_29-javascript - raspberrypi.png

        Gruß
        Antonio

        paul53P 1 Antwort Letzte Antwort
        0
        • T tedesco1968

          Hallo Paul,

          OK die Apostrophe waren der Grund.

          Die Warnung siehe Bild sind trotzdem noch da. Was sagen diese aus?

          2022-12-28 17_43_29-javascript - raspberrypi.png

          Gruß
          Antonio

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

          @tedesco1968 sagte: Die Warnung siehe Bild sind trotzdem noch da. Was sagen diese aus?

          Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutlich passt der Datenpunkt-Typ von "0_userdata.0.PV_Tage" nicht?

          @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

          bezüglich den Selector auf die spünge helfen

          Einfach so:

          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

          T 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @tedesco1968 sagte: Die Warnung siehe Bild sind trotzdem noch da. Was sagen diese aus?

            Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutlich passt der Datenpunkt-Typ von "0_userdata.0.PV_Tage" nicht?

            @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

            bezüglich den Selector auf die spünge helfen

            Einfach so:

            Blockly_temp.JPG

            T Offline
            T Offline
            tedesco1968
            schrieb am zuletzt editiert von
            #6

            @paul53 said in Blockly Fehlermeldungen bereinigen:

            Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutlich passt der Datenpunkt-Typ von "0_userdata.0.PV_Tage" nicht?

            Hallo Paul,

            Die Datenpunkte sind vom Typ Number,
            diese werden täglich automatisch generiert und mit den Tagesleistungen befüllt, über diese zwei Javascript Funktionen.

            Datenpunkt Erstellung:

            var tag, monat, jahr;
            var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
            var datenpunkt;
            
            tag = formatDate(new Date(), "TT");
            monat = formatDate(new Date(), "MM");
            jahr = formatDate(new Date(), "JJ ");
            
            var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
            
            createState(datenpunkt , '0', JSON.parse('{ "type": "number"}'), async function () {
            });
            

            und Datenpunkt befüllen:

            var tag, monat, jahr;
            var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
            var datenpunkt;
            
            tag = formatDate(new Date(), "TT");
            monat = formatDate(new Date(), "MM");
            jahr = formatDate(new Date(), "JJ ");
            
            var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
            
            
            
            setState(datenpunkt, getState("javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute").val, true);
            

            Bestimmt gibt es da elgantere Lösungen, aber es tut was es soll.

            Gruß
            Antonio

            paul53P 2 Antworten Letzte Antwort
            0
            • T tedesco1968

              @paul53 said in Blockly Fehlermeldungen bereinigen:

              Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutlich passt der Datenpunkt-Typ von "0_userdata.0.PV_Tage" nicht?

              Hallo Paul,

              Die Datenpunkte sind vom Typ Number,
              diese werden täglich automatisch generiert und mit den Tagesleistungen befüllt, über diese zwei Javascript Funktionen.

              Datenpunkt Erstellung:

              var tag, monat, jahr;
              var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
              var datenpunkt;
              
              tag = formatDate(new Date(), "TT");
              monat = formatDate(new Date(), "MM");
              jahr = formatDate(new Date(), "JJ ");
              
              var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
              
              createState(datenpunkt , '0', JSON.parse('{ "type": "number"}'), async function () {
              });
              

              und Datenpunkt befüllen:

              var tag, monat, jahr;
              var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
              var datenpunkt;
              
              tag = formatDate(new Date(), "TT");
              monat = formatDate(new Date(), "MM");
              jahr = formatDate(new Date(), "JJ ");
              
              var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
              
              
              
              setState(datenpunkt, getState("javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute").val, true);
              

              Bestimmt gibt es da elgantere Lösungen, aber es tut was es soll.

              Gruß
              Antonio

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

              @tedesco1968 sagte: Die Datenpunkte sind vom Typ Number,

              Ich meinte den Ziel-Datenpunkt "0_userdata.0.PV_Tage" mit der JSON-Tabelle.

              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

              T 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @tedesco1968 sagte: Die Datenpunkte sind vom Typ Number,

                Ich meinte den Ziel-Datenpunkt "0_userdata.0.PV_Tage" mit der JSON-Tabelle.

                T Offline
                T Offline
                tedesco1968
                schrieb am zuletzt editiert von
                #8

                @paul53 said in Blockly Fehlermeldungen bereinigen:

                Ich meinte den Ziel-Datenpunkt "0_userdata.0.PV_Tage" mit der JSON-Tabelle.

                Hallo Paul,

                du hast natürlich recht, war auch vom Typ Number, muss natürlich ein String sein.
                Unter Protokolle stand es natürlich ganz groß:
                [State value to set for "0_userdata.0.PVtag" has to be type "number" but received type "string"

                Vielen Dank Paul, läuft jetzt fehlerlos, Danke dir

                Gruß
                Antonio

                1 Antwort Letzte Antwort
                0
                • T tedesco1968

                  @paul53 said in Blockly Fehlermeldungen bereinigen:

                  Im Tab "Protokolle" erhält man weitere Informationen zu den Warnungen. Vermutlich passt der Datenpunkt-Typ von "0_userdata.0.PV_Tage" nicht?

                  Hallo Paul,

                  Die Datenpunkte sind vom Typ Number,
                  diese werden täglich automatisch generiert und mit den Tagesleistungen befüllt, über diese zwei Javascript Funktionen.

                  Datenpunkt Erstellung:

                  var tag, monat, jahr;
                  var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
                  var datenpunkt;
                  
                  tag = formatDate(new Date(), "TT");
                  monat = formatDate(new Date(), "MM");
                  jahr = formatDate(new Date(), "JJ ");
                  
                  var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
                  
                  createState(datenpunkt , '0', JSON.parse('{ "type": "number"}'), async function () {
                  });
                  

                  und Datenpunkt befüllen:

                  var tag, monat, jahr;
                  var daten= "0_userdata.0.PV_Leistung_Tage.PV_";
                  var datenpunkt;
                  
                  tag = formatDate(new Date(), "TT");
                  monat = formatDate(new Date(), "MM");
                  jahr = formatDate(new Date(), "JJ ");
                  
                  var datenpunkt= daten + tag + "_" + monat + "_" + jahr;
                  
                  
                  
                  setState(datenpunkt, getState("javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute").val, true);
                  

                  Bestimmt gibt es da elgantere Lösungen, aber es tut was es soll.

                  Gruß
                  Antonio

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

                  @tedesco1968 sagte: Datenpunkt Erstellung:

                  Es fehlt in dem Skript ein Trigger(schedule).
                  Wird jeden Tag ein neuer Datenpunkt erstellt? Wenn ja, wird die JSON-Tabelle immer länger.

                  @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                  Bestimmt gibt es da elgantere Lösungen

                  Gibt es.

                  const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                  const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                  
                  schedule('0 23 * * *', function() {
                      const datenpunkt = daten + formatDate(new Date(), 'TT_MM_JJ');
                      createState(datenpunkt, 0, {type: "number", unit: "Wh"}, function () {
                          setState(datenpunkt, getState(idPvHeute).val, true);
                      });
                  });
                  

                  Übrigens ist der Tagesertrag keine Leistung, sondern ein Energiewert (Wh).

                  EDIT: Wenn richtig sortiert werden soll, muss erst das Jahr und zuletzt der Tag in die ID.

                      const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                      createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')}, function () {
                  

                  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

                  T 2 Antworten Letzte Antwort
                  0
                  • paul53P paul53

                    @tedesco1968 sagte: Datenpunkt Erstellung:

                    Es fehlt in dem Skript ein Trigger(schedule).
                    Wird jeden Tag ein neuer Datenpunkt erstellt? Wenn ja, wird die JSON-Tabelle immer länger.

                    @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                    Bestimmt gibt es da elgantere Lösungen

                    Gibt es.

                    const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                    const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                    
                    schedule('0 23 * * *', function() {
                        const datenpunkt = daten + formatDate(new Date(), 'TT_MM_JJ');
                        createState(datenpunkt, 0, {type: "number", unit: "Wh"}, function () {
                            setState(datenpunkt, getState(idPvHeute).val, true);
                        });
                    });
                    

                    Übrigens ist der Tagesertrag keine Leistung, sondern ein Energiewert (Wh).

                    EDIT: Wenn richtig sortiert werden soll, muss erst das Jahr und zuletzt der Tag in die ID.

                        const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                        createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')}, function () {
                    
                    T Offline
                    T Offline
                    tedesco1968
                    schrieb am zuletzt editiert von
                    #10

                    @paul53 said in Blockly Fehlermeldungen bereinigen:

                    Es fehlt in dem Skript ein Trigger(schedule).
                    Wird jeden Tag ein neuer Datenpunkt erstellt? Wenn ja, wird die JSON-Tabelle immer länger.

                    Hallo Paul,

                    Trigger ist doch vohanden

                    2022-12-28 17_55_07-javascript - raspberrypi.png

                    Übrigens ist der Tagesertrag keine Leistung, sondern ein Energiewert (Wh).

                    Klar das weiß ich doch. Werde aber dein eleganteren Code nutzen :-)

                    Danke dir.

                    Gruß
                    Antonio

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @tedesco1968 sagte: Datenpunkt Erstellung:

                      Es fehlt in dem Skript ein Trigger(schedule).
                      Wird jeden Tag ein neuer Datenpunkt erstellt? Wenn ja, wird die JSON-Tabelle immer länger.

                      @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                      Bestimmt gibt es da elgantere Lösungen

                      Gibt es.

                      const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                      const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                      
                      schedule('0 23 * * *', function() {
                          const datenpunkt = daten + formatDate(new Date(), 'TT_MM_JJ');
                          createState(datenpunkt, 0, {type: "number", unit: "Wh"}, function () {
                              setState(datenpunkt, getState(idPvHeute).val, true);
                          });
                      });
                      

                      Übrigens ist der Tagesertrag keine Leistung, sondern ein Energiewert (Wh).

                      EDIT: Wenn richtig sortiert werden soll, muss erst das Jahr und zuletzt der Tag in die ID.

                          const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                          createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')}, function () {
                      
                      T Offline
                      T Offline
                      tedesco1968
                      schrieb am zuletzt editiert von
                      #11

                      Hallo Paul,

                      ich habe deinen Code übernommen, allerdings das createState und setSteate getrennt und wie vorher in 2 Blockly-Javascript Funktionen gepackt.

                      Wieso? Weil ich den setState alle 10min aktualisieren möchte so habe ich immer die aktuelle Wh des jeweiligen tages. Hätte ich auch komplett in Javascript und einfach ein zusätzliches Schedule hizufügen können.

                      Eine andere Frage, kann man per JavaScript auch aud die Funktionen der Datenpunkte zugreifen und diese verändern (siehe Bild)?

                      objekte.png

                      Gruß
                      Antonio

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • T tedesco1968

                        Hallo Paul,

                        ich habe deinen Code übernommen, allerdings das createState und setSteate getrennt und wie vorher in 2 Blockly-Javascript Funktionen gepackt.

                        Wieso? Weil ich den setState alle 10min aktualisieren möchte so habe ich immer die aktuelle Wh des jeweiligen tages. Hätte ich auch komplett in Javascript und einfach ein zusätzliches Schedule hizufügen können.

                        Eine andere Frage, kann man per JavaScript auch aud die Funktionen der Datenpunkte zugreifen und diese verändern (siehe Bild)?

                        objekte.png

                        Gruß
                        Antonio

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

                        @tedesco1968 sagte: kann man per JavaScript auch aud die Funktionen der Datenpunkte zugreifen und diese verändern (siehe Bild)?

                        Man kann, aber wozu sollte man sie verändern?

                        Mit der ID "PV_TT_MM_JJ" wirst Du wegen der Sortierreihenfolge nicht lange Freude haben.

                        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

                        T 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @tedesco1968 sagte: kann man per JavaScript auch aud die Funktionen der Datenpunkte zugreifen und diese verändern (siehe Bild)?

                          Man kann, aber wozu sollte man sie verändern?

                          Mit der ID "PV_TT_MM_JJ" wirst Du wegen der Sortierreihenfolge nicht lange Freude haben.

                          T Offline
                          T Offline
                          tedesco1968
                          schrieb am zuletzt editiert von
                          #13

                          Hallo Paul,

                          @paul53 said in Blockly Fehlermeldungen bereinigen:

                          Man kann, aber wozu sollte man sie verändern?

                          Ich wollte automatisch ein PV einfügen, villeicht für später...

                          Mit der ID "PV_TT_MM_JJ" wirst Du wegen der Sortierreihenfolge nicht lange Freude haben.

                          OK, gibt es da bestimmte Regeln die man befolgen muß, oder andere Gründe?
                          Ansonsten ändere ich das, natürlich.

                          Gruß
                          Antonio

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • T tedesco1968

                            Hallo Paul,

                            @paul53 said in Blockly Fehlermeldungen bereinigen:

                            Man kann, aber wozu sollte man sie verändern?

                            Ich wollte automatisch ein PV einfügen, villeicht für später...

                            Mit der ID "PV_TT_MM_JJ" wirst Du wegen der Sortierreihenfolge nicht lange Freude haben.

                            OK, gibt es da bestimmte Regeln die man befolgen muß, oder andere Gründe?
                            Ansonsten ändere ich das, natürlich.

                            Gruß
                            Antonio

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

                            @tedesco1968 sagte: gibt es da bestimmte Regeln die man befolgen muß

                            Der Selektor sortiert nach ID-String. Damit die Reihenfolge stimmt, muss der höherwertige Teil (Jahr) vor dem niederwertigen stehen: "PV_JJ_MM_TT".

                            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

                            T 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @tedesco1968 sagte: gibt es da bestimmte Regeln die man befolgen muß

                              Der Selektor sortiert nach ID-String. Damit die Reihenfolge stimmt, muss der höherwertige Teil (Jahr) vor dem niederwertigen stehen: "PV_JJ_MM_TT".

                              T Offline
                              T Offline
                              tedesco1968
                              schrieb am zuletzt editiert von
                              #15

                              @paul53 said in Blockly Fehlermeldungen bereinigen:

                              @tedesco1968 sagte: gibt es da bestimmte Regeln die man befolgen muß

                              Der Selektor sortiert nach ID-String. Damit die Reihenfolge stimmt, muss der höherwertige Teil (Jahr) vor dem niederwertigen stehen: "PV_JJ_MM_TT".

                              OK, dann baue ich das um, wie du vorgeschlagen hast

                              Gruß
                              Antonio

                              T 1 Antwort Letzte Antwort
                              0
                              • T tedesco1968

                                @paul53 said in Blockly Fehlermeldungen bereinigen:

                                @tedesco1968 sagte: gibt es da bestimmte Regeln die man befolgen muß

                                Der Selektor sortiert nach ID-String. Damit die Reihenfolge stimmt, muss der höherwertige Teil (Jahr) vor dem niederwertigen stehen: "PV_JJ_MM_TT".

                                OK, dann baue ich das um, wie du vorgeschlagen hast

                                Gruß
                                Antonio

                                T Offline
                                T Offline
                                tedesco1968
                                schrieb am zuletzt editiert von
                                #16

                                Hallo Paul,

                                erledigt sieht so aus in VIS:

                                2022-12-30 11_45_12-vis.png

                                bekomme es leider nicht schöner Visualisiert.

                                So sieht das Json Objekt aus:

                                2022-12-30 11_47_23-objects - raspberrypi.png

                                Gruß
                                Antonio

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • T tedesco1968

                                  Hallo Paul,

                                  erledigt sieht so aus in VIS:

                                  2022-12-30 11_45_12-vis.png

                                  bekomme es leider nicht schöner Visualisiert.

                                  So sieht das Json Objekt aus:

                                  2022-12-30 11_47_23-objects - raspberrypi.png

                                  Gruß
                                  Antonio

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

                                  @tedesco1968 sagte: bekomme es leider nicht schöner Visualisiert.

                                  Weshalb vergibst Du den DP keinen "schönen" Namen "TT.MM.JJ" wie hier unten gezeigt?
                                  Damit vereinfacht sich die Funktion "PV_Daten(id)":

                                  return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                  

                                  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

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @tedesco1968 sagte: bekomme es leider nicht schöner Visualisiert.

                                    Weshalb vergibst Du den DP keinen "schönen" Namen "TT.MM.JJ" wie hier unten gezeigt?
                                    Damit vereinfacht sich die Funktion "PV_Daten(id)":

                                    return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                    
                                    T Offline
                                    T Offline
                                    tedesco1968
                                    schrieb am zuletzt editiert von
                                    #18

                                    @paul53 said in Blockly Fehlermeldungen bereinigen:

                                    @tedesco1968 sagte: bekomme es leider nicht schöner Visualisiert.

                                    Weshalb vergibst Du den DP keinen "schönen" Namen "TT.MM.JJ" wie hier unten gezeigt?
                                    Damit vereinfacht sich die Funktion "PV_Daten(id)":

                                    return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                    

                                    Hallo Paul,

                                    meinst du das mit dem formatDate?

                                    //Datenpunkt-Erstellung
                                    
                                    const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                                    const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                                    
                                        const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                                        
                                        //createState(datenpunkt, 0, {type: "number", unit: "Wh"});
                                        createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')});
                                    

                                    habe ich gerade probiert, erzeugt dieses:

                                    2022-12-30 12_35_07-objects - raspberrypi.png

                                    T paul53P 2 Antworten Letzte Antwort
                                    0
                                    • T tedesco1968

                                      @paul53 said in Blockly Fehlermeldungen bereinigen:

                                      @tedesco1968 sagte: bekomme es leider nicht schöner Visualisiert.

                                      Weshalb vergibst Du den DP keinen "schönen" Namen "TT.MM.JJ" wie hier unten gezeigt?
                                      Damit vereinfacht sich die Funktion "PV_Daten(id)":

                                      return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                      

                                      Hallo Paul,

                                      meinst du das mit dem formatDate?

                                      //Datenpunkt-Erstellung
                                      
                                      const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                                      const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                                      
                                          const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                                          
                                          //createState(datenpunkt, 0, {type: "number", unit: "Wh"});
                                          createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')});
                                      

                                      habe ich gerade probiert, erzeugt dieses:

                                      2022-12-30 12_35_07-objects - raspberrypi.png

                                      T Offline
                                      T Offline
                                      tedesco1968
                                      schrieb am zuletzt editiert von
                                      #19

                                      Der erzeugte Datenpunkt sieht so aus:

                                      2022-12-30 12_44_51-objects - raspberrypi.png

                                      1 Antwort Letzte Antwort
                                      0
                                      • T tedesco1968

                                        @paul53 said in Blockly Fehlermeldungen bereinigen:

                                        @tedesco1968 sagte: bekomme es leider nicht schöner Visualisiert.

                                        Weshalb vergibst Du den DP keinen "schönen" Namen "TT.MM.JJ" wie hier unten gezeigt?
                                        Damit vereinfacht sich die Funktion "PV_Daten(id)":

                                        return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                        

                                        Hallo Paul,

                                        meinst du das mit dem formatDate?

                                        //Datenpunkt-Erstellung
                                        
                                        const idPvHeute = 'javascript.0.Ph-Leistungsberechnung.Ph-Leistung_Gesamt_Heute';
                                        const daten = "0_userdata.0.PV_Leistung_Tage.PV_";
                                        
                                            const datenpunkt = daten + formatDate(new Date(), 'JJ_MM_TT');
                                            
                                            //createState(datenpunkt, 0, {type: "number", unit: "Wh"});
                                            createState(datenpunkt, 0, {type: "number", unit: "Wh", name: formatDate(new Date(), 'TT.MM.JJ')});
                                        

                                        habe ich gerade probiert, erzeugt dieses:

                                        2022-12-30 12_35_07-objects - raspberrypi.png

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

                                        @tedesco1968 sagte: meinst du das mit dem formatDate?

                                        Ja.
                                        Die geänderte JS-Funktion mit Ergebnis PV_Daten(id)

                                        return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                        

                                        sollte dann folgenden Eintrag im JSON erzeugen:

                                        [
                                          {
                                            "Tag": "30.12.22",
                                            "Wh": 6579
                                          }
                                        ]
                                        

                                        @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                                        Der erzeugte Datenpunkt sieht so aus:

                                        Leider ist der Name nicht vollständig zu erkennen.

                                        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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @tedesco1968 sagte: meinst du das mit dem formatDate?

                                          Ja.
                                          Die geänderte JS-Funktion mit Ergebnis PV_Daten(id)

                                          return {Tag: getObject(id).common.name, Wh: getState(id).val};
                                          

                                          sollte dann folgenden Eintrag im JSON erzeugen:

                                          [
                                            {
                                              "Tag": "30.12.22",
                                              "Wh": 6579
                                            }
                                          ]
                                          

                                          @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                                          Der erzeugte Datenpunkt sieht so aus:

                                          Leider ist der Name nicht vollständig zu erkennen.

                                          T Offline
                                          T Offline
                                          tedesco1968
                                          schrieb am zuletzt editiert von
                                          #21

                                          @paul53 said in Blockly Fehlermeldungen bereinigen:

                                          Leider ist der Name nicht vollständig zu erkennen

                                          30.12.22 der wird schon richtig erzeugt, leider lassen sich die Spalten in Iobroker nicht mehr ziehen wie früher.

                                          die funktion habe ich geändert:

                                          return {Tag: getObject(id).common.name.substring(33, 41), Wh: getState(id).val};
                                          

                                          allerdings übernimmt es leider den namen nicht (in PV_Tag):

                                          C:\Users\tedesco\Documents\iobroker\blockly\2022-12-30 13_17_24-javascript - raspberrypi.png

                                          T paul53P 2 Antworten Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          271

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          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