[Neues Modul] Elgato Stream Deck Modul

Begonnen von blecher-at, 11 Dezember 2017, 13:21:08

Vorheriges Thema - Nächstes Thema

blecher-at

Status: pre-pre-alpha AKA "works on my machine"
Download/Installation: https://github.com/blecher-at/fhem-streamdeck

update add https://raw.githubusercontent.com/blecher-at/fhem-streamdeck/master/.dist/controls_streamdeck.txt
update



Was bereits funktioniert:
- Anlegen des Hubs, und anlegen von Tasten
- Die default-png-icons von fhem können verwendet werden.
- Größe der bilder und hintergrundfarbe werden in der fhemcfg angegeben
- mit "attr <dev> image device:NAME" kann ein anderes device referenziert werden; der Button am Streamdeck zeigt dann das jeweilige statusicon in echtzeit an.
- buttonpresses können mittels notify oder DOIF verarbeitet werden.
- buttonpresses unterstützen "longpress"
- text kann gerendert werden (attr DEV image text:foobar textfont:font textgravity:north textfill:red)
- globales rotations-attribut um das gerät auch hochkant oder 180° zu verwenden (attr DEV image rotate:180|270|90)
- svg support (attr DEV image icon:system_fhem_reboot.svg svgfill:red) - imagemagick benötigt die librsvg libary installiert (!)
- alle attribute incl text rendering unterstützt "magic-syntax" ([DEVICE:READING])
- helligkeit kann als attribut gesetzt werden, der hub unterstützt on/off/toggle um die helligkeit zwischen 0 und dem konfigurierten wert umzuschalten.
- mehrere "pages" an buttons, damit sich mehrstufige menüs realisieren lassen

Dependencies/Einschränkungen:
- braucht das modul ImageMagic: cpan install Image::Magick bzw. apt install libimage-magick-perl
- für SVG rendering braucht man librsvg installiert
- FHEMWEB muss in der config vorhanden sein (ist bei den meisten installationen der fall)
- der fhem user muss zugriff auf das /dev/hidraw? device haben

Pull Requests welcome :)

Beispielconfig unter
https://raw.githubusercontent.com/blecher-at/fhem-streamdeck/master/streamdock.sample.cfg


Leider musste ich zu "Testzwecken" 3 weitere decks bestellen. in eines kommt dann ein pi-zero um das ding wireless zu machen :)

blecher-at

Anbei das neueste Beispiel mit font- und svg rendering

blecher-at

#2
Jetzt sind mal alle Features drin. Stabiler ist es auch, und es gibt für alle fälle den "redraw" befehl.
Commandref ist jetzt als nächstes dran.
Wenn jemand ein Streamdeck bestellt hat oder nicht so recht weiß wie das Modul verwendet werden kann - einfach fragen.

Multiebene implementiere ich nur nach Wunsch, denn ich brauche das Feature für meine Usecases vorraussichtlich nicht, vielleicht als spielerei einen led-rgb-colorpicker.

obb20a

Hab's zu spät entdeckt - rechtzeitig zu Weihnachten reicht das nun nicht mehr. Auf jeden Fall schon mal ein fettes "Danke!" für deinen Support und ich freue mich schon auf den "Bestell" Klick in den nächsten Tagen!

Gruss Stefan

blecher-at

- Ein paar Optimierungen wurden eingebaut: So wird jetzt das Bild in einem Hintergrundprozess generiert und auch gecached, damit reagieren die Buttons um einiges schneller.
- svg-icons mit der @farbe notation in der devspec des Gerätes werden nun auch unterstützt.
- longpress funktioniert jetzt richtig
- alle Attribute unterstützen perl und devspec Angaben
- multipage support

blecher-at

Hier das selbstgebaute gehäuse mit integriertem raspberry. Damit ist die gesamte Heimkinosteuerung an einem Ort.

LuBeDa

Hallo,
wie sähe es denn aus wenn man z.B. ein großes Radarbild (oder ä.) zerschneidet und dann die einzelnen Teile je auf eine Taste legt?

Vielleicht ist die Idee auch abwegig aber ich dachte an eine Art Slideshow auf dem gesammten Display und wenn man eine Taste drückt sollte das normale Menü kommen.

Ludger

blecher-at

#7
Das geht, mein modul würde sogar das zerschneiden für dich machen. Nur beachte: die bandbreite des streamdecks ist (zumindest auf meinem rpi3) nicht sehr hoch. ein voll-refresh (update aller bildchen) dauert 1-2 sekunden

Ma_Bo

Mal ne Frage, kann man das Ding auch mit Batterien betreiben ?
Dann wäre es eine verdammt gute Fernbedienung für´s Wohnzimmer.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

blecher-at

Zitat von: Ma_Bo am 15 Januar 2018, 01:18:02
Mal ne Frage, kann man das Ding auch mit Batterien betreiben?
Das geht in Kombination mit einem Pi Zero und einem BatteryPack. Ist halt nicht die kompakteste aller fernbedienungen :D

Ma_Bo

Ah ok, ich habe falsch gedacht.
Das Streamdeck wird ja per USB verbunden um Daten auszutauschen, irgendwie war ich der Meinung über wlan würde das laufen...


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

choenig

Hi,

vielen Dank für das Modul  :). Der BlackFriday hat mir ein Streamdeck verschafft, läuft einwandfrei.

Einzig die Verbindung zwischen dem Streamdeck-Raspi-fhem und meinem Haupt-fhem ist für mich eine Herausforderung. Hab' das jetzt per fhem2fhem gemacht, das bringt aber einen ziemlichen Konfigurationsoverhead mit sich. Gibt es da eine Lösung, die einfacher die bidirektionale Kommunikation ermöglicht?

LG
Christian

blecher-at

Ich habe das mit dem MQTT modul gelöst, habe selbst vier fhem instanzen am laufen. Konfigurationsoverhead ist ähnlich, aber MQTT ist mmn zuverlässiger.

Gunther

Geht das Modul noch? Habe ein Streamdeck XL am Mac.

Muss ich das Gerät zwingend an meine FHEM-Hardware-Instanz anschließen oder kann ich den anders im Netzwerk abfragen und somit die Buttons als Steuerungsmöglichkeit für FHEM Devices nutzen und parallel Funktionen am Mac nutzen?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

blecher-at

Ja, ich habe das modul auf mehreren Geräten im Einsatz. Das Modul ist dafür gedacht ein Streamdeck über USB z.b. an einen Raspberry PI anzuschließen und dann über FHEM die Tasten mit Geräten/Aktionen zu belegen. Eine Hybrid-Verwendung mit Windows- oder Mac Desktopgeräten ist nicht vorgesehen, dafür gibt es ja bereits die Software von Elgato direkt.

Ob es mit dem Streamdeck XL auch funktioniert müsstest Du testen (aber unwahrscheinlich, bestimmt anderes Protokoll), ich habe bisher nur das 15-Tasten Gerät getestet.