Ankündigung

Einklappen
Keine Ankündigung bisher.

Webservices mit dem Gira X1 oder L1 abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von informant Beitrag anzeigen
    Gibt es denn die Möglichkeit, im Body Eingangsvariablen zu nutzen oder zumindest den ganzen Body als Eingangsvariable zu übergeben?

    image.png

    Würde gerne den Value unterschiedlich setzen (Mal 0, Mal 1, Mal 2, ...). Aktuell sehe ich nur die Möglichkeit mehrere Bausteine zu erstellen und mittels Ausgangswahlschalter zu arbeiten.

    Auf einer der ersten Seite des Threads wurden Variabeln in den Parametern definiert und die auch im Body übergeben. Ist das die einzige Möglichkeit?
    Ich würde ungern etwas als Parameter übergeben, was gar nicht übergeben werden soll. Ich würde gerne nur den Body nutzen, das ist sauberer.

    image.png​​


    EDIT:
    Ich habe einfach zu kompliziert gedacht bzw. der Screenshot von Seite 1 ist Quatsch. Im Body kann man auch ganz normal Parameter nutzen, man muss sie nur ebenfalls in geschweifte Klammern setzen. Dann müssen sie auch nicht als Args in der URL übergeben werden...
    image.png



    Hallo ich versuche mich gerade an dem Baustein, bekomme es aber leider nicht hin.
    Ich möchte in die JSON Abfrage das aktuelle Datum eintragen.
    https://api.brightsky.dev/weather?lat=52&lon=7.6&date=2023-03-01
    habe es so probiert
    https://api.brightsky.dev/weather?lat=52&lon=7.6
    und gehofft, dass das aktuelle Wetter über Body angehangen wird
    Wo liegt da der Fehler?

    Screenshot 2023-03-01 182953.png

    Kommentar


      Zitat von Cube97 Beitrag anzeigen




      Hallo ich versuche mich gerade an dem Baustein, bekomme es aber leider nicht hin.
      Ich möchte in die JSON Abfrage das aktuelle Datum eintragen.
      https://api.brightsky.dev/weather?lat=52&lon=7.6&date=2023-03-01
      habe es so probiert
      https://api.brightsky.dev/weather?lat=52&lon=7.6
      und gehofft, dass das aktuelle Wetter über Body angehangen wird
      Wo liegt da der Fehler?

      Screenshot 2023-03-01 182953.png
      Eigentlich stimmt es so, wie du es im Feld Body eingegeben hast. Allerdings hast du oben in der URL ja ein fixes Datum gesetzt. Was erwartet die API denn?
      Im Body oder in den Argumenten?

      Wenn im Body, dann lösch es oben raus. Wenn in den Argumenten, ersetze oben das fixe Datum durch {Datum}

      Kommentar


        Hallo & guten Abend,

        nachdem jetzt wohl so gut wie alle auf TLS >= 1.2 umgestellt haben funktioniert der Baustein nur noch bei ungeschützten Abfragen.

        Zitat von dalbuschat Beitrag anzeigen
        Hey SirUli

        es geht um https://ipty.de/feiertag/api.php?do=isFeiertag&loc=NW, oder?
        Ich habe mir das jetzt mal genauer angeschaut, weil ich etwas erstaunt war, dass es nicht funktionierte, da meine HTTPS-Tests funktionierten.

        Ich befürchte, es liegt daran, dass der Server ipty.de TLS 1.2 oder 1.3 voraussetzt (was prinzipiell gut und sicher ist) und ich befürchte, dass der X1, oder das Mono darauf, nur TLS 1.1 können. :/

        Gruß!

        Daniel


        Gibt es hier Neuigkeiten? Ist hier von Seiten Gira eine Aktualisierung geplant?

        Ohne PV-Prognose, aktuellem Strompreis ist mein Energiemanagement irgendwie nicht so prickelnd....

        Kommentar


          Zitat von informant Beitrag anzeigen

          Eigentlich stimmt es so, wie du es im Feld Body eingegeben hast. Allerdings hast du oben in der URL ja ein fixes Datum gesetzt. Was erwartet die API denn?
          Im Body oder in den Argumenten?

          Wenn im Body, dann lösch es oben raus. Wenn in den Argumenten, ersetze oben das fixe Datum durch {Datum}

          Bin ja noch ganz am Anfang und arbeite mich da gerade ein. Es ist eine Wetterabfrage vom DWD. Um überhaupt etwas in den Request zu bekommen muss man das gewünschte Datum mit angegeben. So z.B. https://api.brightsky.dev/weather?la...&date=2023-3-1
          Wenn ich das aber täglich neu anholen möchte muß ich ja das aktuelle Datum mitgeben, das wollte ich also über eine "Variable" reinschreiben.

          Wenn ich es so eingebe, stürzt der X1 ab
          https://api.brightsky.dev/weather?lat=52&lon=7.6&{Datum}

          Wenn ich es so eingebe, ruft er nichts ab
          Bildschirm­foto 2023-03-01 um 20.12.27.png

          Kommentar


            Es gibt von mri doch den Baustein, der problemlos mit https problemlos klar kommt. Ihr könnt auf den aktualisieren.
            Logikbausteine Netzwerk – AppStore für den Gira X1 (smarthome-appstore.de)

            Bei mir ist BODY übrigens auch (optional) ein Eingang dem Werte übergeben werden können.​

            Kommentar


              Zitat von Cube97 Beitrag anzeigen


              Bin ja noch ganz am Anfang und arbeite mich da gerade ein. Es ist eine Wetterabfrage vom DWD. Um überhaupt etwas in den Request zu bekommen muss man das gewünschte Datum mit angegeben. So z.B. https://api.brightsky.dev/weather?la...&date=2023-3-1
              Wenn ich das aber täglich neu anholen möchte muß ich ja das aktuelle Datum mitgeben, das wollte ich also über eine "Variable" reinschreiben.

              Wenn ich es so eingebe, stürzt der X1 ab
              https://api.brightsky.dev/weather?lat=52&lon=7.6&{Datum}

              Wenn ich es so eingebe, ruft er nichts ab
              Bildschirm­foto 2023-03-01 um 20.12.27.png
              Also dein letzter Call ist der richtige. Aus dem Body kannst du alles löschen und in der Url muss Date={Datum} stehen.
              mach Mal eine Simulation und teste, ob das Datum als richtiger String durchkommt. Der Baustein wird dann auf jeden Fall richtig verwendet. Oder du probierst Mal den Vorschlag von Kai Burkard

              Kommentar


                Zitat von HelioRasp Beitrag anzeigen
                Gibt es hier Neuigkeiten? Ist hier von Seiten Gira eine Aktualisierung geplant?
                Ja, Gira arbeitet hier gerade an einem Update, in dem dieses Problem gelöst ist. Ich kann dir aber leider nicht sagen, wann das Update verfügbar sein wird. :-(

                Kommentar


                  Zitat von Kai Burkard Beitrag anzeigen
                  Es gibt von mri doch den Baustein, der problemlos mit https problemlos klar kommt. Ihr könnt auf den aktualisieren.
                  Logikbausteine Netzwerk – AppStore für den Gira X1 (smarthome-appstore.de)

                  Bei mir ist BODY übrigens auch (optional) ein Eingang dem Werte übergeben werden können.​
                  Hallo Kai, Hallo Informant,

                  danke schonmal für Eure Hilfe.
                  Ich hab mal den Abruf generell mit GET getestet wenn ich das aktuelle Datum an die URL ranschreibe, da läuft es wunderbar und ich bekomme die Temperatur rein.
                  Nun habe ich POST mal in den Baustein von Kai eingeben. Wie man sieht kommt das Datum vom Textformatierer auch im RequestBaustein an. Nur das Datum wird oben nicht an die URL angehangen. Irgendwo is da noch was falsch bei meiner Herangehensweise. (oder stimmt mein Format nicht?)

                  Simulationsansicht:
                  Bildschirm­foto 2023-03-02 um 13.20.13.png

                  Zuletzt geändert von Cube97; 02.03.2023, 16:06.

                  Kommentar



                    Moin, ich schaffe es einfach nicht meinen CMI von Technische Alternative auszuwerten. Kann mir vielleicht jemand auf die Sprünge helfen?

                    Müssen alle "1" "2" und "3" ersetzt werden? Wie mache ich das am Besten und wie komme ich dann an die unterschiedlichen Values? Ich stehe auf dem Schlauch...

                    Herzlichen Dank!!!

                    Die originale Antwort sieht wie folgt aus:

                    {
                    "Header":{
                    "Version":6,
                    "Device":"91",
                    "Timestamp":1680374203
                    },
                    "Data":{
                    "Inputs":[
                    {
                    "Number":1,
                    "AD":"A",
                    "Value":{
                    "Value":11.7,
                    "Unit":"1"
                    }
                    },
                    {
                    "Number":2,
                    "AD":"A",
                    "Value":{
                    "Value":32.0,
                    "Unit":"1"
                    }
                    },
                    {
                    "Number":3,
                    "AD":"A",
                    "Value":{
                    "Value":19.1,
                    "Unit":"1"
                    }
                    },
                    {
                    "Number":4,
                    "AD":"A",
                    "Value":{
                    "Value":37.2,
                    "Unit":"1"
                    }
                    }],
                    "Outputs":[
                    {
                    "Number":1,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"43"
                    }
                    },
                    {
                    "Number":2,
                    "AD":"D",
                    "Value":{
                    "Value":0,
                    "Unit":"43"
                    }
                    },
                    {
                    "Number":10,
                    "AD":"A",
                    "Value":{
                    "State":0,
                    "Value":0.0,
                    "Unit":"8"
                    }
                    }]},
                    "Status":"OK",
                    "Status code":0
                    }​
                    You do not have permission to view this gallery.
                    This gallery has 1 photos.

                    Kommentar


                      Hallo Martin,
                      Zitat von 1203v245grad Beitrag anzeigen
                      Müssen alle "1" "2" und "3" ersetzt werden?
                      Nein, nur ggf. solche in den Keys. Seh ich aber keine in Deinem Input. Deshalb denke ich, der Input ist OK.

                      Leider schreibst Du nicht, mit welchem Pfad Du Deine Werte versuchst zu bekommen. Vermutlich liegt da der Fehler. Für den ersten Wert müsste der Pfad etwa so lauten (ungetestet):
                      root/Data/Inputs/item[1].Value
                      In Deinem Screenshot sieht der Pfad anders aus ...

                      Grüße von Horst

                      Kommentar


                        Danke für den Support!

                        Update, ich bin einen Schritt weiter! Jetzt läuft es in der Simulation, aber auf dem X1 gibt es den Fehler "Status code' is not a valid XML
                        Name​". Ist doch als JSON Protokoll angelegt. Kannst du dazu etwas sagen hyman ?

                        P.S.: den Vergleich <43 bei Pumpe und Mischer muss ich machen da bei Outputs die "0" wohl nicht gewertet wird und er den Wert von Unit auswirft!

                        Herzlichen Dank!
                        Angehängte Dateien
                        Zuletzt geändert von 1203v245grad; 02.04.2023, 09:48.

                        Kommentar


                          Ich habe jetzt alle "x" Zahlen gegen "" ersetzt. Simulation kein Fehler, auf X1 weiterhin "Status code' is not a valid XML
                          Name​" und kein Output. Ersetze ich die Zahlen "x" (die Units werden so in der API übergeben) mit "one", "dreiundvierzig", "einundneunzig", kann das Ergebnis als Zahl nicht ausgegeben werden. In der Simulation steht dann am Laufzeitfehler z.B. 3.9one (Temperatur Kollektor und die umgewandelte Unit "1")

                          Nun habe ich keine Idee mehr und hoffe auf einen Hinweis vom lieben Horst hyman

                          Herzlichen Dank!
                          You do not have permission to view this gallery.
                          This gallery has 2 photos.

                          Kommentar


                            Moin Martin,

                            Zitat von 1203v245grad Beitrag anzeigen
                            auf dem X1 gibt es den Fehler "Status code' is not a valid XML
                            Name​". Ist doch als JSON Protokoll angelegt.
                            Der Parser ist nativ ein XML-Parser. JSON macht er sozusagen nur "nebenher". Probier mal mit der Textersetzung das Leerzeichen zu entfernen, wahrscheinlich geht es dann ...

                            Zitat von 1203v245grad Beitrag anzeigen
                            den Vergleich <43 bei Pumpe und Mischer muss ich machen da bei Outputs die "0" wohl nicht gewertet wird und er den Wert von Unit auswirft!
                            Ich seh grad, dass der von mir angegebene Pfad immer noch zwei Einträge adressiert, z. B.:
                            Code:
                            {
                                "Value":0,
                                "Unit":"43"
                            }​
                            Die werden mit Deinen Einstellungen des Parsers wohl einfach miteinander verkettet. So wird aus dem obigen Beispiel "043" oder als Zahl 43.

                            Auch Zahlen > 0 werden dadurch leicht verändert. So wird aus
                            Code:
                            {
                                "Value":6.9,
                                "Unit":"1"
                            }​
                            die Zahl 6.91 statt 6.9.

                            Wenn Du an den Pfad nochmal ein .Value dranhängst, solltest Du nur den richtigen Value ohne angehängten Unit-Code bekommen:
                            root/Data/Inputs/item[1].Value.Value
                            In der Parserkonfiguration kannst Du einstellen, dass dieser Eintrag direkt als Zahl ausgegeben werden soll ("Erster Wert als Zahl" oder so ähnlich).

                            Grüß von Horst

                            Kommentar


                              hyman , danke für deine Zeit!

                              ES LÄUFT! Manchmal sieht man den Wald.... es gab noch ein "Status code", das hat den XML Fehler ausgelöst. Ersetzt durch "Statusnummer" und deine Ergänzung (allerdings mit / und nicht .)
                              root/Data/Inputs/item[1]/Value​/Value
                              hat nun funktioniert! Tag gerettet...Dank über Dank!
                              Angehängte Dateien
                              Zuletzt geändert von 1203v245grad; 02.04.2023, 09:47.

                              Kommentar


                                Bitte keine Vollzitate. Ein @Forumname genügt, damit es eine Referenz gibt.
                                Gruß Bernhard

                                Kommentar

                                Lädt...
                                X