Ankündigung

Einklappen
Keine Ankündigung bisher.

Http/udp/shell

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

    #16
    Bekomme folgenden Fehler:

    Console_Ergebnis.JPG

    Kommentar


      #17
      Dann musst du wohl in deiner Türstation die EDOMI IP berechtigen Befehle per HTTP auszuführen.
      Vermutlich ist nur dein PC berechtigt.

      Oder ist evtl. eine separate Anmeldung notwendig, die du vorher von deinem PC gemacht hast, bevor du im Browser den GET Befehl aufgerufen hast.

      Kommentar


        #18
        TCS? Bei mir schaut der Befehl ähnlich aus, und funktioniert.

        Relais schalten mit

        Kommentar


          #19
          Es handelt sich bei mir um eine Wantec monolith C IP
          Den Befehl von dir habe ich auch, um die Relais öffnen und schließen zu können.
          http://192.168.110.152/relay_control?1=on
          http://192.168.110.152/relay_control?1=off

          Ich kann aber auch den Klingelknopf per http auslösen und dieser Befehlt lautet:
          http://192.168.110.152/button_control?btn=1

          jonofe Eine spezielle Berechtigung kann schon die Ursache sein. Die Türsprechstation hat natürlich einen Login der im Browser von mir ausgeführt wurde um Einstellungen machen zu können.
          Wie integriere ich aber nun diesen Login in den Befehl?

          vento66 musst du auch einen speziellen Login bei dir davor setzen oder wie hast du das umgesetzt?

          Hier die Beschreibung von meiner Anlage (Seite 28)
          http://www.wantec.de/fileadmin/docum..._C_IP_V5.1.pdf

          Kommentar


            #20
            Dazu musst du rausfinden wie der Login gemacht wird. Wenn es Basic-Auth ist dann geht es vielleicht mit http://user: password@IP/relay_control...
            Ansonsten nur mit nem eigenen LBS, der dann die Anmeldung implementieren muss.

            Kommentar


              #21
              keine Ahnung wie es bei Dir ist, aber in der Konfig gibt es bei mir ein Feld "Active button by HTTP:". Dort muss ein Haken rein....

              Kommentar


                #22
                jonofe Das war die wichtige Info die mir gefehlt hat. Jetzt funktioniert es.
                vento66 Dieses Feld muss auch aktiv sein, hatte ich aber schon zuvor aktiviert.

                Danke für eure Hilfe.

                Kommentar


                  #23
                  Hi,

                  ich hänge mich mal hier rein da ich auch eine Frage zu HTTP-Get habe.
                  Benutze den MusicServer https://music-server.net/

                  Wenn ich die Http-Get anfrage via edomi triggere

                  Code:
                  http://SERVERIP/event/event.php?type=tts&ttsprov=polly&text=TEST&vol=100
                  passiert nix.

                  Wenn ich die gleiche URL via Browser abfeuer passiert das was passieren soll.

                  Via Terminal auf dem Edomi Server mit
                  Code:
                  curl http://SERVERIP/event/event.php?type=tts&ttsprov=polly&text=TEST&vol=100
                  bekomme ich eine fehlermeldung vom Musicserver.

                  Wenn ich im Terminal
                  Code:
                  curl "http://SERVERIP/event/event.php?type=tts&ttsprov=polly&text=TEST&vol=100"
                  dann geht es.
                  Jetzt ist es so das ich final gerne "TEST" mit einem iko austauschen möchte.
                  Daher kann ich in diesem Fall nicht shell mit wget oder so nehmen.

                  Hat jemand einen Tipp wie ich den Http befehl absetzten kann mit einer iko variable?


                  Jean-Luc Picard: "Things are only impossible until they are not."

                  Kommentar


                    #24
                    Ich kann zwar nicht erklären, warum das mit dem EDOMI http-get nicht funktioniert, aber du könntest es mit dem PHP Function LBS probieren:

                    E1: Dein iKO mit deinem String
                    E2: file_get_contents(urlencode("http://SERVERIP/event/event.php?type=tts&ttsprov=polly&text=$E1&vol=100" ));

                    Kommentar


                      #25
                      Danke jonofe!


                      Leider klappt das nicht

                      hier der LOG

                      Code:
                      [TR]
                      [TD]2020-07-02 20:25:59[/TD]
                      [TD]368681[/TD]
                      [TD]18479[/TD]
                      [TD]debug[/TD]
                      [TD]EXE19000805 [v0.2]: PHP Code to execute: return file_get_contents(urlencode("http://192.168.XX.XX/event/event.php?type=tts&ttsprov=polly&text='HIER'&vol=1 00" ));; (2841)[/TD]
                      [/TR]
                      [TR]
                      [TD]2020-07-02 20:25:59[/TD]
                      [TD]370980[/TD]
                      [TD]18479[/TD]
                      [TD]debug[/TD]
                      [TD]EXE19000805 [v0.2]: File: /usr/local/edomi/www/data/liveproject/lbs/EXE19000805.php(11) : eval()'d code | Error: 2 | Line: 1 | file_get_contents(http%3A%2F%2F192.168.XX.XX.%2Feve nt%2Fevent.php%3Ftype%3Dtts%26ttsprov%3Dpolly%26te xt%3D%27HIER%27%26vol%3D100): failed to open stream: No such file or directory (2841)[/TD]
                      [/TR]
                      Die XX sind natürlich die IP ;-)

                      Noch ne Idee? Sonst muß noch dein Polly LBS einsetzten
                      Jean-Luc Picard: "Things are only impossible until they are not."

                      Kommentar


                        #26
                        Versuch mal das urlencode() wegzulassen.

                        Kommentar


                          #27
                          Funktionert soweit.
                          Allerdings nur wenn die variable ein Wort ohne leerzeichen ist. Also der LBS geht auch mit Leerzeichen in E1..nur der Server nicht an den ich das schicke.

                          Es wird auch die variable e1 in apostrophes gesetzt '

                          Wobei Leerzeichen an den Musicserver schon normal gehen. Aber die kombi mit apostrophes nicht
                          Zuletzt geändert von trollmar; 02.07.2020, 20:17.
                          Jean-Luc Picard: "Things are only impossible until they are not."

                          Kommentar


                            #28
                            Das urlencode() müsste dazu auf den String an E1 angewendet werden, dann sollte es eigentlich funktionieren.

                            Dazu einfach einen weiteren PHP Function LBS verwenden:

                            E1: <Dein String>
                            E2: urlencode($E1);

                            A1: mit dem E1 des anderen PHP Function LBS (siehe oben) verbinden.

                            Kommentar


                              #29
                              Danke jonofe!
                              Läuft
                              Jean-Luc Picard: "Things are only impossible until they are not."

                              Kommentar


                                #30
                                Vor längerem habe ich begonnen, Grundwasserstände einer nahen Messstelle per REST-API abzurufen. Das hat lange funktioniert, aber die API hat nun den HTTP-Zugriff abgeschaltet und erlaubt nur noch HTTPS. Seit dem misslingt die Abfrage.

                                Da ich nach Möglichkeit gerne edomi-Standard nutze, baue ich mir meine URL zusammen, schreibe sie in ein KO und nutze ndann den HTTP/UDP/SHELL-Befehl. Dies führt nun zu
                                Code:
                                2021-04-14 14:42:38 123667 ? 8539 Datei: /usr/local/edomi/main/queuecmd/cmd140.php | Fehlercode: 2 | Zeile: 20 | file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:[LF]error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed ERROR
                                2021-04-14 14:42:38 123776 ? 8539 Datei: /usr/local/edomi/main/queuecmd/cmd140.php | Fehlercode: 2 | Zeile: 20 | file_get_contents(): Failed to enable crypto
                                Im Terminal liefert curl (auch nach yum update nss ca-certificates) mit der selben URL eine Meldung. Das Zertifikat von https://gruschu.hessen.de/arcgis ist auch gültig. Nutzt man die Option "-k" oder "--insecure" geht es wunderbar. All das ist technisch logisch und nachvollziehbar und ist durch einen LBS lösbar (es gibt genug PHP-Anleitungen/Foren-Treffer, um https im PHP zu "entschärfen" aka insecure auszuführen)

                                Frage: Kann man dem Standard-HTTP/UDP/SHELL-Befehl eine insecure-Ausführung beibringen?

                                Kommentar

                                Lädt...
                                X