Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Daten aus Url abfragen und in Datenpunkt schreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED Daten aus Url abfragen und in Datenpunkt schreiben

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

      @paul53 said in Daten aus Url abfragen und in Datenpunkt schreiben:

      Mit diesem Link funktioniert es so:

      @MartinK
      Da würde ich auch gar nicht mit dem parser rangehen.
      Das zurückgeliefert json:
      {"data":{"base":"BTC","currency":"EUR","amount":"31458.0"}}
      ist so minimal, dass die von @paul53 geannte Lösung die mit Sicherheit einfachste ist, zumal

      @el_malto said in Daten aus Url abfragen und in Datenpunkt schreiben:

      die Syntax von regex ist mir auch noch ein Rätsel.

      das anscheinend auch für dich gilt 😉

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

        @paul53 said in Daten aus Url abfragen und in Datenpunkt schreiben:

        @MartinK. said: "https://api.coinbase.com/v2/prices/spot?currency=EUR"

        Mit diesem Link funktioniert es so:

        Blockly_temp.JPG

        Vielen Dank. 🙂 👍 Ich werde das gleich einmal einbauen und testen.... Aber ich ich möchte auf langer Sicht auch die Logik dahinter verstehen und wie das ganze sich zusammensetzt ! 😀 .... damit ich auch was dazu lerne !

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

          @martink said: wie das ganze sich zusammensetzt !

          Bei der Analyse eines JSON hilft der JSONViewer.

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

            @paul53 Woher bekomme ich denn diesen Wert? Da stehe ich noch etwas auf dem Schlauch??

            cfcf6482-699d-49ea-980e-472f01a86874-image.png

            E 1 Reply Last reply Reply Quote 0
            • E
              el_malto @MartinK. last edited by

              @martink einfach in Blockly unter "Variablen" eine Varibale erstellen die "result" heißt.

              MartinK. 1 Reply Last reply Reply Quote 0
              • MartinK.
                MartinK. @el_malto last edited by

                @el_malto ok, und er Punkt "data.amount" - was beschreibt der bzw. welcher Datenpunkt ist das ????

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @MartinK. last edited by

                  @martink said in Daten aus Url abfragen und in Datenpunkt schreiben:

                  data.amount

                  wenn du dir das json ansiehstgibt es eine Hierarchie data in der es dann den Punkt amount gibt, dessen Wert du haben willst

                  MartinK. 1 Reply Last reply Reply Quote 0
                  • MartinK.
                    MartinK. @Homoran last edited by

                    @homoran ...puuh ok.... ! Und dann habe ich noch eine Frage: Im Blockly wird ja "aktualisiere Objekt ID" eingefügt,
                    ist das ein Datenpunkt den manuell erzeugen muss mit dem Attribut "Zahl" ? ..... Wie gesagt ich bin noch nicht so fit und solchen "tricky" Sachen .... Bis jetzt mache ich nur ein bisschen Visualisierung und hier und da ein paar Blockly Automatisierungen 😉

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

                      @martink said: ist das ein Datenpunkt den manuell erzeugen muss mit dem Attribut "Zahl" ?

                      Ja, das ist ein eigener, virtueller Datenpunkt vom Typ "Zahl" (unter "0_userdata.0").

                      MartinK. 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @steff.h. last edited by OliverIO

                        kann leider nicht löschen. erledigt
                        Ich hatte leider auf die Frage des TE geantwortet und erst später gesehen, das die schon alt ist.
                        Das kommt davon, wenn alte Fragen von anderen wieder reaktiviert werden.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @OliverIO last edited by

                          @oliverio said in Daten aus Url abfragen und in Datenpunkt schreiben:

                          oder über den Parser-Adapter.

                          das hatten wir oben schon.
                          Die Antwort ist das ganz einfach json, mit dem Blockly geht das einfacher als mit einem RegEx

                          Ich mach das aber gerne trotzdem 😉

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

                            @paul53 Ok, das habe ich dann schonmal richtig gemacht 😉 Aber leider macht das Script noch nicht das was es soll.
                            Der Datenpunkt wird nicht mit der Zahl aktualisiert...? Wohin wird denn der Datensatz aus der "Response" Datei hin kopiert ? bzw. wo landet diese Response Datei ??? wenn ich den link "https://api.coinbase.com/v2/prices/spot?currency=EUR" ausführe wird ja gleich die response Datei heruntergeladen...

                            Ich habe hier nochmal mein Blockly angefügt :

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable id="PXXZfO}r5^Rzf7Ug]:Fn">result</variable>
                              </variables>
                              <block type="schedule" id="C(HugQRxw?t3#}X=(TRh" x="213" y="63">
                                <field name="SCHEDULE">*/10 * * * * *</field>
                                <statement name="STATEMENT">
                                  <block type="request" id="8mY.$g!?HMPYZei.Y!y{">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                    <field name="WITH_STATEMENT">TRUE</field>
                                    <field name="LOG"></field>
                                    <value name="URL">
                                      <shadow type="text" id="`*eC!5[/@U%o!m4m}S}~">
                                        <field name="TEXT">https://api.coinbase.com/v2/prices/spot?currency=EUR</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="update" id=";A|WauYvlU]WO=Gv#L}9">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">0_userdata.0.Bitcoinkurs.Bitcoinkurs</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="convert_tonumber" id="nf2_Q`~:L~w_nFQ-%X|m">
                                            <value name="VALUE">
                                              <block type="get_attr" id="br]#TiFAXJ@c:Aee~Gj@">
                                                <value name="PATH">
                                                  <shadow type="text" id="~nlDRx~~WNNQ8SQsGNMq">
                                                    <field name="TEXT">data.amount</field>
                                                  </shadow>
                                                </value>
                                                <value name="OBJECT">
                                                  <block type="variables_get" id="+dDT:+1D#jsXAo~{G]Zk">
                                                    <field name="VAR" id="PXXZfO}r5^Rzf7Ug]:Fn">result</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </xml>
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              und hier das Regex für den parser-Adapter t":"([\d.]+)

                              Bitte die Abfragezeit sinnvoll einstellen - standard sind 5 Sekunden!

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

                                @martink said: Ich habe hier nochmal mein Blockly angefügt :

                                Bei mir funktioniert es:

                                Bild_2021-01-14_132830.png

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @paul53 last edited by

                                  @paul53 said:

                                  Bei mir funktioniert es:

                                  glaub ich dir, aber @MartinK
                                  schrieb ja, dass sein Datenpunkt nicht befüllt wurde.

                                  Dazu müsste ich mal sein Blockly (als Bild) sehen, und seinen Datenpunkt in den Objekten

                                  MartinK. 1 Reply Last reply Reply Quote 0
                                  • MartinK.
                                    MartinK. @Homoran last edited by

                                    @homoran ich habe den Datenpunkt nochmal neu angelegt, und jetzt klappt es !!! Vielen Dank! 👍 👍 😁

                                    was mich noch interessieren würde, guckt sich das Blockly nur das Ergebnis der response Datei (aus dem link)
                                    an ohne sie zu speichern? oder wird diese Response Datei irgendwo zu Hauf jetzt gespeichert ??

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

                                      @martink said: wird diese Response Datei irgendwo zu Hauf jetzt gespeichert ??

                                      Nein.

                                      MartinK. 2 Replies Last reply Reply Quote 0
                                      • MartinK.
                                        MartinK. @paul53 last edited by

                                        @paul53 ...aber kann mir noch jemand erklären, warum die Aktualisierung des Wertes nicht mehr funktioniert wenn ich den Datenpunkt in einem weiteren Unterordner anlege (skript wurde natürlich mit der neuen Unterordner aktualisiert)

                                        rot = wird nicht aktualisiert
                                        grün = im Hauptverzeichnis funktioniert es

                                        419e9c5b-2bde-444b-9ef3-bd02c07ac6c4-image.png

                                        Homoran paul53 2 Replies Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @MartinK. last edited by Homoran

                                          @martink da ist massiv was schief gelaufen!
                                          in einem Hauptverzeichnis darf kein eigener Datenpunkt stehen.

                                          Bitte löschen und im Skript nochmal den richtigen state auswählen

                                          ggf. refresh durchführen

                                          EDIT:
                                          oder ist das das "Hauptverzeichnis" von 0_userdata?

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

                                            @martink said: kann mir noch jemand erklären, warum die Aktualisierung des Wertes nicht mehr funktioniert wenn ich den Datenpunkt in einem weiteren Unterordner anlege

                                            Nein:

                                            Bild_2021-01-14_141448.png

                                            Die ID ist im Script richtig geschrieben? "0_userdata.0.Bitcoinkurs.bitcoinkurs"

                                            MartinK. 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            701
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly communication javascript monitoring
                                            14
                                            50
                                            8267
                                            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