Autor Thema: Modul für ENIGMA2 Receiver  (Gelesen 265698 mal)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Modul für ENIGMA2 Receiver
« am: 16 September 2013, 22:34:57 »

HINWEIS: Die aktuellste Version gibt es inzwischen direkt aus dem Subversion Repository und kann via "update" Kommando eingespielt werden.
Alternativ kann sie hier direkt geladen werden:
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/70_ENIGMA2.pm?format=raw


Alle Versionen, die hier im Thread verfügbar sind, sind VERALTET und werden NICHT supported!






URSPRÜNGLICHE NACHRICHT:

Hossa,

ich habe jetzt mal ein Modul für ENIGMA2 Receiver geschrieben (also Dreambox, VUplus etc).
Ist übrigens mein erstes, daher bin ich auch ein kleinwenig stolz :-)

Funktioniert bei mir prima. Anbei als Anhang, falls noch jemand testen mag.

Es werden folgende Funktionen unterstützt (sollte eigentlich der kompletten API entsprechen bzw. dem, was sinnvoll erscheint):

- message
- on
- off
- reboot
- remotecontrol
- restartgui
- standby
- toogle
- vol
- zap

Außerdem werden eine Menge interessanter (oder weniger interessanter) Readings ausgelesen.
Das Modul kommt mit HTTP Base Authentication zurecht und das Polling-Interval lässt sich definieren.

Falls das Modul gut läuft könnte man es auch einchecken.

Doku für das Modul muss ich noch machen, aber ich habe schon ganz gut die Fehler abgefangen, so dass man auch durch ausprobieren gut herausfinden kann, wie es funktioniert.


Gruß
Julian
« Letzte Änderung: 07 Februar 2014, 19:34:24 von Loredo »
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

Offline m.zielinski

  • New Member
  • *
  • Beiträge: 49
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #1 am: 17 September 2013, 07:01:30 »
Das Modul werde ich heute Abend gleich mal ausprobieren.
Danke

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #2 am: 17 September 2013, 10:27:29 »
Update:

- WOL Support
- Trigger nach define
- verbessertes Muting/Unmuting
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

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4195
  • jetzt DBLog befreit
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #3 am: 17 September 2013, 14:22:18 »
Hallo, würde es gerne mal mit einer 7020hd testen. Wie ist denn die Syntax um das Modul aufzurufen:

define <Name> ENIGMA2 IP der Box ? oder

Habe im Moment nur über VPN Zugang zu FHEM.

Viele Grüße Frank
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #4 am: 17 September 2013, 14:40:10 »
define <name> ENIGMA2 <IP-Adresse> <Port> [<Polling-Interval-in-Sec>] [<HTTP-User>] [<HTTP-Passwort>]

Beispiel:
define LR_SAT ENIGMA2 192.168.6.50 80

Polling Interval und HTTP-User/Passwort sind optional.
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

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #5 am: 18 September 2013, 08:03:35 »
Update:

- statusRequest added
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

Offline DannyP

  • Jr. Member
  • **
  • Beiträge: 57
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #6 am: 18 September 2013, 10:57:59 »
Hi,

super Modul! Funktioniert mit einer Dreambox 800se einwandfrei :-)

Der verfügbare Platz der eingebauten Festplatte wird ja schon angezeigt. Gäbe es noch die Möglichkeit den Status weiterer externer Festplatten anzuzeigen? Z.B. über ein ShellSkript auf der Dreambox, dass die Daten zusammensammelt und dann von FHEM nur noch abgeholt werden muss.

Und das aktuelle TV Programm als EPG Ansicht wäre noch schick. Vermutlich aber auch schwierig zu realisieren, weil die Dreambox das nicht über eine API anbietet (jedenfalls kenne ich bisher keine ;-) )

Schöne Grüße
Daniel

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #7 am: 18 September 2013, 13:08:11 »
Zitat von: DannyP schrieb am Mi, 18 September 2013 10:57

super Modul! Funktioniert mit einer Dreambox 800se einwandfrei :-)


Danke fürs Feedback :-)

Zitat von: DannyP schrieb am Mi, 18 September 2013 10:57

Der verfügbare Platz der eingebauten Festplatte wird ja schon angezeigt. Gäbe es noch die Möglichkeit den Status weiterer externer Festplatten anzuzeigen? Z.B. über ein ShellSkript auf der Dreambox, dass die Daten zusammensammelt und dann von FHEM nur noch abgeholt werden muss.


Das ist über die Standard API der Dreambox nicht abzubilden. Auch ist es wohl eher ein Sonderfall mehr als eine Platte zu haben.
Ich würde gerne vermeiden von dem abzuweichen, was die API direkt bietet. Es sollten keine Modifikationen an einer Box notwendig sein, damit das FHEM Modul funktioniert.
Wer höhere Ansprüche hat, sollte dafür besser ein echtes Monitoring-Tool wie NAGIOS o.ä. verwenden.

Zitat von: DannyP schrieb am Mi, 18 September 2013 10:57

Und das aktuelle TV Programm als EPG Ansicht wäre noch schick. Vermutlich aber auch schwierig zu realisieren, weil die Dreambox das nicht über eine API anbietet (jedenfalls kenne ich bisher keine ;-) )


Auch sowas ist eher FHEM Fremd. Die Dreambox hat ja ein Webinterface für das Anzeigen des EPG. Du kannst für die Bequemlichkeit ja einfach einen Link auf die Website in FHEM mit einbauen.



Gruß
Julian
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

Offline CicakDOS

  • New Member
  • *
  • Beiträge: 14
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #8 am: 18 September 2013, 15:39:38 »
Zitat von: DannyP schrieb am Mi, 18 September 2013 10:57

Und das aktuelle TV Programm als EPG Ansicht wäre noch schick. Vermutlich aber auch schwierig zu realisieren, weil die Dreambox das nicht über eine API anbietet (jedenfalls kenne ich bisher keine ;-) )


Enigma 2 API bietet bereits EPG Befehle: epgservice, epgsearch, epgnow, epgnext.
Sowas würde ich auch eher als Sonder- oder Extra-Lösung sehen, weil Webservice keine EPG-Timeline bereitstellt.

Offline punker

  • Full Member
  • ***
  • Beiträge: 463
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #9 am: 18 September 2013, 16:05:50 »
Hi,

wollte das Modul auch testen.

Wenn ich es folgendermassen einbinde kommt "Cannot load module ENIGMA2"
und im LOG erscheint folgende Fehlermeldung:

2013.09.18 15:29:40 1: reload: Error:Modul 30_ENIGMA2 deactivated:
 Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 35.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 35.

2013.09.18 15:29:40 0: Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 35.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 35.


woran liegts?
lg

Dieter

The truth is out there!

Offline CicakDOS

  • New Member
  • *
  • Beiträge: 14
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #10 am: 18 September 2013, 16:14:11 »
Bei Dir fehlt Perl-Modul XML::Simple - einer der Voraussetzungen bei dem angebotenen Modul.
Weil Du kein Wort über deine Konfiguration verlierst, versuche:

cpanm XML::Simple
oder

apt-get install libxml-simple-perl

Offline punker

  • Full Member
  • ***
  • Beiträge: 463
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #11 am: 18 September 2013, 16:24:35 »
Danke erstmal!
Mein FHEM läuft auf einem Dockstar mit Debian.

Hab mit apt-get install libxml-simple-perl das Modul nachinstalliert, aber immer noch Fehler:
Cannot load module ENIGMA2
und im LOG:

2013.09.18 16:18:03 1: reload: Error:Modul 30_ENIGMA2 deactivated:
 Type of arg 1 to keys must be hash (not private array) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 198, near "@a) "

2013.09.18 16:18:03 0: Type of arg 1 to keys must be hash (not private array) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 198, near "@a) "


?
lg

Dieter

The truth is out there!

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3656
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #12 am: 19 September 2013, 08:54:20 »
Zitat von: punker schrieb am Mi, 18 September 2013 16:24

2013.09.18 16:18:03 1: reload: Error:Modul 30_ENIGMA2 deactivated:
 Type of arg 1 to keys must be hash (not private array) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 198, near "@a) "


Kannst du mal versuchen in Zeile 198 das @a gegen ein $a auszutauschen?
Deine Perl Version scheint etwas älter zu sein. Ich habe Version 5.14 und da gibt es keine Probleme.


Gruß
Julian
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

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4195
  • jetzt DBLog befreit
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #13 am: 19 September 2013, 09:31:44 »
Hallo Loredo. Habe versucht das Modul mit einer DM7020hd zu testen aber leider passiert nach dem Start gar nichts. fhem ist:Fhem 5.4 DEVELOPMENT $Id: fhem.pl 3872 2013-09-07 11:58:33Z  und läuft unter Freetz auf einer Fritz 7390.

Viele Grüße Frank
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink

Offline punker

  • Full Member
  • ***
  • Beiträge: 463
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #14 am: 19 September 2013, 09:51:32 »
@Loredo

fast dasselbe Ergebnis:

2013.09.19 09:44:44 0: Type of arg 1 to keys must be hash (not scalar dereference) at /usr/share/fhem/FHEM/30_ENIGMA2.pm line 198, near "$a) "

wie kann ich die perl-version updaten?
lg

Dieter

The truth is out there!