Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Daten aus Url abfragen und in Datenpunkt schreiben

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Daten aus Url abfragen und in Datenpunkt schreiben

Scheduled Pinned Locked Moved Blockly
114 Posts 3 Posters 10.9k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • keksnK keksn

    @paul53 Hallo, ich habe nun den Awattar Adapter als Abfrage für die Strompreise installiert. Die Werte sind die selben die auch mein Stromanbieter hat.

    Du hast da ja da schon ein Script zur Steuerung von Verbrauchern über den günstigsten Preis erstellt.

    Bildschirmfoto 2023-10-28 um 07.59.26.png

    Ich will eigentlich mit den günstigsten Preisen nicht direkt Verbraucher betreiben, sonder Batterien laden. (Auto und Inverter Batterie).

    Wie müsste man das Script umbauen, dass es Wahlweise eine oder mehrere Stunden die unter dem Schwellwert sind, aber nicht zwingend aufeinanderfolgend sind, auswählt und dann einen Datenpunkt für diese Zeiten aktualisiert? Im optimal Fall auch noch mit einem zu definierenden Zeitraum. zB. 0:00-7:00 Uhr.?

    So wäre es möglich eine gewissen SOC der Batterie über die günstigsten Stunden zu laden. Wenn ich ca. 30% aufladen will (100KWh Autobatterie) mit den günstigsten Stunden von zB. 0:00-7:00 Uhr, dann würde ich die günstigsten 3 Stunden in diesem Zeitraum benötigen ( bei 11kW Ladeleistung und 100kWh Batterie).

    Wäre top wenn Du mir da helfen könntest, auch wenn Homoran will das ich es selber lerne denke ich, dass ich da kein Ende finde....beziehungsweise morgens eine ungeladene Batterie haben werde.  :wink:

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #46

    @keksn
    Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einer nachtListe die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
    In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.

    Blockly_temp.JPG

    Inhalt der Javascript-Funktion sortObjectNum(arr,attr):

    function sortAttr(a, b) {
        return parseFloat(a[attr]) - parseFloat(b[attr]);
    }
    arr.sort(sortAttr);
    

    Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.

    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

    keksnK 4 Replies Last reply
    0
    • keksnK keksn

      @paul53 Hallo, ich habe nun den Awattar Adapter als Abfrage für die Strompreise installiert. Die Werte sind die selben die auch mein Stromanbieter hat.

      Du hast da ja da schon ein Script zur Steuerung von Verbrauchern über den günstigsten Preis erstellt.

      Bildschirmfoto 2023-10-28 um 07.59.26.png

      Ich will eigentlich mit den günstigsten Preisen nicht direkt Verbraucher betreiben, sonder Batterien laden. (Auto und Inverter Batterie).

      Wie müsste man das Script umbauen, dass es Wahlweise eine oder mehrere Stunden die unter dem Schwellwert sind, aber nicht zwingend aufeinanderfolgend sind, auswählt und dann einen Datenpunkt für diese Zeiten aktualisiert? Im optimal Fall auch noch mit einem zu definierenden Zeitraum. zB. 0:00-7:00 Uhr.?

      So wäre es möglich eine gewissen SOC der Batterie über die günstigsten Stunden zu laden. Wenn ich ca. 30% aufladen will (100KWh Autobatterie) mit den günstigsten Stunden von zB. 0:00-7:00 Uhr, dann würde ich die günstigsten 3 Stunden in diesem Zeitraum benötigen ( bei 11kW Ladeleistung und 100kWh Batterie).

      Wäre top wenn Du mir da helfen könntest, auch wenn Homoran will das ich es selber lerne denke ich, dass ich da kein Ende finde....beziehungsweise morgens eine ungeladene Batterie haben werde.  :wink:

      HomoranH Do not disturb
      HomoranH Do not disturb
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #47

      @keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:

      auch wenn Homoran will das ich es selber lerne denke ich, dass ich da kein Ende finde..

      versuch es doch!
      Rom ist auch nicht an einem Tag erbaut worden

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • paul53P paul53

        @keksn
        Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einer nachtListe die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
        In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.

        Blockly_temp.JPG

        Inhalt der Javascript-Funktion sortObjectNum(arr,attr):

        function sortAttr(a, b) {
            return parseFloat(a[attr]) - parseFloat(b[attr]);
        }
        arr.sort(sortAttr);
        

        Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.

        keksnK Offline
        keksnK Offline
        keksn
        wrote on last edited by
        #48

        @paul53 Genial, vielen Dank!! Ich baue jetzt mal nach.

        1 Reply Last reply
        0
        • paul53P paul53

          @keksn
          Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einer nachtListe die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
          In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.

          Blockly_temp.JPG

          Inhalt der Javascript-Funktion sortObjectNum(arr,attr):

          function sortAttr(a, b) {
              return parseFloat(a[attr]) - parseFloat(b[attr]);
          }
          arr.sort(sortAttr);
          

          Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.

          keksnK Offline
          keksnK Offline
          keksn
          wrote on last edited by
          #49

          @paul53 Wo finde ich, oder ie mache ich diesen Baustein? (Datum/Zeit)

          Bildschirmfoto 2023-10-28 um 19.50.22.png

          1 Reply Last reply
          0
          • paul53P paul53

            @keksn
            Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einer nachtListe die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
            In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.

            Blockly_temp.JPG

            Inhalt der Javascript-Funktion sortObjectNum(arr,attr):

            function sortAttr(a, b) {
                return parseFloat(a[attr]) - parseFloat(b[attr]);
            }
            arr.sort(sortAttr);
            

            Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.

            keksnK Offline
            keksnK Offline
            keksn
            wrote on last edited by
            #50

            @paul53 habs...danke in Konvertierung

            1 Reply Last reply
            0
            • paul53P paul53

              @keksn
              Ich habe mal ein Blockly entworfen, das um 19:00 Uhr und bei Skriptstart die API-Werte einliest, in einer nachtListe die Objekte von heute 20:00 Uhr bis morgen 5:00 Uhr (10 Objekte) speichert und zum Schluss nach Preis sortiert.
              In einem Stunden-Trigger wird dann die volle Stunde zu den sortierten Objekten ermittelt und - falls sie zu den niedrigsten gehört - die Ladung aktiviert.

              Blockly_temp.JPG

              Inhalt der Javascript-Funktion sortObjectNum(arr,attr):

              function sortAttr(a, b) {
                  return parseFloat(a[attr]) - parseFloat(b[attr]);
              }
              arr.sort(sortAttr);
              

              Der Datenpunkt "Dauer" muss ganzzahlige Stunden 1 ... 9 enthalten.

              keksnK Offline
              keksnK Offline
              keksn
              wrote on last edited by
              #51

              @paul53 Den letztenBlock finde ich nicht beziehungsweise kann ich nicht erstellen.

              Bildschirmfoto 2023-10-28 um 20.26.45.png

              Bildschirmfoto 2023-10-28 um 20.27.42.png

              paul53P 1 Reply Last reply
              0
              • keksnK keksn

                @paul53 Den letztenBlock finde ich nicht beziehungsweise kann ich nicht erstellen.

                Bildschirmfoto 2023-10-28 um 20.26.45.png

                Bildschirmfoto 2023-10-28 um 20.27.42.png

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by paul53
                #52

                @keksn
                Das ist die Javascript-Funktion mit zwei Parametern:

                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

                keksnK 1 Reply Last reply
                0
                • paul53P paul53

                  @keksn
                  Das ist die Javascript-Funktion mit zwei Parametern:

                  Blockly_temp.JPG

                  keksnK Offline
                  keksnK Offline
                  keksn
                  wrote on last edited by
                  #53

                  @paul53 ah ich habe beide in eine Variable geschrieben...darum danke!

                  Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?

                  paul53P 1 Reply Last reply
                  0
                  • keksnK keksn

                    @paul53 ah ich habe beide in eine Variable geschrieben...darum danke!

                    Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #54

                    @keksn sagte: Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?

                    Nein, so hat man alles in einer Liste und muss nicht verschiedene Datenpunkte auslesen.

                    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

                    keksnK 1 Reply Last reply
                    0
                    • paul53P paul53

                      @keksn sagte: Wäre es für Dich einfacher gewesen die Datenpunkte de Awattar Adapters zu verwenden?

                      Nein, so hat man alles in einer Liste und muss nicht verschiedene Datenpunkte auslesen.

                      keksnK Offline
                      keksnK Offline
                      keksn
                      wrote on last edited by
                      #55

                      @paul53 nein mir ist es gleich. Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?

                      paul53P 1 Reply Last reply
                      0
                      • keksnK keksn

                        @paul53 nein mir ist es gleich. Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #56

                        @keksn sagte: Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?

                        Gib per Debug-Block die sortierte Liste aus. Wenn z.B. 3 Stunden geladen werden soll, sind es die ersten 3 Einträge in der Liste.

                        Blockly_temp.JPG

                        [{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},
                        

                        ... also morgen von 3 bis 6 Uhr.

                        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

                        keksnK 2 Replies Last reply
                        0
                        • paul53P paul53

                          @keksn sagte: Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?

                          Gib per Debug-Block die sortierte Liste aus. Wenn z.B. 3 Stunden geladen werden soll, sind es die ersten 3 Einträge in der Liste.

                          Blockly_temp.JPG

                          [{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},
                          

                          ... also morgen von 3 bis 6 Uhr.

                          keksnK Offline
                          keksnK Offline
                          keksn
                          wrote on last edited by
                          #57

                          @paul53 Danke!!

                          1 Reply Last reply
                          0
                          • paul53P paul53

                            @keksn sagte: Gibt es auch eine Möglichkeit zu sehen wann geladen wird ?

                            Gib per Debug-Block die sortierte Liste aus. Wenn z.B. 3 Stunden geladen werden soll, sind es die ersten 3 Einträge in der Liste.

                            Blockly_temp.JPG

                            [{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},
                            

                            ... also morgen von 3 bis 6 Uhr.

                            keksnK Offline
                            keksnK Offline
                            keksn
                            wrote on last edited by
                            #58

                            @paul53

                            ich dürfte da einenFehler eingebaut haben. Bei mir wir das <angezeigt. Ich habe 3 beim Datenpunkt eingegeben.

                            javascript.0 (451) script.js.Verschiedenes.Tesal_Nachtladen_Netz: [{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},{'date':'2023-10-29T02:00:00+01:00','value':0.751},{'date':'2023-10-29T01:00:00+02:00','value':2.256},{'date':'2023-10-29T00:00:00+02:00','value':5.887},{'date':'2023-10-28T21:00:00+02:00','value':8.854},{'date':'2023-10-28T20:00:00+02:00','value':10.441},{'date':'2023-10-28T23:00:00+02:00','value':10.441},{'date':'2023-10-28T22:00:00+02:00','value':10.451}]
                            

                            Bildschirmfoto 2023-10-28 um 22.50.14.png

                            paul53P 1 Reply Last reply
                            0
                            • keksnK keksn

                              @paul53

                              ich dürfte da einenFehler eingebaut haben. Bei mir wir das <angezeigt. Ich habe 3 beim Datenpunkt eingegeben.

                              javascript.0 (451) script.js.Verschiedenes.Tesal_Nachtladen_Netz: [{'date':'2023-10-29T03:00:00+01:00','value':0.64},{'date':'2023-10-29T04:00:00+01:00','value':0.683},{'date':'2023-10-29T05:00:00+01:00','value':0.688},{'date':'2023-10-29T02:00:00+01:00','value':0.751},{'date':'2023-10-29T01:00:00+02:00','value':2.256},{'date':'2023-10-29T00:00:00+02:00','value':5.887},{'date':'2023-10-28T21:00:00+02:00','value':8.854},{'date':'2023-10-28T20:00:00+02:00','value':10.441},{'date':'2023-10-28T23:00:00+02:00','value':10.441},{'date':'2023-10-28T22:00:00+02:00','value':10.451}]
                              

                              Bildschirmfoto 2023-10-28 um 22.50.14.png

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by paul53
                              #59

                              @keksn sagte: Bei mir wir das <angezeigt

                              Das passt doch.

                              @keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:

                              ich dürfte da einenFehler eingebaut haben.

                              "die Schleife abbrechen" muss in die Prüfung der Stunde.

                              Blockly_temp.JPG

                              Lies die Liste vor 20:00 Uhr ein!

                              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

                              keksnK 1 Reply Last reply
                              0
                              • paul53P paul53

                                @keksn sagte: Bei mir wir das <angezeigt

                                Das passt doch.

                                @keksn sagte in Daten aus Url abfragen und in Datenpunkt schreiben:

                                ich dürfte da einenFehler eingebaut haben.

                                "die Schleife abbrechen" muss in die Prüfung der Stunde.

                                Blockly_temp.JPG

                                Lies die Liste vor 20:00 Uhr ein!

                                keksnK Offline
                                keksnK Offline
                                keksn
                                wrote on last edited by
                                #60

                                @paul53 ich habe den Zeitplan nur zum testen umgestellt. steht jetzt wieder auf 19:00h.
                                Warum werden bei nir aber dann mehr als 3 Werte angezeigt?

                                paul53P 1 Reply Last reply
                                0
                                • keksnK keksn

                                  @paul53 ich habe den Zeitplan nur zum testen umgestellt. steht jetzt wieder auf 19:00h.
                                  Warum werden bei nir aber dann mehr als 3 Werte angezeigt?

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #61

                                  @keksn sagte: Warum werden bei nir aber dann mehr als 3 Werte angezeigt?

                                  Die Liste enthält immer 10 Werte. Ich hatte oben nur die ersten 3 gezeigt.

                                  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

                                  keksnK 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @keksn sagte: Warum werden bei nir aber dann mehr als 3 Werte angezeigt?

                                    Die Liste enthält immer 10 Werte. Ich hatte oben nur die ersten 3 gezeigt.

                                    keksnK Offline
                                    keksnK Offline
                                    keksn
                                    wrote on last edited by
                                    #62

                                    @paul53 Kann man sich aber auch nur die Ladezeiten anzeigen lassen?

                                    paul53P 1 Reply Last reply
                                    0
                                    • keksnK keksn

                                      @paul53 Kann man sich aber auch nur die Ladezeiten anzeigen lassen?

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #63

                                      @keksn sagte: nur die Ladezeiten anzeigen lassen?

                                      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

                                      keksnK 2 Replies Last reply
                                      0
                                      • paul53P paul53

                                        @keksn sagte: nur die Ladezeiten anzeigen lassen?

                                        Blockly_temp.JPG

                                        keksnK Offline
                                        keksnK Offline
                                        keksn
                                        wrote on last edited by
                                        #64

                                        @paul53 genial danke!!! :+1: Kann man sich die werte auch mit einem Sendto Block übermitteln lassen?

                                        Die Sache mit der Hausbatterie und der uneingeschränkten Ladezeit, also nicht nur auf die Nacht der vollen Liste, soll ich weiter über das Awattar Script machen, oder geht das nun auch durch eine Mod mit diesem in der Liste?

                                        1 Reply Last reply
                                        0
                                        • paul53P paul53

                                          @keksn sagte: nur die Ladezeiten anzeigen lassen?

                                          Blockly_temp.JPG

                                          keksnK Offline
                                          keksnK Offline
                                          keksn
                                          wrote on last edited by
                                          #65

                                          @paul53

                                          Ich versuche mal das mit den Listen und der Auswahl zu verstehen. Du hast geschrieben das da api unter Data 192 Objekte liefert.

                                          Ich sehe hier 95 Einträge mit 2 Daten wo sind die fehlenden 2?

                                          Bildschirmfoto 2023-10-29 um 08.00.26.png

                                          Wenn ich nun im Script diesen Teil der Auswahl auf 2 -190 beziehungsweise (192?) ändere nimmt das Script dann 24 Stunden?

                                          Bildschirmfoto 2023-10-29 um 08.00.45.png

                                          und diesen Datenpunkt den Wert "24" gebe ..

                                          Bildschirmfoto 2023-10-29 um 08.08.16.png

                                          paul53P 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          418

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe