ENIGMA2: Befehle von Webinterface-Plugins aufrufen

Begonnen von vbs, 18 Januar 2015, 13:44:50

Vorheriges Thema - Nächstes Thema

vbs

Manche Enigma-Plugins bringen ja auch ein eigenes Webinterface mit, über das dann Funktionen des Plugins aufgerufen werden können. Besteht eine Möglichkeit, solche Plugin-Befehle über das Modul aufzurufen?

Zum Beispiel dFlash:
Über eine URL in der Art...

http://dm7020hd/dflash?file=meinBackup&command=Backup

...kann zum Beispiel ein Backup gestartet werden.

Außerdem hab ich mir ein eigenes Web-Plugin geschrieben, um HDMI-CEC-Befehle "händisch" über die Dreambox absetzen zu können. Zum Beispiel TV einschalten:

http://dm7020hd/hdmicec?cmd=poweron


Falls es sowas noch nicht gibt, evtl. kann man sowas als set-Befehl einbauen? ZB:

set enigma2 webPlugin hdmicec?cmd=poweron

Loredo

Muss ich mal drüber nachdenken. Generell fehlt mir aktuell eher die Zeit dafür.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

vbs

Ich würde mich auch an einem Patch versuchen, wenn das aktuell noch nicht geht und du die Idee nicht grundsätzlich schlecht findest.

Loredo

Grundsätzlich ok, allerdings wäre mein Anspruch dabei nicht nur eine URI als Parameter entgegen zu nehmen und einfach so durchzureichen.
Zu klärende Fragen wären dabei:


       
  • welche Parameter braucht man, damit man nix speziell auf nur ein Plugin gemünzt programmieren muss (Generalisierung)? - welche Plugins gibt es, haben die eine allgemein gültige API oder kocht jeder sein eigenes Süppchen?
  • welche Rückmeldung gibt das Plugin, kann man aus der Rückmeldung erfolg/nichterfolg oder einen Status interpretieren und ggf. als zusätzliches Reading in FHEM speichern?
  • ist ggf. ein zusätzliches Polling sinnvoll oder gar notwendig? Wenn ja, auch im standby modus (muss dann über Paramter einstellbar sein)
  • wie geht man mit mehreren Plugins gleichzeitig um?
  • wie macht man das ganze noch einigermaßen beherrschbar in der Konfiguration?

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

vbs

Ich hab mir am Wochenende ein paar Web-Plugins angesehen, um ein kleines eigenes zu basteln. Das Problem ist, dass der "kleinste gemeinsame Nenner" vermutlich einfach nur HTTP ist. Also die Plugins registrieren einen Handler für zB HTTP-Get auf ihrer URL. Da drin können sie dann alles machen, wie sie wollen.
Auch der Rückgabewert ist einfach eine HTTP-Response, die nach Belieben mit dem HTTP-Header und ggf. einem HTML-Payload angereichert wird.

Also ich wüsste leider nicht, wie man das besser vereinheitlichen könnte, da jedes Plugin da völlig freie Hand hat. Dass mit der URL könnte ich anbieten. Darüber hinaus habe ich leider keine gute Idee.

Loredo

Dann geht es ja aber eigentlich nur um den simplen Aufruf einer beliebigen URL, die zufälligerweise ein ENIGMA2 Receiver ist.
Vielleicht wäre dafür das HTTPMOD Modul besser geeignet?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

vbs

Hab ich auch schon dran gedacht. Im Enigma-Modul hätte es ein paar Vorteile, dass man es damit näher an das ja vorhandene Gerät koppeln könnte. Man könnte dann IP-Adresse und evtl. User/Password nachnutzen. Aber stimmt schon, vermutlich sind Nachteile bzw. der Aufwand größer als die paar Vorteile...

eiGelbGeek

Zitat von: vbs am 18 Januar 2015, 13:44:50

Außerdem hab ich mir ein eigenes Web-Plugin geschrieben, um HDMI-CEC-Befehle "händisch" über die Dreambox absetzen zu können. Zum Beispiel TV einschalten:

http://dm7020hd/hdmicec?cmd=poweron


Könntest du dieses Plugin zur Verfügung stellen ?

Ich brauche es zwar nicht für FHEM ... aber es ist verdammt hilfreich in meiner Automation .... Ich habe in OpenHAB 2 Programme erstellt .... den TV starten, wenn die VU+ aus dem Standby kommt, ist ja kein Thema .... aber ich habe noch eine Rule in der ich das AppleTV 2 starte ... und das hat nicht wirklich CEC .... als Work A Round nutze ich derzeit einfach VU+ aus den Standby holen und wieder in den Standby bringen .... damit der TV angeht .... geht ... aber irgendwie schwachsinnig .... was natürlich auch geht ist ein Raspberry mit cec-client .... aber genau diesen Raspberry wollte ich eigentlich aus dem Wohnzimmer los werden.... weil die VU+ und Openhab die Steuerung mittlerweile komplett übernehmen kann ... nur eben dieses CEC "Problem"  aber mit deinen Plugin würde sich das ganze ja in Luft auflösen... wenn ich es richtig verstehe ;)


vbs

Findest du im Anhang. Musst du gemäß Verzeichnisstruktur auf die Dreambox kopieren. Sollte dann im Webinterafe unter Plugins auftauchen


HamburgerJung

Moin @vbs

Könntest Du das Plugin HdmiWeb Plugin auch für OE2.5 programmieren? (Dreambox 920).

Wäre Dir sehr dankbar., ist nämlich genau die Funktion die ich gesucht habe  ;D

Grüße aus Hamburg