So steuern Sie Ihre Poly G7500 und Studio über API Kommandos
In diesem Blog Beitrag erkläre ich Ihnen, wie Sie Ihre Poly G7500 oder Studio X über API Kommandos steuern können. Viel Spass beim Ausprobieren 🙂
Etwas Wichtiges vorab: In diesem Beitrag lernen Sie nicht, wie Sie eine API Programmierung vornehmen oder erlernen die REST API. Mir gehts es darum, Ihnen einen Einblick (und eventuell einen Einstiegspunkt) in dieses spannende Thema zu geben.
Was Sie für dieses Tutorial benötigen:
Eine G7500 oder Studio X im Poly Video Mode
Einen PC oder ein Notebook mit Software-Installationsrechten
Internet-Access
die Software „Postman“ (https://www.postman.com/downloads/)
Hinweis: Das folgende HowTo bezieht sich rein auf den Poly Video Mode. Wenn Sie das Device in einem Partner Mode (Zoom, Teams etc) betreiben, dann werden viele Kommandos nicht funktionieren, da die Poly API keine Commands in die Partner Software schicken kann. Es müsste also, sofern vorhanden, die API des jeweiligen App Herstellers genutzt werden.
Los geht´s …
Unterschiedliche APIs Es ist wichtig zu verstehen, dass für die G7500 und Studio X Systeme 2 verschiedene APIs existieren (REST API und Command-Line API), die sich in Ihrem Aufbau und den verfügbaren Kommandos unterscheiden. Nicht jede API bietet zwingend die gleichen Funktionen und die jeweilige Verwendung variiert damit je Einsatzzweck.
API Access Die REST API Steuerungsmöglichkeit ist immer gegeben, Access für die Command Line API erst gewährt werden. Dazu gehen Sie wie folgt vor:
Telnet Access am Endpunkt aktivieren Öffnen Sie Ihren Browser, rufen Sie das Webinterface Ihres Endpunktes auf (hier und im Folgenden G7500) und loggen Sie sich als Admin ein.
Navigieren Sie nun zu „Security“ -> „Access„.
Setzen Sie das Häkchen bei „Enable Telnet Access“ und speichern Sie mit dem „Save“ Button am Ende der Seite. Beachten Sie, dass die Telnet Authentifizierung im Default direkt aktiviert ist. Sollte Sie einen anonymen Zugriff realisieren wollen (nicht empfohlen), so entfernen Sie den Haken. Als weitere wichtige Information wird Ihnen hier der Telnet Zugriffsport (im Standard „24“) angezeigt .Ändern Sie diesen Wert, sofern notwendig, nach Belieben ab.
Alle notwendigen Schritte am Codec (G7500) sind nun vorerst abgeschlossen.
Klicken Sie auf „Download the App“ und wählen Sie anschliessend aus, ob Sie die 32- oder 64 Bit Variante herunterladen möchten.
Der Download sollte nun starten. Sobald das File vollständig heruntergeladen wurde, starten Sie bitte die Installation.
Erstellen Sie sich nun einen kostenlosen Account und loggen Sie sich ein.
Klicken Sie auf „Create Collection“ um eine neue Sammlung von Befehlen zu erstellen
Klicken Sie anschliessend auf den „Stift“ um einen aussagekräftigen Namen zu vergeben und den Default Wert zu ändern.
Klicken Sie nun auf die 3 Punkte „More Actions“ rechts neben dem Namen Ihrer neuen Sammlung und wählen Sie „Edit„.
Wählen Sie den Reiter „Variables„. Hier fügen wir nun einige Werte hinzu.
baseUrl = Https Webadresse Ihrer G7500
user name = Username für den Webzugriff (Default „admin“)
Password = Password für den Webzugriff (Default die letzten 6 Stellen der Seriennzmmer)
Klicken Sie danach auf „Save“ um die Änderungen zu übernehmen. Dies sollten Sie nach jeder Änderung tun, um ggf. Datenverlust vorzubeugen.
Klicken Sie im Scratch Pad oben rechts auf „New“ und wählen Sie anschliessend auf „Request„.
Hinweis: Da wir uns am Device anmelden und authentifizieren müssen, BEVOR wir Steuerkommandos ausführen können, führen wir diesen Schritt als Erstes aus.
Im nächsten Fenster vergeben Sie bitte einen Namen und ggf. eine Description für ihren ersten REST API Request, Ich empfehle hier einen eindeutigen und beschreibenden Namen zu wählen, da ansonsten die Übersichtlichkeit in einer grossen Sammlung leidet.
Im unteren Bereich des Fensters wählen Sie die von Ihnen erstellte Collection aus (hier REST DEMO) und klicken Sie abschliessend auf „Save„.
Der von Ihnen erstellte Request ist nun in Ihrer Collection vorhanden.
Wählen Sie den Eintrag durch Klick aus und wählen Sie den Reiter „Settings„. Deaktivieren Sie hier „Enable SSL certificate verification“ und klicken Sie auf „Save„.
Wählen Sie den Reiter „Tests“ , fügen Sie dort den folgende Code hinzu und speichern Sie die Änderungen,
var a = pm.cookies.get('session');
pm.globals.set("session", a);
Beim späteren Login wird eine Session ID generiert und wir lesen diese mit diesem Befehl aus dem Cookie aus..
Klicken Sie auf den Reiter „Authorization“ und wählen Sie „No Auth“ unter „Type„.
Klicken Sie auf den Reiter „Body“ Aktiveren Sie den Radio-Button „Raw“ und wählen Sie „Json“ im Dropdownfeld aus. Klicken Sie auf „Save„.
Kopieren SIe den folgenden Code in das Fenster und klicken Sie abermals auf „Save„.
Klicken Sie auf den Pfeil neben „Get“ und wählen Sie „Post“ aus den verfügbaren Optionen aus.
Kilcken Sie in das Feld daneben
und geben Sie dort den folgenden Code ein:
{{baseUrl}}/rest/session
Klicken Sie anschliessend auf „Save“.
Um den Befehl nun abzuschicken, klicken Sie bitte auf „Send“.
Im unteren Bereich des Tools sehen Sie nun die Antwort der G7500 auf Ihren Request.
Sie sind nun am Device angemeldet und können nun weitere Kommandos schicken. Hinweis: Das Session Token ist nicht unlimitiert gültig und läuft ab.
Ein Steuerkommando erstellen am Beispiel „Microphone mute“
Klicken Sie auf „New“ und auf „Request„.
Vergeben Sie einen Namen, eine Beschreibung, wählen Sie Ihre Collection und klicken Sie auf „Save to…„
Wählen Sie den neuen Befehl aus und ändern Sie die Werte, wie im Screenshot zu sehen, ab.
Method: Post Requested URL: {{baseUrl}}/rest/audio/muted
Klicken Sie auf“Body„, aktivieren Sie „Raw“ und wählen Sie „Json„. Schreiben Sie „true“ oder „false“ als Wert in das Fenster.
Klicken Sie auf „Settings“ und deaktivieren Sie „Enable SSL certificate verification„.
Klicken Sie nun auf „Send„
Sie sehen nun den Status Code „204″ und das Ausgabefenster bleibt leer. Dies ist allerdings kein Fehler. Dieser Befehl liefert ganz einfach keine Antwort zurück. Sie sehen allerdings die erfolgreiche Umsetzung anhand des Status codes oder natürlich auch am Mic Pod / TC8 selbst.
Natürlich können Sie den Status auch per API erfragen. Löschen Sie dazu einfach den zuvor eingetragenen Wert aus dem „Body“ Fenster und ändern Sie „Post“ zu „Get“ um eine Abfrage zu senden.
Fertig 🙂
Appendix:
Was muss wo hin ? In der folgenden Grafik habe ich versucht für Sie auf einen Blick aufzuzeigen, wohin welche Information aus dem REST API Guide in Postman gehört. Eventuel erspart Ihnen dies einige „graue Haare“ 🙂
SSL Certificate verification Sofern Sie mehr als nur 1 oder Kommandos programmieren wollen, kann es sehr ermüdend sein, jedes Mal die Verification manuell abschalten zu müssen. Die gute Nachricht: Sie können dies auch zentral in den Settings tun. Gehen Sie dazu wie folgt vor:
Klicken Sie in Postman auf „File“ -> „Settings“ und deaktivieren Sie die Option „SSL certificate verification“. Diese Änderung wird dann „on the fly“ gespeichert.
Command-Line API - Putty Download und Installation
Starten Sie Ihren Browser und navigieren Sie zu „http://www.putty.org„.
Klicken Sie auf „You can download PuTTY here.“.
Wählen Sie die 32-bit oder 64-bit Variante zum Download aus.
Speichern Sie die Datei auf Ihrem PC oder führen Sie sie direkt aus, wie in diesem Beispiel.
Führen Sie die Installation durch.
Starten Sie die Anwendung.
Stellen Sie den „Connection Type“ auf „Telnet„, ändern Sie den Wert bei „Port“ auf „24“ (Default bei G7500 und Studio X) oder auf den von Ihnen an Ihrem Endounkt konfigurierten Wert. Tragen Sie die „IP Adresse „Ihrer G7500 oder Studio X ein und klicken Sie auf „Open„
Sie werden nun aufgefordert das Admin Passwort für Ihren Endpunkt einzugeben. Eine manuelle Eingabe des Usernames ist nicht notwendig.
Hinweis: Die Passworteingabe ist „silent“, sprich die eingegebenen Werte werden nicht angezeigt, aber trotzdem angenommen.
Nach erfolgreichem Login sollten Sie eine ähnliche Anzeige bekommen:
Sie können nun Ihre Steuerkommandos absetzen. In meinem Beispiel aktivieren / deaktivieren wir die Tracking / Framing Funktionalität.
Den aktuellen Status des Tracking / Framings können Sie über den Befehl „camera near tracking get“ abfragen.
Fertig 🙂
Hinweis: Die Telnet und REST API Kommandos für Studio X30/X50 und G7500 sind nicht supported, wenn das Device sich in einem anderen als dem PolyVideo Mode befindet. Einige der API Kommandos mögen funktionieren, der überwiegende Teil allerdings nicht. Dies liegt daran, dass Poly keine Möglichkeit hat, Kommandos in die Partner App zu senden, wenn das Kommando auf Firmware Level ankommt (z.B. Anruf starten). Dies gilt natürlich auch umgekehrt. Auch hier gibt es nur wenige Kommandos, die es einer Partner App erlauben Befehle an das Firmware Level zu senden (z.B. eingehender Anruf. Bitte tu dies oder das).
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional
Always active
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Leave a Comment