Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Fehlermeldungen bereinigen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Fehlermeldungen bereinigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @tedesco1968 last edited by

      @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 1 Reply Last reply Reply Quote 0
      • T
        tedesco1968 @paul53 last edited by

        @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 Reply Last reply Reply Quote 0
        • T
          tedesco1968 @tedesco1968 last edited by

          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

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @tedesco1968 last edited by 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 1 Reply Last reply Reply Quote 0
            • T
              tedesco1968 @paul53 last edited by

              @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 paul53 2 Replies Last reply Reply Quote 0
              • T
                tedesco1968 @tedesco1968 last edited by

                Der erzeugte Datenpunkt sieht so aus:

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

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @tedesco1968 last edited by 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 1 Reply Last reply Reply Quote 0
                  • T
                    tedesco1968 @paul53 last edited by

                    @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 paul53 2 Replies Last reply Reply Quote 0
                    • T
                      tedesco1968 @tedesco1968 last edited by

                      2022-12-30 13_17_24-javascript - raspberrypi.png

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @tedesco1968 last edited by paul53

                        @tedesco1968 sagte: die funktion habe ich geändert:

                        Ohne .substring(33, 41) !!

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

                        @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                        leider lassen sich die Spalten in Iobroker nicht mehr ziehen wie früher.

                        Die gepunktete Linie oben links neben "Name" nach links ziehen.

                        EDIT: Eine Liste mit Objekten kann man nicht numerisch sortieren.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          tedesco1968 @paul53 last edited by

                          @paul53 said in Blockly Fehlermeldungen bereinigen:

                          Die gepunktete Linie oben links neben "Name" nach links ziehen.

                          ich sehe die gepunktete Linie, lässt sich aber nicht ziehen, mit zwei verschiedene Browser probiert!

                          EDIT: Eine Liste mit Objekten kann man nicht numerisch sortieren.

                          OK, habe ich wieder entfernt!
                          Substring entfernt, jetzt macht es was es soll :).

                          2022-12-30 14_18_22-objects - raspberrypi.png

                          Super, bist halt ein Profi.

                          Gruß
                          Antonio

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            tedesco1968 @tedesco1968 last edited by

                            Hallo Paul,

                            könntest du mir erklären wie ich die generierten Werte der Datenpunkte automatisch addieren lassen kann? So das die summe in ein MonatsDatenpunkt geschrieben wird.

                            Gruß
                            Antonio

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @tedesco1968 last edited by paul53

                              @tedesco1968 sagte: automatisch addieren lassen kann? So das die summe in ein MonatsDatenpunkt geschrieben wird.

                              Jeden Tag den Tageswert aufsummieren und am Monatsende die Summe in einen Monatsdatenpunkt schreiben und die Summe wieder bei 0 beginnen.

                              Bild_2023-01-01_175416082.png

                              T 2 Replies Last reply Reply Quote 0
                              • T
                                tedesco1968 @paul53 last edited by

                                @paul53 said in Blockly Fehlermeldungen bereinigen:

                                @tedesco1968 sagte: automatisch addieren lassen kann? So das die summe in ein MonatsDatenpunkt geschrieben wird.

                                Jeden Tag den Tageswert aufsummieren und am Monatsende die Summe in einen Monatsdatenpunkt schreiben und die Summe wieder bei 0 beginnen.

                                Bild_2023-01-01_175416082.png

                                Hallo Paul,

                                vielen Dank, hab es gleich umgesetzt.

                                Gruß
                                Antonio

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @tedesco1968 last edited by

                                  @tedesco1968 sagte: hab es gleich umgesetzt.

                                  Beachte, dass das Erstellen der Datenpunkte "0_userdata.0.PV_Ertrag_Monate.PV_JJ_MM" nicht enthalten ist!

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    tedesco1968 @paul53 last edited by

                                    @paul53 said in Blockly Fehlermeldungen bereinigen:

                                    0_userdata.0.PV_Ertrag_Monate.PV_JJ_MM

                                    Hallo Paul,

                                    ist ja ersichtlich, hab es manuell generiert.

                                    Danke dir

                                    Gruß
                                    Antonio

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @tedesco1968 last edited by

                                      @tedesco1968 sagte: hab es manuell generiert.

                                      Die Monatssumme nicht besser in kWh?

                                      Bild_2023-01-01_191022450.png

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        tedesco1968 @paul53 last edited by

                                        @paul53 said in Blockly Fehlermeldungen bereinigen:

                                        @tedesco1968 sagte: hab es manuell generiert.

                                        Die Monatssumme nicht besser in kWh?

                                        Bild_2023-01-01_191022450.png

                                        Hallo Paul,

                                        doch das mache ich natürlich.

                                        Gruß
                                        Antonio

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tedesco1968 @paul53 last edited by

                                          @paul53 said in Blockly Fehlermeldungen bereinigen:

                                          @tedesco1968 sagte: automatisch addieren lassen kann? So das die summe in ein MonatsDatenpunkt geschrieben wird.

                                          Jeden Tag den Tageswert aufsummieren und am Monatsende die Summe in einen Monatsdatenpunkt schreiben und die Summe wieder bei 0 beginnen.

                                          Bild_2023-01-01_175416082.png

                                          Hallo Paul,

                                          habe schon lange nicht mehr die Datenpunkte seit Erstellung des Blockly geschaut. Gestern Abend habe ich gesehen das es nicht so funktioniert wie gewollt, bzw. keine Daten ausspuckt :-).

                                          Habe mir das Skript genauer angeschaut und gemerkt das es so nicht ganz funktionieren kann, korrigiere mich wenn ich falsch liege.

                                          Es wird zuerst ein bestimmter Wert vom "PV Monatssumme Datenpunkt" in die Variable "summe" geschrieben, um 23:59 wird der Script gestartet und in die Variable "ID" der vorhandene Datenpunkt "Leistung Tage PV" geschrieben und in die Variable "summe", dessen Wert.
                                          Dann wird die Variable "morgen" mit dem aktuellen Zeit-Objekt + 2min, beschrieben, würde bedeuten 00:01 (also der nächste Tag).
                                          Die "falls-mache" Schleife soll auf "morgen" überprüfen, um dann das von mir manuell generierte Datenpunkt "Ertrag Monate PV" mit der Variable "Summe" also den Wert zu beschreiben.
                                          Danach wird die Variable "summe" wieder genullt und am Schluss noch den Datenpunkt "PV Summe aktuell" den gleichen Wert von "summe" also 0 zu geben.

                                          Ich hoffe ich habe das so richtig verstanden.

                                          1. Der Zeitplan Trigger wird also um 23:59 gestartet, wie kann aber die "falls-mache" Schleife was machen wenn die "falls" Bedingung zu dieser Zeit gar nicht erfüllt ist?
                                          2. Dann habe ich gemerkt das der Wert vom Objekt ID der Variable "ID" nicht übergeben wird, somit die Variable "summe" sich nie erhöht.

                                          Gruß
                                          Antonio

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @tedesco1968 last edited by paul53

                                            @tedesco1968 sagte: wie kann aber die "falls-mache" Schleife was machen wenn die "falls" Bedingung zu dieser Zeit gar nicht erfüllt ist?

                                            Die Aktionen im mache-Zweig sollen nur zum Monatsende ausgeführt werden.

                                            @tedesco1968 sagte in Blockly Fehlermeldungen bereinigen:

                                            Dann habe ich gemerkt das der Wert vom Objekt ID der Variable "ID" nicht übergeben wird, somit die Variable "summe" sich nie erhöht.

                                            Der richtige Datenpunkt ist zugewiesen? Die Variable summe erhöht sich jeden Tag um 23:59 Uhr um den Wert des DP "0_userdata.0.PV_Leistung_Tage.PV_JJ_MM_TT". Ist dieser DP vielleicht zum Zeitpunkt 23:59 Uhr noch nicht aktualisiert?

                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            607
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            60
                                            3057
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo