Gridster-Drag‘n Drop-Aktion in fhem auswerten?

Begonnen von dadoc, 18 März 2018, 10:27:43

Vorheriges Thema - Nächstes Thema

dadoc

Hallo,
Gibt es irgendeine Möglichkeit, eine Drag'n Drop-Aktion in fhem auszuwerten, m.a.W. wenn man etwa in ftui ein Widget auf oder neben ein anderes zieht?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

setstate

Aktuell nicht. Da musst es ein Stück Code geben, was auf die entsprechenden Events lauscht und dann damit ein Cmd für FHEM baut und wegschickt. Sollte nicht schwer sein. Freiwillige Plugin-Entwickler vor!

Thorsten Pferdekaemper

Hi,
so etwas passiert hier:
https://forum.fhem.de/index.php/topic,85869.0.html
...und noch ein "bisschen" mehr.
Gruß,
   Thorsten
FUIP

dadoc

Wow Thorsten, sehr beeindruckend das Video! Da scheint das Drag'n Drop ja in der Tat nur ein ,,Randprodukt" des Ganzen zu sein. Was ich suche ist quasi etwas, das - wenn ich etwa das Widget von Musicplayer1 auf das Widget von Musicplayer2 ziehe, einen Befehl wie ,,set Musicplayer1 sync Musicplayer2" sendet bzw. einen Dummy triggert, damit sich auch die Anzeige in ftui an den dann neuen Syncstatus anpasst.
Ist so etwas vielleicht irgendwo in Deinem Code extrahierbar?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Zitat von: setstate am 18 März 2018, 10:30:36
Freiwillige Plugin-Entwickler vor!
Ich würde ja gern, aber da fehlt mir doch noch zuviel Wissen. Bin schon ganz stolz, dass ich das (inoffizielle und entwicklerseitig verwaiste) Modul für den Owl-Energiemesser in einer Reihe von Punkten aktualisiert habe, aber frag mich nicht, wie lange ich für so etwas brauche...
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

Thorsten Pferdekaemper

Zitat von: dadoc am 18 März 2018, 15:49:06
Wow Thorsten, sehr beeindruckend das Video! Da scheint das Drag'n Drop ja in der Tat nur ein ,,Randprodukt" des Ganzen zu sein. Was ich suche ist quasi etwas, das - wenn ich etwa das Widget von Musicplayer1 auf das Widget von Musicplayer2 ziehe, einen Befehl wie ,,set Musicplayer1 sync Musicplayer2" sendet bzw. einen Dummy triggert, damit sich auch die Anzeige in ftui an den dann neuen Syncstatus anpasst.
Ist so etwas vielleicht irgendwo in Deinem Code extrahierbar?
Möglicherweise schon, aber nicht so direkt. Bei mir ist das "Droppable" immer eine ganze FTUI-Zelle und kein Widget. Das "Draggable" ist eher sowas wie ein Widget. Das ganze geht im Prinzip mit JQuery UI Draggable und Droppable. Bei einem Drop-Event wird in meinem Coding tatsächlich ein FHEM-Kommando abgesetzt. Allerdings geht das bei mir immer auf die lokale FHEM-Instanz. (Bei FTUI darf das FHEM auch woanders laufen, was auch von FUIP unterstützt wird. D.h. es gibt eine Unterscheidung zwischen der FUIP-Instanz und der "eigentlichen" FHEM-Instanz.)
Du kannst aber ruhig mal in der Datei fuip.js nach "fuip-draggable" und "fuip-droppable" suchen und Dich durchwühlen.
Gruß,
    Thorsten
FUIP

setstate

ich habe mal etwas versucht ...
So könnte man das definieren


                    <div class="drop" data-type="symbol" data-device="Musicplayer2" data-set="sync"></div>
                    <div class="drag" data-type="symbol" data-device="Musicplayer1"></div>

dadoc

Wow - das ist genial! Vor allem auch deshalb, weil man keine eigene Gridster-Box pro Element braucht (ich bastle nämlich die gesamte Mediasteuerung in eine einzelne große Gridster-Box, da ich bislang noch keinen anderen Weg gefunden habe, dieser (Pagetab-Unter-)Seite ein anderes Hintergrundbild zuzuweisen als den anderen (die es aus der user-css beziehen)).
Vielen Dank &
viele Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods