HTTP-Server: Werte zurückgeben

e:cue Forum Foren Deutsche Diskussionsforen Support (D) HTTP-Server: Werte zurückgeben

Ansicht von 7 Antwort-Themen
  • Autor
    Beiträge
    • #217650
      m.holzhauer
      Teilnehmer

      Hallo,

      die Steuerung via HTTP funktioniert grundsätzlich.
      Ich bekomme aber immer nur ein ‘OK’ zurück, wenn ich nicht nur eine Aktion auslösen möchte, sondern auch einen Wert zurückbekommen möchte.
      Angeblich hat der Server mit der Version 5.2SR1 (5.2.300.1865) ein Update bekommen, was mache ich also im folgenden falsch:

      http://192.168.0.106:80/xmlget?ExecCommand=string GetCuelistStatus(1,0);
      oder
      http://192.168.0.106:80/xmlget?ExecCommand=string a=GetCuelistStatus(1,0);

      Danke
      Martin

    • #225302
      bkruse
      Teilnehmer

      Um Werte zurück zu bekommen nutzt du am besten die AutoText funktion, zum Beispiel:
      http://192.168.123.18/xmlget?AutoText=

      Die Antwort könnte so aussehen (fett hervorgehoben der Teil, der dich vermutlich interessiert ;-)):


      ?



      Grüße, Björn

    • #225303
      m.holzhauer
      Teilnehmer

      Hallo Björn,

      danke zunächst.
      Ich hatte nur gehofft, daß die Befehle ExecCommand und CallMacro auch Werte zurück geben könnten.

      Speziell stört mich bei der AutoText Funktion die Rückgabe von Versatile-Fader-Werten:
      Ich sende per ExecCommand einen Faderwert in dem festen Wertebereich von 0 bis 4096.
      Zurück bekomme ich einen Wert, der sich auf einen dynamischen Wertbereich bezieht, der für jeden V-Master separat in den jeweiligen Properties definiert wird.
      So wie ich das sehe, habe ich keine Chance, via HTTP den Wertebereich zu erfahren. Das heißt, ich kann den Wert zwar anzeigen, aber ich kann keinen Fader verlässlich positionieren.

      Ausserdem wäre es doch auch interessant, Rückmeldungen aus Makros zu erzeugen. Dazu habe ich keinen passenden Makro-Befehl gefunden.

      Danke und Grüße
      Martin

    • #225304
      bkruse
      Teilnehmer

      Hi,

      nein, du triggerst mit ExecCommand, CallMacro, etc. ja nur, das der entsprechende e:script code im Programmer ausgeführt wird, mehr nicht. Das OK welches der HTTP Server zurück gibt ist nur das OK für den korrekt übertragenen HTTP Request und hat nichts mit dem korrekten (oder nicht korrekten) Ausführen deines e:script Kommandos zu tun.
      Rufst du z. B. ein Macro auf, welches einen Fehler wirft, wirst du trotzdem ein OK zurück bekommen.

      Du kannst per macro/e:script eine globale Variable (z. B. _status) setzen.
      Diese kann per
      http://192.168.123.18/xmlget?AutoText=
      abgefragt werden.
      Generell kann man meine ich alles was per ActionPad AutoText möglich ist auch über den xmlget abrufen.

      Gemeint ist, das man bei StartAutoFade %-Werte von 1-100 angibt, die nochmal auf die aktuellen V-Master Einstellungen (logarithmisch/linear + Max-Value) angewendet werden?
      Den Max-Value abfragen, mir daraus x% zu errechnen und den berechneten Wert an den Programmer zu senden ist das Gleiche wie direkt x% zu senden, richtig?
      Ok, ob linear|logarithmisch, da muss man wissen was man in seiner Show konfiguriert hat. Sehe ich ein das diese Info hier Sinn ergeben würde

      Grüße, Björn

    • #225305
      m.holzhauer
      Teilnehmer

      Hier nochmal am Beispiel das Problem:

      Meine HTML-Seite zeigt einen Fader, der Benutzer schiebt den Regler auf 25%, es wird folgender Befehl gesendet:
      http://192.168.0.106:80/xmlget?ExecCommand=SetSpeedMaster(1, 1024);

      Fall 1)
      Die Eigenschaft ‘Curve Type’ von V-Master#1 ist ‘Logarithmic’.
      Der V-Master zeigt den Wert 6,3%.
      Beim nächsten Aufruf meiner Seite möchte ich zunächst den Status synchronisieren und sende folgenden String:
      http://192.168.0.106:80/xmlget?AutoText=
      Ich erhalte folgende Antwort:








      Natürlich ist es machbar, die 6,3% wieder in 25% umzurechnen, wenn man erst den Algorithmus von e:cue reverse-engineered hat. – Ist aber ziemlich lästig, zumal man die Fader-Eigenschaften immer redundat pflegen muss.

      Fall 2)
      Die Eigenschaft ‘Curve Type’ von V-Master#1 ist ‘Linear’, aber ‘Maximum Level’ ist 500, da der Regler für Geschwindigkeit verwendet wird.
      Der V-Master zeigt jetzt also den Wert 125% an, der auch zurückgegeben wird, wenn beim nächsten Seitenaufruf wieder der Wert gepolled wird.
      Hier muss mein Javascript-Programm also wissen, daß der Fader auf 25% gesetzt werden soll, wenn e:cue mir 125% meldet… Das ist nicht wirklich elegant.

      Gibt es Möglichkeiten, via AutoText den 12-Bit-Wert zurück zu bekommen?

      Danke
      Martin

    • #225306
      bkruse
      Teilnehmer

      Ah, mir war nicht klar, das zwischen deinem SetSpeedMaster und dem anschließenden Lesen wohl eine Veränderung des V-Masters eingetreten sein kann und du deine Javascript-Fader auf den aktuellen Wert aktualisieren möchtest?
      Hab immer überlegt, wenn der Fader auf 25% steht, warum willst du dann die gelesenen 6,3% zurück in 25% umrechnen 😀

      > Gibt es Möglichkeiten, via AutoText den 12-Bit-Wert zurück zu bekommen?
      Soweit ich weiß nicht.
      Mir fallen folgende Möglichkeiten ein:
      – die Werte der Fader regelmäßig per Macro in einer globalen Variablen abspeichern, diese wie oben beschrieben per AutoText abfragen
      – die Werte der Fader regelmäßig per Macro in einer XML Datei abspeichern, diese per javascript lesen/parsen (siehe Help > Advanced System Manual > nach “xml” suchen und das Topic “Example: Saving and Recalling Fader Values” öffnen)

      Weitere möglicherweise hilfreiche Punkte:
      – statt SetSpeedMaster(absoluterWert) gibts auch StartAutoFade(prozentWert)
      – einfach eine ActionPad Seite mit nem Fader basteln und diese per iframe einbinden? Die ActionPad Fader werden ja autom. aktuell gehalten…

      Hoffe das hilft.
      Grüße, Björn

    • #225307
      m.holzhauer
      Teilnehmer

      Es könnte ja auch sein, daß der Browser mal geschlossen wird… 😉

      Gut, das hilft mir. Ich frage mich nur, wo der Autotext-Befehl ‘local’ dokumentiert ist. Ich habe ihn jedenfalls in keinem Manual gefunden…
      Das Zuweisen der Variablen kann ich ja auch via ExecCommand machen, das erleichtert die Sache etwas.

      Das Kommunikations-Timing leidet aber schon etwas. Insofern hätte ich doch noch gerne vom Support eine definitive Aussage darüber, ob es noch eine elegantere Möglichkeit gibt, den 12-Bit-Wert zu erhalten.

      Danke
      Martin

    • #225308
      bkruse
      Teilnehmer

      Gemeint ist ‘global’? Das hab ich aus
      ActionPad > Button Properties > Autotext > e:script Variable > Global e:script Variable
      übernommen 😉

      Ich frage mich (leider!) sehr oft, wo etwas dokumentiert ist 🙄 Mit dem nächsten Release wird das Manual aktualisiert, damit ist ein guter Schritt in diese Richtung getan.

      Grad beim Entwickler nachgefragt:
      Das mit dem AutoText auf die globale Variable ist der einzige Weg momentan.
      Irgendwann soll richter HTTP-Zugriff auf solche Eigenschaften kommen.

      Grüße, Björn

Ansicht von 7 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.