(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm

Begonnen von hapege, 30 Januar 2022, 20:58:50

Vorheriges Thema - Nächstes Thema

laserrichi

#30
im prinzip ist es nur ein telnet port auf dem ich mich mit putty auch verbinden kann und kann dann die Befehle direkt so absetzen.
Seriell im linux hab ich es nicht eingehängt, hab mal das modbus vom stefan strobel angeschaut wie der das so macht, aber habs bis jetzt noch nicht genau rausgefunden wie er das macht.

Edit:  https://wiki.fhem.de/wiki/DevIo   damit sollte es wohl gehen...  seh schon .. wird was zeitintensiveres...
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

hapege

Hm,
so langsam wird ein wenig klarer was Du machst.
Eine Telnet Verbindung zum espeasy, und dann Terminalkommandos, richtig?
Das ist halt was ganz anderes als das Modul tut...
Das Modul nutzt DevIo zum Aufbau der Verbindung zum Beamer. Kannst Du natürlich auch für die Verbindung zum espeasy benutzen, und dann über DevIo_SimpleWrite die Kommandos schicken. Evtl kannst Du die Antworten vom Beamer dann per DevIo_SimpleRead empfangen. Ist halt ein anderer Anwendungsfall, und ein anderes Modul...
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

kino.80

Hallo zusammen,
Erstmal vielen Dank für das bereitgestellte Modul. Ist super. Ich selber habe den Epson Beamer 9400 und habe das Problem, dass ich ihn nicht über das Modul einschalten kann??? Ausschalten wenn er an ist funktioniert wunderbar aber einschalten, leider nein. Wenn ich den Befehl für das einschalten abgebe, steht bei GetAll "init failed", bei PWR "offline" und bei state "disconnected".
Einer eine Idee was ich verkehrt mache!!!!!

Gruß

hapege

Hi,
bei "init failed" antwortet der Beamer nicht oder nicht korrekt auf die Init-Sequenz (die er lt. Epson Doku braucht).
Evtl. hast Du den Beamer so konfiguriert, dass (W)Lan im Standby aus ist - das kann man normalerweise im Beamer Menu auf so was wie "Standby (LAN)" einstellen. Nur dann hört er im Standby auch auf Befehel via LAN.
Wenn das nicht die Ursache ist: Kannst Du mal verbose auf 5 stellen und die log Ausgaben posten?
Wenn er an ist, dann funktioniert aber alles (z.B. Lmapenstunden, GetAll etc...)?

Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

kino.80

#34
Hi, ja wenn er an ist dann geht alles  dank Scotty ;).

Das gleiche hab ich mir auch schon gedacht. Nur irgendwie bin ich zu blöd das LAN-Standby einzustellen. Ich hab schon alles im Menü durchgeschaut und auch die Anleitung zu Rate gezogen. Hab alles eingestellt aber irgendwie will es nicht. >:(

Jetzt hab es gefunden. Wie war das noch , irren ist männlich. Klappt jetzt wunderbar. Danke

hapege

"Klappt" klingt gut :-)

Ich habe den TW9400 als Modell hinzugefügt, sollte im nächsten Update mitkommen.

LG,

Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

immerdasgleiche

Erstmal riesen Dank für das Modul!

Ich nutze es mit meinem TW9400 Beamer. Dieses Modell unterstützt auch die IRIS und LIRIS Kommandos. Im Scotty Modus sieht man, dass diese schon implementiert wurden. Aktuell habe ich sie nachträglich via AdditionalSettings eingefügt. Könnte man vielleicht im nächsten Update freischalten für das Template.

Eine frische Version der Excel Tabelle an ESCVP21 Kommandos ist im Datei Anhang zu finden. Diese enthält auch die neuen Laser Projektoren LS12000/LS11000.

Ich kann aber auch in dieser nicht das Kommando für "Bildverarbeitung" ("Image Processing"): Fein / Schnell (Fine / Fast) finden.
Diese Einstellung braucht man, um das Input Lag fürs Spielen zu senken.
Screenshots der Einstellung in der App und im Beamer Menu sind auch im Anhang zu finden.

Hab schon überlegt den Netzwerkverkehr der App abzufangen oder sie zu reversen. Das muss doch einfacher gehen?

Mein aktueller Workaround ist es die User Taste unten links auf der Fernbedienung auf diese Einstellung zu legen und sie via "KEY 84" remote auszulösen. Leider kann man so nicht den Status der Einstellung auslesen :( Ideen?

hapege

#37
Hi,

freut mich dass Dir das Modul hilft!
Danke für die aktualisierte Kommando-Datei. IRIS und LIRIS schaue ich mir an, finde ich aber in den Kommandos des TW9400 erst mal nicht. Wie sehen denn Deine AdditionalSettings dazu aus?

Aber wenn Einstellungen zur Bildverarbeitung nicht via VP21 implementiert sind, dann wird das schwierig übers Modul...Tauchen die Settings evtl. in den Kommandos anderer Projektoren auf? Dann köntne man probieren ob der TW9400 undokumentiert damit zurecht kommt.
Ganz wild könntest Du natürlich das IR Kommando der FB abfangen und es dann über eine Tasmota WLAN/IR Bridge nach Belieben auszusenden - ich habe so mal einen Receiver angesteuert. Auslesen geht damit halt leider auch nicht... 
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

immerdasgleiche

#38
Hallo,

ich habe sehr gute Nachrichten: Bin gerade mit dem Google Android Emulator und Wireshark den Geheimnissen der Epson iProjection App auf die Schliche gekommen.

Der Parameter für Bildverarbeitung bzw. Image Processing heißt einfach ,,IMGPROC" mit dem Wert ,,01" für Fine und ,,02" für Fast.

Nebenbei habe ich auch endlich den URL Pfad der Webseite auf dem Beamer gefunden, welche in der App angezeigt wird:
http://ip_des_beamers_hier_hin/mobile/index.html?EPSON=Projector
Benutzername: EPSONMOBILE
Passwort frei lassen.

Damit kann man nun auch ohne App den Beamer aus jedem beliebigen Browser vollumfänglich steuern und ggf. auch andere undokumentierte ESCVP21net Kommandos ausfindig machen via Netzwerkanalysetools des Browsers.

Anbei ein paar Screenshots von Wireshark und der laufenden App-Webseite in Firefox.

ZitatIRIS und LIRIS schaue ich mir an, finde ich aber in den Kommandos des TW9400 erst mal nicht. Wie sehen denn Deine AdditionalSettings dazu aus?

Die Befehle fehlen tatsächlich auch in der Excel Tabelle... Da kann man sich nur an den Kopf fassen. Dachte die dort gesehen zu haben.
Bevor ich die Tabelle mehr oder weniger zufällig in Google gefunden hatte, habe ich mir den LUA Code der Control4 Implementierung angesehen:
http://drivers.control4.com/projector_EPSON_TW9400_PC6050UB.c4i
Alle anderen Epson Beamer findet man hier:
https://drivers.control4.com/solr/drivers/browse?&fq=certified%3A%22true%22&fq=manufacturer%3A%22Epson%22&fq=controlMethod%3A%22ip%22&q=&start=0

Den Code einfach nach IRIS und LIRIS durchsuchen, dann findet man die entsprechenden Stellen incl. Wertebereiche etc. pp.
Bestimmt auch eine gute Quelle für undokumentierte Kommandos anderer Beamer.

Meine finale AdditionalSettings Einstellung sieht nun so aus:
IRIS:get,00,01,02 LIRIS:get,0,128,255 IMGPROC:get,01,02
Dabei sei gesagt, dass LIRIS Werte von 0-255 annimmt (siehe Control4 Code). 0 = geschlossen, 255 = offen. In der App gehen die Werte von -20 bis 0. Intern mappt der Beamer anscheinend alles auf diese 20 Schritte. 255 wird effektiv zu 243, 128 wird 121, 0 bleibt 0.
Für FHEM würde ich einen Schieberegler von 0 – 255 vorschlagen.
Es wäre auch cool, wenn man für die AdditionalSettings Alias Namen für die möglichen Werte angeben könnte. Z.B. IMGPROC:get,01=Fine,02=Fast o.Ä.

Cheers!

Edit:
Gerade noch eine Email an Control4 geschickt mit den neuen Erkenntnissen. Hoffentlich können deren Kunden bald auch davon profitieren.

hapege

#39
Hi,
Sehr interessant, vielen Dank fürs Tracen!
IMGPROC kann ich problemlos einbauen. Die LIRIS Wertbehandlung ist offenbar ähnlich wie bei VOL, da sind es 12er Schritte. Mal sehen, das müsste sich machen lassen.
Die Namensgebung bei den AdditionalSettings erfordert ein bisschen Auswerterei, aber keine schlechte Idee!
Ich bin gerade etwas eingespannt, aber ich nehme das gerne ins Backlog ;)

Update: TW9400 und TW5650 können jetzt IMGPROC (mit fine und fast) und IRIS. TW9400 kann LIRIS (mit 0, 128, 255 - wird später noch erweitert). scotty kann natürlich alles ;)
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

immerdasgleiche

#40
Sehr cool, danke hapege!

Ich habe noch einen Vorschlag für das FHEM Modul:

On/Off Buttons auf der Übersichtsseite eines Raumes. So wie man es von Lampen und anderen Dingen kennt. Siehe "FritzBoxSteckdose" auf dem Bild im Anhang. Glaube das klickbare Lampen Icon wird dann auch automatisch freigeschaltet.

Ich vermute damit würde man auch in Modulen wie "gassistant" das Ein- und Ausschalten ermöglichen. Ich habe meinen Beamer im GoogleAssistant Raum hinterlegt, aber in der Google Home Assistant App taucht er nicht auf. Normalerweise werden die Geräte in dem Raum automatisch bei Google angemeldet durch das gassistant Modul. Würde den Beamer gerne via ,,Hey Google, starte den Beamer" o.Ä starten können.

Ein Beamer Icon wäre auch cool. Das am besten Passende ist mmn. aktuell das ,,it_television" icon als "Leinwand".

hapege

Hi,
Die Buttons kannst Du Dir problemlos selbst konfigurieren, sieht bei mir aus wie beigefügt - dachtest Du an sowas?
Wie ich ein icon vorgeben kann weiß ich noch nicht, da bräuchte ich mal einen Tipp. Mit Google Home Assistant habe ich noch nicht gearbeitet, bei mir unterstützt Alexa, und schaltet über ein dummy device die ganze Multimedia Orgie an (Beamer an, FireTV an, Leinwand runter, AVR auf den richtigen Kanal, Licht auf Kino etc...)
Aber ich kann mir gassistant bei Gelegenheit mal ansehen ;)

Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Frini

#42
Hallo,
ich hab seit heute einen Epson LS12000 und bin über dieses schöne Modul gestolpert.
Ich versuche irgendwie die LensMemory Positionen anzusprechen. Habe jetzt Testweise das Gerät als TW9400. Das klappt soweit. Die aktuelle LensMemoryposition zeigt er auch an.

Habt ihr tips für mich, wie ich das am sinnvollsten umsetzen kann?

Ich muss mich korrigieren. Das LensMemory Reading wurde durch meine alte Steuerung gesetzt.

Ich antworte mir mal selber :-)
Ich kann mit folgendem Attribut
attr med_ug_kn_Beamer AdditionalSettings POPLP:[get|noArg],01,02,03

die gespeicherten LensMemory Positionen anfahren. Leider bekomme ich unter get nicht die gespeicherte Position zurückgemeldet bzw. das Reading POPLP bleibt leer

hapege

#43
Hi,

POPLP hat laut Epson Doku kein "get", sprich ein "POPLP ?" gibt es nicht. Kann man wohl nur setzen, und soweit ich das verstehe nur auf vorher gespeicherte  Positionen ("PUSHLP").
Via "LENS" / "HLENS" kann man die vertikale / horizontale Position auslesen bzw auslesen. Evtl. hilft Dir das?

EDIT: Ich habe den LS12000 als eigenen Typ ergänzt, er kann zusätzlich POPLP, LENS, HLENS. Kommt im nächsten update (i.e. morgen) mit (zeigt dann als version v1.01.19)
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Frini

Super Danke.
Ich hab gerade mal versucht mit PUSHLP die Informationen zu bekommen. Habs aber nicht geschafft.

Ich werd das mal ausgiebig die Woche testen und versuchen zu verstehen :-)