Pico C Programm Http Post

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

    #1

    Pico C Programm Http Post

    Hallo Community,

    ich hoffe jemand kann mir weiterhelten.

    Usecase :
    Ich hab eine Türklingel mit Yamaha AVR Nachgebaut. Wenn jemand klingelt, schaut das Programm nach ob AVR "An" oder "Aus" ist, welche Lautstärke und Audiokanal ausgewält war.
    Danach schaltet das Program eine Sequenz wo die Melodie Abgespielt wird.

    Danach soll ein Programm den Ursprunglichen zustand wieder herstellen.

    Ich möchte ein Programm schreiben welches an Yamaha über TCP Commands absetzt.

    Z.b.
    YamahaAddress = "192.168.8.40";
    YamahaOnCommand = "/YamahaRemoteControl/ctrl"

    Beispiel POST vom konkreten Befehl : <YAMAHA_AV cmd="PUT"><Main_Zone><Input><Input_Sel>USB</Input_Sel></Input></Main_Zone></YAMAHA_AV>

    Ich möchte es mit C Programm realisieren, da ich statt "USB" etwas generisches haben muss - "AUDIOINPUT" - welches vom TX Input geliefert wird.
    Der AUDIOINPUT kommt von dem Status Check Pico C Programm.


    Es gibt ein "httpget" gibt es auch ein httppost?


    - die generischen http outputs kann ich leider nicht verwenden, da ich kein "Wert" Trasportieren kann, und zweitens die müssen nach dem die Melodie gespielt hat, per http post abgesetzt werden und drittens, per Trigger.

    - im Anhang die Klingel Config, wenns hilft.

    Danke für jegliche Unterstützung.
    Lg.
    Martin
    Angehängte Dateien
    Zuletzt geändert von Gast; 27.12.2015, 20:03.
  • Gast

    #2
    Keiner? wow, da habe ich aber eine schwierige Frage gestellt Nicht a mal eine Antwort vom Loxone Support (nicht das ich da sehr große Hoffnungen hätte... )

    Kommentar

    • svethi
      Lebende Foren Legende
      • 25.08.2015
      • 6313

      #3
      Von Loxone wirst Du da nichts bekommen, da dass ne Bastellösung ist.
      Warum kannst Du mit den vorhandenen virtuellen Ausgängen keine Werte übermitteln?
      Wenn Du kommunizieren möchtest, musst Du selber streams öffnen und die Daten senden. Sollte bei HTTP ja nicht das Problem sein.
      Streambeispiele findest Du in der Doku zum Programmbaustein.
      PicoC ist allerdings nur eine Teilmenge von C alles geht damit nicht. Musst halt sehen ob das reicht


      mal eben von unterwegs ...
      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

      Kommentar

      • Benjamin Jobst
        Lox Guru
        • 25.08.2015
        • 1194

        #4
        Zitat von bedo02
        Nicht a mal eine Antwort vom Loxone Support (nicht das ich da sehr große Hoffnungen hätte... )
        Das war jetzt ironisch gemeint oder? =)

        Zu deinem Thema: httpPOST ist mit Loxone irgendwie immer eklig habe ich das Gefühl... Habe ich bisher auch nur über den POST-Baustein verwendet. Allerdings kann ich durchaus nachvollziehen, dass das nicht der Weisheit letzter Schluss ist, die Funktion ist bei Loxone doch etwas beschränkt.

        Zu dem Thema habe ich nur dieses Thema hier gefunden, jdstroy hat da wohl versucht, über POST mittels SOAP einen Loewe anzusprechen. Ob's geklappt hat, musst du ihn aber selbst fragen ;-)

        MfG Benny

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5144

          #5
          Gast
          Hallo Martin,
          Sofern ich das richtig verstehe, glaubst Du, dass man keinen Wert an einen HTTP - Ausgang weitergeben kann.
          Wenn dem so ist, geht dies doch mit <v> in der Befehlszeile.
          lg Romildo

          Kommentar

          • Gast

            #6
            romildo - hmm dass man mit <v> werte an die commands übertragen kann, ist mir entgangen..
            Vielen Dank für den Hinweis. Ich hab es mal ausprobiert, funktioniert super für übertragen von Zahl Werten, ich muss es aber bisl umbauen um auch Texte zu übertragen, dass sollte aber relativ einfach gehen. Mit einfachen zuordnen von Wert zu Text. Hoffe bis am WE dass Projekt endlich abzuschließen

            Gast Jobst - ja den post habe ich gelesen und auch überlegt es mit stream_create zu versuchen, wäre ev. mit einem Program einfacher zu lösen als mit den Bausteinen rumzuhantieren, vor allem das arbeiten mit Text.

            Vielen Dank allen für die schnelle Rückmeldung

            Kommentar

            • romildo
              Lebende Foren Legende
              • 25.08.2015
              • 5144

              #7
              Text geht auch. Entweder den kompletten Text irgendwo z.B. in Pico C oder Statusbaustein zusammensetzen und dann den kompletten Text mittels <v> auslesen.
              Hier ein Beispiel
              lg Romildo

              Kommentar

              • Gast

                #8
                ja, dass war meine Überlegung. Einen Pico Programm zu schreiben, der sich den Tx für eine bestimmte zeit merkt, und sobald ein Trigger auf A1 kommt, den über TX Ausgang an den HTTP Output übergibt. Noch eleganter wäre den gleich abzusetzen Weihnachten waren schon aber, z.Z. habe ich zu wenig Zeit um das Nachzuprogrammieren.

                Kommentar

                • Gast

                  #9
                  hier kurz der pico c code um tx abzufragen wenn ein trigger über AI1 kommt, danach wird der text an TX Output geleitet.

                  char szBuffer[128];
                  while(1==1)
                  {
                  if(getinput(0)) // check if we are active
                  {
                  char *audio = getinputtext(0);
                  sprintf(szBuffer,"%s",audio);
                  setoutputtext(0,szBuffer);
                  }
                  sleep(100);
                  }

                  Kommentar


                  • MightyLox
                    MightyLox kommentierte
                    Kommentar bearbeiten
                    strncpy wäre sicherer. ;-)
                • Iceman
                  Smart Home'r
                  • 25.08.2015
                  • 34

                  #10
                  Gast
                  Bei mir funktioniert dein code irgendwie nicht. Es wird leider kein Text ausgegeben.

                  Kommentar

                  • Gast

                    #11
                    Ich werde mal über WE die ganze Konfig hier posten, ich hoffe es wird dann verständlicher.

                    Kommentar

                    Lädt...