Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19002326 - HTTP-Request

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

    LBS 19002326 - HTTP-Request

    Hallo jonofe

    Herzlichen Dank mal wieder für den Baustein. Den kann ich gerade perfekt gebrauche.
    Ich erlaube mir auch mal ein gesammeltes Thema zu diesem Baustein zu eröffnen.

    Ich stehe nach der Abfrage des Bausteines an und weiss nicht wie weiter, auf A3 erhalten ich folgende Rückmeldung:

    {"date":"2022-02-12T08:32:43.610Z","data":{"_id":"61fbf3daf2977d7af 944cb5b","accumulatedErrorCount":0,"activeDevice": 0,"currentPower":0,"errors":[],"signal":"connected","switchState":0}}
    wie kann ich das nun "Decodieren" ?
    Den Parameter "switchState" würde ich gerne aus diesem "Code" auslesen und weiterverarbeiten, das müsste dann einfach 0 oder 1 sein.

    #2
    Mit einem JSON Parser LBS.

    Zum testen, empfiehlt sich sowas: http://json.parser.online.fr/

    Kommentar


      #3
      Zu Tod getestet nun läuft es.

      Seit irgendwann gestern habe ich ich aber einen Fehler drin den ich nicht weg bringe:

      Code:
      2022-02-13 11:09:40;045815;?;25794;Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002326.php | Fehlercode: 8 | Zeile: 131 | Undefined variable: rec_cookie;ERROR
      2022-02-13 11:09:40;048736;?;25794;Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002326.php | Fehlercode: 8 | Zeile: 133 | Undefined variable: rec_cookie;ERROR
      2022-02-13 11:09:40;049325;?;25794;Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002326.php | Fehlercode: 8 | Zeile: 153 | curl_setopt_array(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead;ERROR
      Jedes mal wenn ich den Baustein Triggere kommt diese Fehlermeldung, gemäss Anleitung wäre aber "Value 2" dort gar nicht vorgesehen .. nur 0+1
      So sieht die Konstellation aus:

      2022-02-13 11_13_30-Clipboard.png

      Führe ich die Abfrage in postman.co durch erhalte ich keine Fehlermeldung.

      Kommentar


        #4
        Zitat von ctx Beitrag anzeigen
        Seit irgendwann gestern habe ich ich aber einen Fehler drin den ich nicht weg bringe:
        Du arbeitest ja auch mit v0.5 statt mit v0.6.
        Das Problem wurde HIER schon mal diskutiert.
        Die ersten beiden Fehler sollten damit weg sein.
        Der dritte liegt vermutlich an einer neueren PHP Version die du verwendest? 7.4?

        Kommentar


          #5
          Danke jonofe den anderen Forum Eintrag habe ich nicht gefunden.


          Code:
          # php -v
          PHP 7.2.34 (cli) (built: Nov 15 2021 09:20:49) ( NTS )
          Copyright (c) 1997-2018 The PHP Group
          Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
          wie du bereits vermutest sind die ersten beiden Fehler weg. Den dritten haben ich noch.

          Code:
          2022-02-13 15:52:57;096330;?;17291;Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002326.php | Fehlercode: 8 | Zeile: 154 | curl_setopt_array(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead;ERROR

          Kommentar


            #6
            Zitat von ctx Beitrag anzeigen
            wie du bereits vermutest sind die ersten beiden Fehler weg. Den dritten haben ich noch.
            Damit er weg ist, kannst du vermutlich E9 auf 0 setzen.
            Im nächsten Update des LBS, werde ich das dann anpassen.

            Du kannst aber auch in Zeile 261 folgende Änderung vornehmen:

            if ($ssl && ($E[9]['value'] == 0 || $E[9]['value'] >= 1))

            Und dann bei E9 eine 2 eintragen. Das sollte es auch beheben.
            Zuletzt geändert von jonofe; 13.02.2022, 16:17.

            Kommentar


              #7
              E9 auf 0 scheint zu funktionieren. Danke

              Kommentar


                #8
                Wie muss ich den LBS bestücken, dass ich eine Anbindung an Valetudo realisieren kann?
                Das Empfangen von Daten ist kein Problem und klappt wie vorgesehen aber das Senden (PUT) will nicht gelingen.

                Als Request URL habe ich bspw.:
                Code:
                http://192.168.XXX.YYY/api/v2/robot/capabilities/SpeakerVolumeControlCapability​
                Mein PUT Befehl dazu laut API:
                Code:
                 {"action":"set_volume","value": 20}
                ​
                Einfach an E17 eintragen funktioniert nicht.
                Gruß -mfd-
                KNX-UF-IconSet since 2011

                Kommentar


                  #9
                  Was sagt denn die API zu Authentifizierung und Headers?
                  Ohne genaue Beschreibung des API Befehls und ohne vollständige Belegung der LBS Eingänge kann man da nicht viel zu sagen.

                  Kommentar


                    #10
                    Zitat von jonofe Beitrag anzeigen
                    Was sagt denn die API zu Authentifizierung und Headers?
                    Leider nicht viel mehr als das was ich beschrieben habe...
                    Hier ein Beispiel was das Webinterface an Angaben liefert:
                    api_webif_02.jpg api_webif_01.jpg
                    Gruß -mfd-
                    KNX-UF-IconSet since 2011

                    Kommentar


                      #11
                      Und die Headers hast du entsprechend gesetzt?
                      Wie oben erwähnt wäre die Belegung des LBS wichtig und das was an den Ausgängen rauskommt, wenn du einen Befehl absetzt.

                      Abgesehen davon frage ich mich, warum du nicht MQTT benutzt? Das sollte doch viel einfacher sein, als sich die HTTP REST API Requests einzeln zusammen zu basteln.

                      Kommentar


                        #12
                        Zitat von jonofe Beitrag anzeigen
                        Und die Headers hast du entsprechend gesetzt?
                        Bisher ist der Baustein wie im Auslieferungszustand. Lediglich die URL ist eingetragen.
                        Deshalb ja meine Frage, wie muss ich die anderen Eingänge belegen?
                        An E17 übergebe ich laut Hilfe die "Daten", aber in welcher Form?
                        Wie berücksichtige ich die Headers?

                        Ich denke nicht, dass MQTT eine Alternative ist, dann müssen die Daten über noch ein zusätzliches Gerät und dort erst ein MQTT Broker eingerichtet werden. Also eine Baustelle mehr.
                        Gruß -mfd-
                        KNX-UF-IconSet since 2011

                        Kommentar


                          #13
                          Durch das Upgrade von Pi-hole auf V6 hat sich die API komplett geändert und basiert nun auf REST. Damit funktioniert meine bisherige Lösung zum kurzfristigen Deaktivieren von Pi-hole leider nicht mehr.

                          Was ich aus den Screenshots erkennen konnte, sollte ich mit LBS19002326 das Problem lösen können — dieser LBS ist aber nicht mehr im Downloadbereich verfügbar.

                          Hat den LBS19002326 noch jemand auf Platte und kann mir diesen zur Verfügung stellen? Oder gibt es eine andere Möglichkeit, an den LBS19002326 zu kommen?

                          Vielen Dank im Voraus.

                          Kommentar


                            #14
                            Ist in meiner Cloud verfügbar zum ausleihen

                            Kommentar

                            Lädt...
                            X