Elgato Stream Deck und json

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Elgato Stream Deck und json

Post by halweg » 18 May 2022, 04:16

Hallo zusammen,
wenn ich das Forum so durchsuche, stelle ich fest, dass das Streamdeck durchaus bekannt ist, zumindest im englischsprachigen Teil. Aus Sicht meines Nutzungskontextes fast schon ein MUSS. Falls nicht bekannt: Das ist eine externe Tastatur, bei der die Tasten durch Bilder variabel gestaltet werden können und frei mit Hotkeys und Aktionen belegt werden können.
Hat hier im deutschen Bereich jemand Erfahrungen damit?

Konkret erfolgt die Tastenbelegung beim Streamdeck über eine json-Datei. Nun will ich Streamdeck Tasten automatisiert belegen, z. B. mit Verzeichnisnamen. Dazu muss ich in die json-Datei eingreifen. Eh ich nun mit Suchen-Ersetzen an der json-Datei bastle habe ich mir überlegt, dass es dafür bestimmt fertige Bibliotheken für AHK gibt und wahrscheinlich auch Anleitungen zu ihrer Benutzung. Vielleicht ist das einfacher.

Könnt Ihr mir dazu einen Tipp geben? Also: Mit welchem Tool bzw. welcher Routine ich am einfachsten einzelne Werte in einer json-Datei manipulieren kann? Oder ist es tatsächlich am einfachsten, die Datei einzulesen und mit Suchen-Ersetzen zu arbeiten.

Besten Dank im Voraus, Halweg


halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Elgato Stream Deck und json

Post by halweg » 18 May 2022, 09:08

Danke BoBo.
Ich muss mal sehen, ob ich damit zurecht komme. Das ist meine erste json-Datei und diese ist mit vielen {}-Ebenen verschachtelt. Da stehen dann 50 Zeilen wie :

Code: Select all

{"Actions":{
"0,0":{"Name":"Öffnen","Settings":{"path":"C:\\TEMP\\Projekte"},"State":0,"States":[{"FFamily":"","FSize":"13","FStyle":"","FUnderline":"off","Image":"state0.png","Title":"Öffnen\nProjekte","TitleAlignment":"middle","TitleColor":"#ff00ff","TitleShow":""}],"UUID":"com.elgato.streamdeck.system.open"},
"0,1":...
(damit wird der ersten Taste das Öffnen eines Ordners zugewiesen)
Und hier will ich nun z. B.
C:\\TEMP\\Projekte
durch
c:\\TEMP\\Projekte\\Projekt1
ersetzen.
Ich stehe da als Neuling wahrscheinlich nur auf dem Schlauch, bin mir aber im Moment nicht sicher, ob das Einarbeiten in vorhandenen Funktionen nicht doch komplizierter ist, als direkt die ganze Datei einzulesen und mit Suchen/Ersetzen zu bearbeiten.
Das Einlesen muss ich ja wohl sowieso in einem extra Schritt machen.
Ich hatte auf so was wie

Code: Select all

json_setvalue("meinfile.json","Actions|0,0|Settings|path","c:\\TEMP\\Projekte\\Projekt1")
gehofft.

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Elgato Stream Deck und json

Post by BoBo » 18 May 2022, 09:33

Im Prinzip ist das ja nichts anderes wie ein ewig langes assoziatives array. Das erste was ich machen würde - "beautifying" - heißt, diese Zeile in absteigende Level zu rotieren. Auch dazu gibt es bereits scripts (z.B. von @teatrinker, einem JS-specialist). Danach lassen sich die einzelnen Level relativ einfach sichten.
Final wirst du das jeweilige element in object.array-schreibweise auslesen/beschicken können.

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Elgato Stream Deck und json

Post by halweg » 18 May 2022, 09:50

Ok, klingt nach einem Plan.
Ich hatte nur gehofft, hier ohne "Plan" einfach losmachen zu können, wie oben gezeigt. Denn das assoziative Array liegt ja in AHK nicht einfach vor.
Ich werde wohl erst mal auf die json-Manipulation verzichten und die Verzeichnisse in der App direkt manuell eintragen.
Hier mache ich dann später weiter....
Aber vielen Dank erst mal!

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Elgato Stream Deck und json

Post by BoBo » 18 May 2022, 10:12

AHK2JSON: viewtopic.php?p=373300#p373300
JSON2AHK: viewtopic.php?p=333543#p333543

Damit hab ich hier mal herumgewütet, ... viewtopic.php?t=93613

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Elgato Stream Deck und json

Post by BoBo » 04 Jul 2022, 05:09

@halweg - kaum das zwei Monate (he)rum sind, schon gibt's "Nachwuchs": viewtopic.php?p=470694#p470694 ;)

Ähnliches Vorgehen mit "live"-Änderung eines JSON templates zum update eines button-decks (zur AHK script-steuerung mittels tablet) habe ich mal für Matric (Android) gefummelt. Weil's billiger als Elegato ist (und ausgemusterte mobile devices zuhauf verfügbar). 8-)

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: Elgato Stream Deck und json

Post by halweg » 04 Jul 2022, 05:17

Danke BoBo, leider musste ich die json Manipulationen in dem Fall erst mal wieder aufgeben, da sie regelmäßig nicht von der Elgato Software akzeptiert werden, Ich vermute, dass da irgendein Hash kontrolliert wird.

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Elgato Stream Deck und json

Post by BoBo » 04 Jul 2022, 05:23

@halweg - dann halt mal mit "Matric" (s.o.) oder mit "Touch Portal" versuchen ;)

Post Reply

Return to “Ich brauche Hilfe”