FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: hapege am 30 Januar 2022, 20:58:50

Titel: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 30 Januar 2022, 20:58:50
Hallo fhem'ler mit einem Espon Beamer,

ich habe ein Modul geschrieben, um Epson Seiko Beamer über (W)Lan anzusteuern: 70_ESCVP21net.pm
Genutzt wird das command-set ESC/VP21, das wohl alle Epson Projektoren beherrschen, über VP.net (sprich TCP socket).
(Das hier (https://forum.fhem.de/index.php/topic,13097.0.html) vorgestellte Epson Modul kann kein LAN und wird offenbar nicht mehr gepflegt)

Ein bisschen Erklärung:

Das Modul "ESCVP21net":

Definition des Devices via

define <Name> ESCVP21net <ip> <port> [<model>]


Port ist normalerweise 3629. Ohne Angabe von <model> wird "default" genommen. Ich empfehle zum Testen "TW5650", oder "Scotty" ;) - quasi ein "gib-mir-alles", wie man das von Scotty eben gewohnt ist.

Da fehlt sicher noch einiges, bin aufs Feedback gespannt.
Ich committe das auch mal in den Trunk.

Feedback, Kommentare, Hilfen wie es besser oder sauberer geht jederzeit gerne - wie gesagt, ich bin kein Experte...

CU,

Hermann
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: laserrichi am 31 Januar 2022, 18:09:19
Super, ich schau es mir an wenn ich meinen MAX3232 bekommen habe um es dann mit ESPEasy anzubinden.
Berichte dann wenn ich es getestet habe.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 01 Februar 2022, 16:05:54
Hi,
was genau hast Du vor? RS232/TTL-Adapter am Beamer, nodeMCU dran, darauf ESPEasy um ins WLAN zu kommen, ansprechen via MQTT?
Stellt denn ESPeasy einen socket für VP.net zur Verfügung und beantwortet die init Sequenz von VP.net?
Du nutzt doch am RS232 "nur" VP21, nicht VP.net - oder verstehe ich Dich falsch?

Das Modul verbindet direkt mit dem Server im Epson Beamer per LAN, nicht per RS232. Die commands sind dieselben, aber RS232 ist halt kein TCP/VP.net...
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hopsi am 01 Februar 2022, 20:08:20
prima, das scheint schneller auf's Aufwachen zu reagieren als die alte Lösung. Ich teste mal ein wenig rum.

Nutze einen EH-TW7400W mit zusätzlichem WLAN-Modul. Eingerichtet als Modell 'Scotty' liefert ein GetAll zumindest schon eine Handvoll Resultate:

2022-02-01 19:56:06 ESCVP21net Epson CONNECTED
2022-02-01 19:56:36 ESCVP21net Epson GetAll
2022-02-01 19:56:36 ESCVP21net Epson LAMP: 55
2022-02-01 19:56:36 ESCVP21net Epson PWR: Standby (Net on)
2022-02-01 19:56:36 ESCVP21net Epson GetAll: LAMP,PWR
2022-02-01 19:56:41 ESCVP21net Epson GetAll undefined


Lamp ist natürlich ganz interessant, sind das die Betriebsstunden? Ansonsten interessiert mich eigentlich nur, ob das Teil angeschaltet wird, damit ich die Leinwand runterfahre.
Was da 'undefined' ist, weiß ich nicht.

Im log habe ich einige Meldungen dieser Art:
2022.02.01 19:54:01 1: PERL WARNING: Use of uninitialized value $rv in concatenation (.) or string at ./FHEM/70_ESCVP21net.pm line 857.
2022.02.01 19:54:01 3: eval: {ESCVP21net_setValueDone('Epson|PWR|ERROR!')}
2022.02.01 19:54:06 3: [Epson]: DevIo_Open has FD but no NEXT_OPEN, next timer set


Danke jedenfalls dafür,
Christian
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 01 Februar 2022, 22:24:42
Hi,

der TW7400 sollte (im hochgefahrenen Zustand) realitv umfangreiches Feedback geben. Dein Output kommt im Standby ("Standby (Net on)"), da liefert er  nur PWR und LAMP (Ja, LAMP sind die Betriebsstunden). Wenn er läuft, sollte auch ASPECT, SOURCE etc ein Ergebnis liefern.
Das "undefined" ist unkritisch, kommt vom "GetAll" selbst, muss mal sehen wie ich das abfangen kann.
Danke für die Perl Warning - der Beamer hat auf PWR als Antwort "ERROR" geschickt, das hab ich zwar abgefangen aber wohl eine Variable übersehen. Unkritisch, wird gleich gefixed :-)
Die DevIo_open Meldung ist nur zur info und besagt, dass der Beamer erreichbar ist, und der "next timer" für den connection check gesetzt wurde. Schiebe ich in den LogLevel 5.
Was sagt Dein TW7400 denn bei GetAll im Betriebszustand?

Hermann
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hopsi am 01 Februar 2022, 22:36:09
2022-02-01 22:33:10 ESCVP21net Epson CONNECTED
2022-02-01 22:33:19 ESCVP21net Epson GetAll
2022-02-01 22:33:19 ESCVP21net Epson ASPECT: Normal
2022-02-01 22:33:19 ESCVP21net Epson ILLUM: on
2022-02-01 22:33:19 ESCVP21net Epson MUTE: OFF
2022-02-01 22:33:19 ESCVP21net Epson LAMP: 57
2022-02-01 22:33:19 ESCVP21net Epson SOURCE: WirelessHD
2022-02-01 22:33:19 ESCVP21net Epson GetAll: ASPECT,ILLUM,PWR,MUTE,LAMP,SOURCE


Hm. Habe ich wohl schon wieder 2 Stunden Ferngesehen...

event-on-change-reading habe ich auf .* gesetzt. Bekomme ich die Statusmeldung 'ESCVP21net Epson CONNECTED' im Minutentakt noch zum Schweigen?

Hier noch eine Perl-Warnung:
PERL WARNING: Use of uninitialized value $attr_value in concatenation (.) or string at ./FHEM/70_ESCVP21net.pm line 391.

Christian
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 01 Februar 2022, 23:03:53
Sieht doch gut aus - faszinierend ;-)
Die connected Meldung habe ich in den loglevel 5 verschoben und die erste warning gefixed, aktualisierte version ist im Trunk, sollte also morgen per update verfügbar sein.
Die zweite Warning sieht danach aus, als hättest Du ein attribut gesetzt ohne Wert, kann das sein?
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hopsi am 01 Februar 2022, 23:24:28
Das kann durchaus sein, dass ich da was ohne Wert gesetzt habe, das log habe ich erst im Anschluss überprüft. Konnte ich jetzt auch nicht reproduzieren.
Evtl. kann auch '[Epson]: Socket opened to 10.75.157.212 on port 3629' noch in level 5. Das erscheint im Intervall von statusCheckInterval im log.

Christian
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: betateilchen am 02 Februar 2022, 00:31:03
@hapege: achte bitte bei Deinen svn-commits darauf, nur die Dateien einzuchecken, die Dir auch wirklich gehören. Die fhem.cfg gehört da definitiv nicht dazu. Danke.

Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hopsi am 02 Februar 2022, 07:33:31
Zitat von: hopsi am 01 Februar 2022, 23:24:28
Evtl. kann auch '[Epson]: Socket opened to 10.75.157.212 on port 3629' noch in level 5. Das erscheint im Intervall von statusCheckInterval im log.

Christian

Ich mach mal die Ingrid. Nachtrag: muss die Verbindung wirklich immer neu aufgebaut werden? Oder kann die einfach offen bleiben, bis sie zusammenbricht?
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 02 Februar 2022, 08:58:18
@betateilchen: Oh, SORRY!
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 02 Februar 2022, 11:50:00
Hi,

So, hab das auch endlich mal eingerichtet auf dem Testsystem. kurzes Feedback bis jetzt:
- warum machst den IP port nicht auch optional im Define? ohne Angabe wird 3629 genommen.
- trotz gesetztem Stateformat Attribut wird STATE immer wieder mit "opened" vom Reading state überschrieben.
- ein "set PWR toggle" wäre evtl hilfreich. :-)
- funktional super! das eine Gerät ersetzt mir bald 3 Geräte der alten Variante über pjlink. :-)

Danke!
Grüße
Frank
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 02 Februar 2022, 12:58:38
Hi,

danke fürs Feedback :)
- port als default setzen ist natürlich eine gute Idee, baue ich ein
- überschreiben des state: Ja, da funkt Dev_Io dazwischen, da muss ich mir noch was einfallen lassen... --> {devioNoSTATE} ist vermutlich die Lösung, baue ich ein.
- die statusCheck Meldung kommt auch in den loglevel5
- freut mich wenns Euch gefällt und nützt :)

Und mit Grüßen an Ingrid: Wenn der Port offen bleibt, können andere apps (Epson tool etc) evtl. nicht auf den Beamer zugreifen. Auf - lesen - zu - dann erst mal Ruhe scheint mir der ressourcenschonendere und kooperative Ansatz zu sein. Ich hatte aber anfangs tatsächlich ein "stayconnected" flag mit drin, um den socket offen zu halten, verworfen wegen siehe oben.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: laserrichi am 02 Februar 2022, 19:04:48
Zitat von: hapege am 01 Februar 2022, 16:05:54
Hi,
was genau hast Du vor? RS232/TTL-Adapter am Beamer, nodeMCU dran, darauf ESPEasy um ins WLAN zu kommen, ansprechen via MQTT?
Stellt denn ESPeasy einen socket für VP.net zur Verfügung und beantwortet die init Sequenz von VP.net?
Du nutzt doch am RS232 "nur" VP21, nicht VP.net - oder verstehe ich Dich falsch?

Das Modul verbindet direkt mit dem Server im Epson Beamer per LAN, nicht per RS232. Die commands sind dieselben, aber RS232 ist halt kein TCP/VP.net...

Ja ich will quasi das serielle über IP dann in den Raspi führen. Im Beamer hab ich ja kein LAN Interface.
ESPEasy ist einfach nur serial Server und reicht das einfach nur durch.
Mit modbus usw. mach ich das ja genauso.

im prinzip müsste man nur die init sequenz dann weglassen...
vp.net ist übrigens eine Cloud....   
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 02 Februar 2022, 21:14:50
@laserrichi: VP.net ist das Protokoll, mit dem die Epson Projektoren angesprochen werden - hat mit Cloud zum Glück gar nichts zu tun :-)
https://support.atlona.com/hc/article_attachments/360074216753/ESC_VP.net_Software_Development_Manual_-_Seiko_Epson.pdf (https://support.atlona.com/hc/article_attachments/360074216753/ESC_VP.net_Software_Development_Manual_-_Seiko_Epson.pdf)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 02 Februar 2022, 22:44:44
Update im trunk:
- port 3629 als default ("define <name> ESCVP21net <IP-address>" genügt nun)
- state wird nicht mehr überschrieben
- statusCheck Meldung in loglevel5 geschoben
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 03 Februar 2022, 09:16:56
schaut sehr gut aus!
Wenn Du jetzt noch ein "PWR toggle" einbaust ist es für mich perfekt. :-)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 03 Februar 2022, 21:30:15
@Frank_Huber: Nicht ganz trivial - erst muss der aktuelle Status gelesen werden, dann will Epson eine Pause von 4 s, dann kann der Status gesetzt werden. Vorher auslesen muss sein, da z.B. der User ja den Beamer zwischenzeitlich manuell umgeschaltet haben könnte. Der Beamer pushed das nicht, er will gefragt werden.
Die Wartezeit ist nicht wirklich nutzerfreundlich - aber ich probiere mal ein bisschen rum.

Was ist denn Dein Use Case für toggle, warum nicht einfach den Status schalten den Du haben willst? Wenn der schon "an" ist, macht ein weiteres "an" ja nix kaputt...
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 04 Februar 2022, 11:49:00
Zitat von: hapege am 03 Februar 2022, 21:30:15
Was ist denn Dein Use Case für toggle, warum nicht einfach den Status schalten den Du haben willst? Wenn der schon "an" ist, macht ein weiteres "an" ja nix kaputt...
Mahlzeit.
Use Case ist ganz einfach eine "Taste" zu haben zum Beamer schalten. ist er an schalte ich ihn damit aus, ist er aus schalte ich ihn an.
ist er im Warm Up oder Cool Down wird der Tastendruck ignoriert.
Der Zustand wird vom Modul ja jetzt schon zyklisch abgefragt. der Toggle könnte diesen einfach heranziehen ohne nochmals abzufragen.

aktuell habe ich dafür einen Dummy als Taster, ein DOIF zum schalten und den Beamer selbst der geschalten wird.
mit Toggle könnte der Dummy und das DOIF weg. Produktiv habe ich noch die alte Variante laufen, dein Modul ist auf dem Test System.

defmod Beamer_OnOff DOIF ([GPIO_IN_dummy5:"^on$"] and [Beamer:PowerState] eq "off") {system "pjlink -p 192.168.12.95 power on &";;;;return undef}\
DOELSEIF ([GPIO_IN_dummy5:"^on$"] and [Beamer:PowerState] eq "on") {system "pjlink -p 192.168.12.95 power off &";;;;return undef}
attr Beamer_OnOff cmdState on|off
attr Beamer_OnOff do always
attr Beamer_OnOff webCmd on:off


defmod Beamer CustomReadings
attr Beamer event-on-change-reading .*
attr Beamer interval 15
attr Beamer readingDefinitions PowerState:qx(pjlink -p 192.168.12.95 power)
attr Beamer stateFormat PowerState


defmod GPIO_IN_dummy5 dummy
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 04 Februar 2022, 21:58:38
OK,
verstanden, da macht ein toggle Sinn.
Die Statusabfrage vorher ist erforderlich, weil ja zwischenzeitlich eine andere App oder der User per FB den Beamer ein/ausgeschaltet haben könnte, oder der Beamer nach timeout runtergefahren ist, oder der StatusCheck disabled ist. Da der Beamer nicht pushed ist der Status in fhem nicht verlässlich. Mit einem get vorher schon.
OK, ich bin dran, ILLUM und MUTE kann ich schon toggeln ;) 
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 04 Februar 2022, 22:02:27
Naja, selbst wenn der Status nicht ganz aktuell ist, was würde passieren?
Ein off Kommando im off Zustand oder on wenn schon on ist.
Wäre beides kein Problem. 😉
Aber ich lasse das in deinen Händen. 👍🏻
Danke!
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 04 Februar 2022, 22:35:17
Naja,
wenn Beamer "off", aber in fehm noch als "on" angezeigt --> taster schaltet "off". User erwartet aber, dass er an geht ... Also nicht das, was Du willst, zweimal drücken halbiert den WAF ;)
Anyway, geht offenbar auch ohne 4s Pause - toggle-Version anbei, magst Du mal testen?
Toggeln kann man MUTE, ILLUM, BTAUDIO, und ... PWR :)
Wenns klappt (bei mir gehts) commite ich die Version.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 05 Februar 2022, 12:19:20
Zitat von: hapege am 04 Februar 2022, 22:35:17
Naja,
wenn Beamer "off", aber in fehm noch als "on" angezeigt --> taster schaltet "off". User erwartet aber, dass er an geht ... Also nicht das, was Du willst, zweimal drücken halbiert den WAF ;)
Anyway, geht offenbar auch ohne 4s Pause - toggle-Version anbei, magst Du mal testen?
Nunja, im Regelfall sollte der refresh passiert sein bevor warmup oder cooldown rum sind.
Aber klar, mit direkter Abfrage vor dem Befehl ist es sauberer. 😉

Neue Version eingespielt und getestet, läuft perfekt. Danke!
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 05 Februar 2022, 22:48:41
Danke fürs feedback :)
Neue Version ist im Trunk, mit toggle und erweiterten Scotty-Readings.

# version history
#    1.01.04  small bug fix, DevIo log messages moved to loglevel 5
#    1.01.05  socket log messages moved to loglevel 5
#                prevent DevIO from overwriting STATE ($hash->{devioNoSTATE} = 1)
#                set port 3629 as default
#    1.01.06  added toggle, added TW7400, extended Scotty capabililties
#    1.01.07  multiple checkStatusCmds, added GetStatus to set list
#                 set PWR to statusOfflineMsg if init fails
#                 force PWR check after CONNECTED from Dev_Io, some clean-up
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frank_Huber am 08 Februar 2022, 17:12:25
komisches Verhalten heute.
Habe mir ein Userreading "status" angelegt um für meine Handy App (NetIO) ein Symbol zu bekommen. lamp_on, lamp_off und pause.
Nachdem das Userreading angelegt war habe ich den Beamer getoggelt.
Bei dem Toogle ging er dann auf PWR offline und nichts ging mehr im Modul. Der Beamer war an und auch über Browser erreichbar.
Beamer Kaltstart half auch nicht.
Dann das Kuriose: Das Beamer Gerät gelöscht. Beim Löschen ist FHEM abgeschmiert. Nach dem Neustart ist erstmal alles wieder OK.
Werde nachher unten nochmal nen Toogle versuchen mit höherem Verbose, aber war schon eigenartig...

List im Fehlerzustand:
defmod Epson_EB2250U ESCVP21net 192.168.12.95 EB2250U
attr Epson_EB2250U DbLogExclude .*
attr Epson_EB2250U event-on-change-reading .*
attr Epson_EB2250U group Beamer
attr Epson_EB2250U room _Kino/Werkstatt
attr Epson_EB2250U stateFormat PWR # Lampenstunden: LAMP
attr Epson_EB2250U statusCheckInterval 15
attr Epson_EB2250U userReadings status:PWR.* {if(ReadingsVal($NAME,"PWR","") eq "Standby (Net on)") {return "lamp_off"}\
elsif (ReadingsVal($NAME,"PWR","") eq "tilted") {return "lamp_on"} \ ## noch anpassen an "Beamer an"
else {return "pause"}}
attr Epson_EB2250U verbose 0


Hier das Verbose 5 Log, das am Ende wiederholt sich dann bis zum FHEM Neustart. nach dem Neustart ist de Status wieder korrekt.
Hab das Modul jetzt erstmal wieder ins Testsystem umgezogen.

2022.02.08 17:42:50.821 5: [Epson_EB2250U]: Set: ESCVP21net_setValue called with Epson_EB2250U|GetStatus|get
2022.02.08 17:42:50.824 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:42:50.879 5: [Epson_EB2250U]: Socket opened to 192.168.12.95 on port 3629
2022.02.08 17:42:50.887 5: [Epson_EB2250U]: initializate gave correct answer ESC/VP.net
2022.02.08 17:42:50.888 5: [Epson_EB2250U]: initializate gave answer ESC/VP.net, expected ESC/VP.net
2022.02.08 17:42:50.888 5: [Epson_EB2250U]: setValue: Init sequence gave init_ok
2022.02.08 17:42:50.889 5: [Epson_EB2250U]: collectStatusCmds: collected statusChk cmds: PWR
2022.02.08 17:42:50.896 3: [Epson_EB2250U]: result of PWR is Standby (Net on)
2022.02.08 17:42:50.896 5: [Epson_EB2250U]: resultstring is Epson_EB2250U|PWR|Standby (Net on)
2022.02.08 17:42:50.907 5: [Epson_EB2250U]: setValueDone says: result is: Standby (Net on), resultarray: Epson_EB2250U|PWR|Standby (Net on)
2022.02.08 17:42:50.908 5: [Epson_EB2250U]: setValueDone: resultarray loop: Epson_EB2250U|PWR|Standby (Net on)
2022.02.08 17:42:50.908 5: [Epson_EB2250U]: setValueDone: resultarray loop: PWR set to PWR: Standby (Net on)
2022.02.08 17:42:52.530 5: [Epson_EB2250U]: Set: ESCVP21net_setValue called with Epson_EB2250U|PWR|toggle
2022.02.08 17:42:52.538 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is PWR toggle
2022.02.08 17:42:52.579 5: [Epson_EB2250U]: Socket opened to 192.168.12.95 on port 3629
2022.02.08 17:42:52.587 5: [Epson_EB2250U]: initializate gave correct answer ESC/VP.net
2022.02.08 17:42:52.587 5: [Epson_EB2250U]: initializate gave answer ESC/VP.net, expected ESC/VP.net
2022.02.08 17:42:52.587 5: [Epson_EB2250U]: setValue: Init sequence gave init_ok
2022.02.08 17:42:52.587 5: [Epson_EB2250U]: setValue: sending raw data: PWR?
2022.02.08 17:42:52.591 5: [Epson_EB2250U]: setValue: received raw data: PWR=04 :
2022.02.08 17:42:52.591 5: [Epson_EB2250U] setValue: call Set for toggle PWR with on
2022.02.08 17:42:52.593 3: [Epson_EB2250U]: result of PWR is Standby (Net on)
2022.02.08 17:42:52.594 5: [Epson_EB2250U]: setValue: sending raw data: PWR ON
2022.02.08 17:42:52.597 5: [Epson_EB2250U]: setValue: received raw data: :
2022.02.08 17:42:58.985 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/70_ESCVP21net.pm line 1178.
2022.02.08 17:42:58.985 1: PERL WARNING: Use of uninitialized value $result in concatenation (.) or string at ./FHEM/70_ESCVP21net.pm line 1183.
2022.02.08 17:42:58.986 1: PERL WARNING: Use of uninitialized value $result in concatenation (.) or string at ./FHEM/70_ESCVP21net.pm line 1084.
2022.02.08 17:42:58.990 5: [Epson_EB2250U]: setValueDone says: result is: , resultarray: Epson_EB2250U|PWR|
2022.02.08 17:42:58.991 5: [Epson_EB2250U]: setValueDone: resultarray loop: Epson_EB2250U|PWR|
2022.02.08 17:42:58.991 5: [Epson_EB2250U]: setValueDone: resultarray loop: PWR set to PWR:
2022.02.08 17:42:58.992 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is PWR:  status: pause
2022.02.08 17:43:05.836 5: [Epson_EB2250U]: Set: ESCVP21net_setValue called with Epson_EB2250U|GetStatus|get
2022.02.08 17:43:05.838 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:43:05.871 5: [Epson_EB2250U]: Socket opened to 192.168.12.95 on port 3629
2022.02.08 17:43:05.877 5: [Epson_EB2250U]: initializate gave correct answer ESC/VP.net
2022.02.08 17:43:05.877 5: [Epson_EB2250U]: initializate gave answer ESC/VP.net, expected ESC/VP.net
2022.02.08 17:43:05.877 5: [Epson_EB2250U]: setValue: Init sequence gave init_ok
2022.02.08 17:43:05.878 5: [Epson_EB2250U]: collectStatusCmds: collected statusChk cmds: PWR
2022.02.08 17:43:05.880 5: [Epson_EB2250U]: resultstring is
2022.02.08 17:43:07.708 5: HttpUtils url=http://192.168.12.95:3629/ NonBlocking via http
2022.02.08 17:43:07.708 4: IP: 192.168.12.95 -> 192.168.12.95
2022.02.08 17:43:07.709 5: [Epson_EB2250U]: connectionCheck: FD but no NEXT_OPEN, next connection timer set
2022.02.08 17:43:07.710 5: [Epson_EB2250U]: ReInit: DevIo ReInit done
2022.02.08 17:43:07.710 5: 192.168.12.95:3629 reappeared (Epson_EB2250U)
2022.02.08 17:43:07.711 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is CONNECTED
2022.02.08 17:43:07.711 5: [Epson_EB2250U]: Notify: got CONNECTED, check timer
2022.02.08 17:43:07.712 5: [Epson_EB2250U]: Notify: got CONNECTED, connection timer exists, do nothing
2022.02.08 17:43:07.712 5: [Epson_EB2250U]: Notify: got CONNECTED, status timer exists, do nothing
2022.02.08 17:43:07.712 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:07.716 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is PWR: offline
2022.02.08 17:43:17.713 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:43:17.716 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:17.717 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:43:20.842 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:20.847 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:43:27.719 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:43:27.720 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:27.721 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:43:30.849 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:43:30.850 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:30.851 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:43:35.848 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:35.850 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:43:37.722 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:43:37.723 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:37.723 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:43:45.850 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:43:45.851 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:45.852 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:43:47.725 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:43:47.726 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:47.727 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:43:50.852 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:50.853 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:43:57.729 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:43:57.731 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:43:57.732 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:44:00.854 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:44:00.855 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:00.855 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:44:03.415 5: [Epson_EB2250U]: running notify from global for Epson_EB2250U, event is SAVE
2022.02.08 17:44:05.854 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:05.855 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:44:07.710 5: HttpUtils url=http://192.168.12.95:3629/ NonBlocking via http
2022.02.08 17:44:07.710 4: IP: 192.168.12.95 -> 192.168.12.95
2022.02.08 17:44:07.711 5: [Epson_EB2250U]: connectionCheck: FD but no NEXT_OPEN, next connection timer set
2022.02.08 17:44:07.712 5: [Epson_EB2250U]: ReInit: DevIo ReInit done
2022.02.08 17:44:07.713 5: 192.168.12.95:3629 reappeared (Epson_EB2250U)
2022.02.08 17:44:07.713 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is CONNECTED
2022.02.08 17:44:07.713 5: [Epson_EB2250U]: Notify: got CONNECTED, check timer
2022.02.08 17:44:07.713 5: [Epson_EB2250U]: Notify: got CONNECTED, connection timer exists, do nothing
2022.02.08 17:44:07.713 5: [Epson_EB2250U]: Notify: got CONNECTED, status timer exists, do nothing
2022.02.08 17:44:07.714 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:15.857 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:44:15.859 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:15.860 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:44:17.743 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:44:17.745 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:17.745 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:44:20.884 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:20.885 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:44:27.747 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:44:27.749 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:27.750 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:44:30.886 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:44:30.887 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:30.887 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:44:35.970 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:35.970 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:44:37.751 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:44:37.752 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:37.752 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:44:45.971 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:44:45.972 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:45.972 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:44:47.753 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:44:47.754 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:47.754 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:44:50.979 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:50.980 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:44:57.757 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:44:57.764 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:44:57.765 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:45:00.982 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:45:00.984 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:00.985 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:45:05.985 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:05.987 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:45:07.712 5: HttpUtils url=http://192.168.12.95:3629/ NonBlocking via http
2022.02.08 17:45:07.712 4: IP: 192.168.12.95 -> 192.168.12.95
2022.02.08 17:45:07.713 5: [Epson_EB2250U]: connectionCheck: FD but no NEXT_OPEN, next connection timer set
2022.02.08 17:45:07.715 5: [Epson_EB2250U]: ReInit: DevIo ReInit done
2022.02.08 17:45:07.715 5: 192.168.12.95:3629 reappeared (Epson_EB2250U)
2022.02.08 17:45:07.715 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is CONNECTED
2022.02.08 17:45:07.715 5: [Epson_EB2250U]: Notify: got CONNECTED, check timer
2022.02.08 17:45:07.716 5: [Epson_EB2250U]: Notify: got CONNECTED, connection timer exists, do nothing
2022.02.08 17:45:07.716 5: [Epson_EB2250U]: Notify: got CONNECTED, status timer exists, do nothing
2022.02.08 17:45:07.716 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:15.988 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:45:15.989 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:15.989 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:45:17.717 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:45:17.720 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:17.721 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:45:20.988 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:20.988 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:45:27.721 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:45:27.722 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:27.722 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:45:30.989 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:45:30.991 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:30.992 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:45:35.991 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:35.992 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:45:37.723 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:45:37.724 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:37.724 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:45:45.993 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:45:45.995 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:45.996 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:45:47.726 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:45:47.728 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:47.729 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:45:50.994 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:50.995 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:45:57.729 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|PWR|get, hash: HASH(0x67a7710), cmd: PWR, result: get
2022.02.08 17:45:57.730 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:45:57.731 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command PWR get
2022.02.08 17:46:00.996 5: [Epson_EB2250U]: rescheduleSet: got arg: Epson_EB2250U|GetStatus|get, hash: HASH(0x67a7710), cmd: GetStatus, result: get
2022.02.08 17:46:00.999 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:46:00.999 5: [Epson_EB2250U]: rescheduleSet: send rescheduled command GetStatus get
2022.02.08 17:46:05.996 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
2022.02.08 17:46:05.997 5: [Epson_EB2250U]: checkStatus: FD but no NEXT_OPEN, next status timer set
2022.02.08 17:46:07.714 5: HttpUtils url=http://192.168.12.95:3629/ NonBlocking via http
2022.02.08 17:46:07.715 4: IP: 192.168.12.95 -> 192.168.12.95
2022.02.08 17:46:07.715 5: [Epson_EB2250U]: connectionCheck: FD but no NEXT_OPEN, next connection timer set
2022.02.08 17:46:07.717 5: [Epson_EB2250U]: ReInit: DevIo ReInit done
2022.02.08 17:46:07.717 5: 192.168.12.95:3629 reappeared (Epson_EB2250U)
2022.02.08 17:46:07.718 5: [Epson_EB2250U]: running notify from Epson_EB2250U for Epson_EB2250U, event is CONNECTED
2022.02.08 17:46:07.718 5: [Epson_EB2250U]: Notify: got CONNECTED, check timer
2022.02.08 17:46:07.718 5: [Epson_EB2250U]: Notify: got CONNECTED, connection timer exists, do nothing
2022.02.08 17:46:07.718 5: [Epson_EB2250U]: Notify: got CONNECTED, status timer exists, do nothing
2022.02.08 17:46:07.718 3: [Epson_EB2250U] Set: Blocking Call running, reschedule for 10
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 08 Februar 2022, 21:15:13
Hi,
tut mir leid dass Du Probleme mit dem Modul hast!

Welche Version hast Du verwendest, die zu diesem Zeitpunkt aktuelle Version aus dem Trunk?
Was in Deinen logs merkwürdig ist: Dein fhem scheint 6s Pause zu machen:
Zitat
2022.02.08 17:42:52.597 5: [Epson_EB2250U]: setValue: received raw data: :
2022.02.08 17:42:58.985 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/70_ESCVP21net.pm line 1178.
Den "uninitialized value" habe ich in der beigefügten aktualisierten Version abgefangen. Dadurch sollte auch der "Hänger" abgefangen sein - die blockingfn PID wurde wohl nicht gelöscht, deshalb ging kein weiterer Befehl mehr durch.
Probleme beim Löschen konnte ich nicht nachvollziehen, auch nach einigen Dutzend Löschungen in meinem Test- und Produktivsystem. Das Modul tut hier nur das was andere auch tun (basierend auf copy & paste ;) ), also Timer löschen, Dev_Io schließen, die blockingFn löschen. Hm...
Beim PWR on/off toggle braucht der Epson wohl wirklich eine Pause bzw reagiert nicht zuverlässig - der Status unmittelbar nach dem Einschalten ist deshalb u.U. nicht korrekt auslesbar. Ist aber nur ein Schönheitsfehler, funktioniert korrekt.
Bei mir läufts in Test und Produktiv stabil, mit toggle. Dein user reading sollte keinen Einfluss haben...
Probiere doch mal die Version anbei, Änderungen sind nur die genannten checks.

Update: Noch mal ein paar Fehlerfall-Checks eingebaut, in verschiedenen Konfigurationen getestet, im Trunk eingechecked.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: laserrichi am 20 März 2022, 19:02:52
jetzt habe ich meine wlan adapter mit espeasy fertig, und hab jetzt die Serielle im Lan. Der Beamer reagiert auch auf die Befehle.
Nur dein Modul macht ja diese vp  inizialisierung. Wie kriege ich das raus das der nur die Befehle einfach schickt ?
Mit Modbus modul mach ich das ja auch so.

Ich verstehe nicht was zum geier dieses vp.net ist, sind das Beamer bei denen ein wlan schon eingebaut ist? Denn Seriell haben die doch alle.

Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 März 2022, 19:45:56
Hi,

also ganz grundlegend:
- VP.net ist das Protokoll, das der Beamer über (W)LAN "spricht" (die Experten mögen mir verzeihen für das vereinfachte Bild ;) ). Also sowas wie "http" oder "ftp"
- VP21 ist die Sammlung von Befehlen, die der Beamer "versteht"
- diese Befehle kannst Du seriell schicken (über die RS232 Buchse) - das macht wohl Dein espeasy
- oder per (W)LAN - dazu muss die Verbindung erst initialisiert werden!
- Dein espeasy "spricht" dagegen nun mal http, nicht VP.net! (Und ich habe keine Ahnung ob er irgendetwas "antwortet"...)
- Richtung Beamer "spricht" Dein espeasy dann (vermutlich) VP21 - deshalb kann der den Beamer steuern.
- Das Modul will also mit dem Beamer sprechen, aber der espeasy klemmt dazwischen, und da er nicht einfach transparent durchleitet kann das nicht funktionieren.
- das liegt nicht am Modul, sondern daran dass Du den espeasy zwischenschaltests ;) 
Fazit: "einfach die Befehle schicken" kann nicht klappen, weil ja gar nicht klar ist welche Befehle der espeasy überhaupt empfangen will/kann. Das Modul schickt direkt "Beamer-Befehle".

Dein setup ist nun mal ganz anders als wenn man mit dem Beamer direkt spricht.
Du müsstest den espeasy so programmieren, dass er VP.net versteht, und die Befehle durchleitet - oder Du schickst http an den espeasy. Obs da Rückmeldungen gibt weiß ich nicht...

Das Modul ist gebaut für Beamer, die direkt (W)LAN können.

Klarer?

Hermann


Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: laserrichi am 20 März 2022, 20:31:54
espeasy leitet das einfach durch. Mit USR-VCOM z.b. kannst du das direkt wie eine serielle dann im windows z.b. einbinden. Putty drauf und schon sprichst du einfach so.
Das ist einfach serial auf ip und dann gehts wieder auf seriell.
Es gibt auch für Linux diese möglichkeit.
Und dann ist das einfach genauso wie wenn du die Serielle im Betriebsystem als COM bzw. TTY hast.

Und mit modbusmodul gehts wohl mit dev.io einfach.
Da muss nichts initialisiert werden.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 März 2022, 20:55:27
Also,
das LAN Modul im Beamer kommuniziert über einen dedizierten Socket und braucht den init string nachdem der socket offen ist. Genau das macht das modul: socket öfffnen, init schicken, acknowledge auswerten, Befehl schicken, Antwort auswerten, socket schließen. Genauso wie Epson das spezifiziert. modbus braucht es dafür nicht.
Das Modul baut keine ssh Verbindung auf (also kein "putty"), das läuft auf einem anderen port.
Aber wenn Du das als tty einbindest, dann kannst Du doch das serielle Modul nutzen?
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: laserrichi am 20 März 2022, 21:04:53
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...
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 März 2022, 21:33:57
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...
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: kino.80 am 13 April 2022, 23:19:40
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ß
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 14 April 2022, 08:01:08
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
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: kino.80 am 14 April 2022, 16:23:14
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
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 08 Mai 2022, 22:27:08
"Klappt" klingt gut :-)

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

LG,

Hermann
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 06 Juli 2022, 17:03:20
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?
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 10 Juli 2022, 08:47:24
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... 
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 10 Juli 2022, 18:53:31
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.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 10 Juli 2022, 20:00:32
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 ;)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 12 Juli 2022, 02:26:34
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".
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 25 September 2022, 22:17:03
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 ;)

Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 15 Oktober 2022, 22:15:38
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
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 16 Oktober 2022, 13:33:58
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)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 16 Oktober 2022, 18:57:47
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 :-)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 16 Oktober 2022, 19:14:15
Hi,
PUSHLP hat auch kein "PUSHLP ?", ergo kein command um etwas auszulesen. Damit kannst Du Lens Positions in Speicherslots schreiben, die Du dann mit POPLP anfahren kannst. Ich vermute, Epson hat schlicht nicht vorgesehen dass der angefahrene Slot gelesen wird, sondern will dass man LENS / HLENS verwendet. Nur eine Vermutung...

Bin gespannt was Deine Tests ergeben :)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 17 Oktober 2022, 16:43:10
Hallo
Also die gets funktionieren nicht.
Die Speicherbänke für die LensPositionen bringen mich schon weiter.
Ich muss mir mal das Excel sheet anschauen ob da auch die
Speicherbänke für das Bild niedergeschrieben sind.

Ich danke Dir erstmal.
Ich hab das Modul im Bereich des LS12000 mal ergänzt/angepasst:

my %ESCVP21net_LS12000sets = (
  "POPLP"        => ":01,01,03,04,05,06,07,08,09,10",
  "POPMEM"       => ":01,01,03,04,05,06,07,08,09,10",
  "POPLA"        => ":01,01,03"

my %ESCVP21net_LS12000result = (
  "POPLA:01"     => ":Memory01",
  "POPLA:02"     => ":Memory02",
  "POPLA:03"     => ":Memory03",
  "POPMEM:01"    => ":PicMemory01",
  "POPMEM:02"    => ":PicMemory02",
  "POPMEM:03"    => ":PicMemory03",
  "POPMEM:04"    => ":PicMemory04",
  "POPMEM:05"    => ":PicMemory05",
  "POPMEM:06"    => ":PicMemory06",
  "POPMEM:07"    => ":PicMemory07",
  "POPMEM:08"    => ":PicMemory08",
  "POPMEM:09"    => ":PicMemory09",
  "POPMEM:10"    => ":PicMemory10",
  "POPLP:01"     => ":LensMemory01",
  "POPLP:02"     => ":LensMemory02",
  "POPLP:03"     => ":LensMemory03",
  "POPLP:04"     => ":LensMemory04",
  "POPLP:05"     => ":LensMemory05",
  "POPLP:06"     => ":LensMemory06",
  "POPLP:07"     => ":LensMemory07",
  "POPLP:08"     => ":LensMemory08",
  "POPLP:09"     => ":LensMemory09",
  "POPLP:10"     => ":LensMemory10"



Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 17 Oktober 2022, 17:32:50
Hi,

wie gesagt: Die gets können prinzipiell nicht funktionieren, weil Epson das einfach nicht (oder nicht dokumentiert) implementiert hat - es gibt kein command um auszulesen welcher slot gewählt wurde!

Danke für die Ergänzungen; statt "10" muss es lt. Doku aber glaube ich "0A" heißen (kann gerade nicht nachschauen).



Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 18 Oktober 2022, 11:48:29
Ja ändere ich ab. Hatte es für einen Fehler gehalten. Ich teste mich gerade durch auf der Suche nach dem Laserlevel.
Ich editiere einmal:

Mit POPMEM komm ich leider nicht weiter.
In der Excel Tabelle steht:



Call of memory      POPMEM x1 x2 "x1: Memory item  02: Advanced
                                                         x2  Memory No.
   01: Memory 1
          :
   0A: Memory 10"


Wie übergebe ich denn zwei Parameter?
Folgende Kombinationen habe ich bereits probiert:
POPMEM:02:01
POPMEM:0201
POPMEM:02_01
POPMEM:02 01
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 19 Oktober 2022, 09:41:25
Hi,

implementiert ist aktuell nur die Übergabe eines einzelnen Parameters, sorry. Muss ich mir mal anschauen.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 20 Oktober 2022, 14:26:24
Wenn ich da helfen kann, sag bescheid. Ich hab bisher leider noch nicht verstanden, wie das Modul im ganzen aufgebaut ist  ;D
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 Oktober 2022, 22:35:30
Hi,

Danke für das Hilfsangebot - nutze ich doch glatt:
Ich habe die "Doppelparameter" mal eingebaut. Mein 5650 kann kein POPLP / POPLA, kann ich also nicht testen. Aber POPMEM klappt bei mir (ich habe PUSHMEM und ERASEMEM auch dazu gebaut).
Beim LS12000 habe ich die sets noch rausgenommen, die lt. Spezifikation beim LS12000 nicht verfügbar sind - ich hoffe Dir fehlt jetzt nix ;)
Magst Du das mal testen, bevor ich es release? Die Version meldet sich (nach einem restart) mit 1.01.20beta.
Nach einem PUSHxx zeigt das Reading den letzten gesetzten (!) Wert an - wie gesagt, der Beamer lässt ein Auslesen schlicht nicht zu.
Aber solange man nicht außerhalb von fhem settings ändert (und wer will das schon...) sollte das ok sein.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 21 Oktober 2022, 12:10:15
Alles klar ich lade das mal ins System.

Ehrlichweise nutze ich die Push Befehle nicht.
Ich nutze den Speicherabruf um analog der Quelle SDR, HDR, und Bildformat zu schalten.

Ich prüf es heute abend.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 21 Oktober 2022, 17:57:41
Also POPLP und POPMEM sowie PUSHLP und PUSHMEM funktionieren.
POPLA funktioniert nicht, dafür hab ich irgendwie keine Funktion gefunden.

Ich spiele heute abend mit weiteren Befehlen und würde die direkt ins Modul basteln.
GAMMA zum Beispiel.

Der LS12000 hat einen integrierten Temperatursensor. Ich versuche mal, ob ich da was finden kann.

Danke für die Erweiterung. Das ist klasse.
Jetzt kann ich über meine Harmony und FakeRoku passend zur Activity die BildModi wählen.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 21 Oktober 2022, 19:58:27
:)
POPLA ist vermutlich das Panel Alignment. Müsste unter "Display" Speicheroptionen bieten. Du könntest mit PUSHLA mal was in einen Memoryslot pushen und schauen, ob das im Menü angezeigt wird.
Gamma ist unproblematisch und hat auch ein "get", GAMMAVAL wäre mehr tricky...
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 22 Oktober 2022, 00:07:22
beta update:
- etwas umstrukturiert
- kleiner bug beseitigt ;-)
- einige commands erweitert (BRIGHT, CONTRAST, GAMMA, SHARP, DENSITY, TINT)
- die genannten Wert können nun auch gesetzt werden (z.B. GAMMAset)
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 22 Oktober 2022, 15:22:23
Mir ist gar kein Fehler aufgefallen.
Ich check das heute abend nochmal
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 22 Oktober 2022, 17:29:40
War nur ein Fehler in einer Log Meldung :)
Perfekt, dann geht das heute abend in den Trunk.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: Frini am 28 Oktober 2022, 19:47:48
Keine weiteren Fehler beim LS12000 gefunden.
Läuft wie geschmiert.
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 28 Oktober 2022, 22:38:51
Das freut mich :)
Danke fürs Testen!
Titel: Antw:(W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 11 Dezember 2022, 15:29:30
Hallo,

Zitat von: immerdasgleiche am 12 Juli 2022, 02:26:34

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.

bezüglich gassistant: Der Google Assistant benötigt lt. Doku ein "on/off" command, damit die Geräte automatisch erkannt werden.
Habe ich in der aktuellen Version 1.01.22 eingebaut - vielleicht mag das mal jemand mit gassistant testen?
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 07 September 2023, 10:44:41
Zitat von: hapege am 11 Dezember 2022, 15:29:30Hallo,

Zitat von: immerdasgleiche am 12 Juli 2022, 02:26:34Ich 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.

bezüglich gassistant: Der Google Assistant benötigt lt. Doku ein "on/off" command, damit die Geräte automatisch erkannt werden.
Habe ich in der aktuellen Version 1.01.22 eingebaut - vielleicht mag das mal jemand mit gassistant testen?

Funktioniert  :)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 03 Oktober 2023, 23:06:20
Es gibt noch eine Kleinigkeit die man verbessern könnte:
Das STATE Attribut sollte nur zwischen "on" und "off" wechseln. Aktuell wird hier z.B. "Lamp on" angezeigt.
Das bricht leider an mehreren Stellen die automatische Komptabilität von Apps zu erkennen ob das Gerät an oder aus ist.

In Google Home / Assistent wird dadurch der Beamer grundsätzlich als "an" angezeigt, obwohl er im Stand-by-Modus ist.
In der andFHEM App kann der An/Aus Knopf den Beamer nur ausschalten, da auch hier das Gerät grundsätzlich als eingeschaltet erkannt wird.
Im FHEM Webinterface wird kein klickbares Lampenicon auf der Übersichtsseite eines Raumes angezeigt sondern die strings ,,Lamp on" etc.

Ich schlage vor die detaillierten Statusangaben in einem separaten Reading oder Attribut anzuzeigen und STATE nur zwischen "on" und "off" wechseln zu lassen.

Nochmals danke für das Modul! Nutze es ausgiebig im Alltag.

Grüße! :)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 04 Oktober 2023, 08:24:16
Hi,

Danke fürs Feedback 👍
Als State lasse ich schlicht ausgeben, was der Beamer lt Protokoll antwortet - schien mir logisch. Aber OK, soll ja auch übergreifend funktionieren 😉
Ich schau mal, ob ich so was wie ein overwrite Attribut einbaue, oder den Status, wie Du vorschlägst, auslagere.
Braucht aber ein bisschen, bin gerade etwas unter Wasser...
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 08 Oktober 2023, 17:45:14
Hi,

ich habe ein Reading "stateP" eingeführt, welches "on" oder "off" annehmen kann.
Diese Systematik hat einen kleinen Nachteil: Ist der Beamer physisch "on" aber offline oder nicht erreichbar, dann wird stateP auch auf "off" gesetzt - das Modul hat ja keine Chance zu erkennen ob z.B. der Beamer stromlos ist oder das (W)LAN kaputt ist. Deshalb gibt's ein Attribut "statusPOfflineMsg", mit dem man konfiguriert was bei "offline" in statusP steht. Default ist "off".
Wenn man stateFormat nun leer lässt oder auf "statusP" setzt, dann gibt's auch ein Lämpchen zum Draufklicken :)
Etwas unschön, aber dem timeout im Beamer geschuldet, ist eine kleine Verzögerung bis sich das Lämpchen aktualisiert (nach einem "PWR set" antwortet der Beamer nicht mit dem Status, und braucht ein paar Sekunden bis er wieder ansprechbar ist). Per default dauert es 12 Sekunden bis das Lämpchen den Status wechselt.
Diese Zeit ist natürlich auch konfigurierbar (PwrQueryDelay) - unter 10 Sekunden könnte allerdings zu Problemen führen. Der Beamer geht nicht kaputt, aber eine Race Condition könnte die Abarbeitung der commands durcheinanderbringen.

Bei mir gehts - magst Du das mal testen?

*** Update: Ist im Trunk, kommt mit dem nächsten Update ***
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 20 Oktober 2023, 03:00:16
Cool, dank! Bin gespannt auf das Update. :)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 Oktober 2023, 07:46:36
Ist schon eingespielt. Du musst nur stateFormat auf stateP setzen ;)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 20 Oktober 2023, 09:47:05
Hab gerade mit "update all" FHEM aktualisiert, aber für ESCVP21net wurde kein Update geladen. stateP ist daher bei mir noch nicht vorhanden.
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 20 Oktober 2023, 19:03:21
H, komisch - ich habs gerade nochmal committed, sollte morgen verfügbar sein.
Update: verifiziert, die neue Version (1.01.25) kommt seit heute früh mit dem Update.
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: immerdasgleiche am 22 Oktober 2023, 11:29:11
Jetzt hats geklappt!

Danke für das Update. Weiß ich sehr zu schätzen!

Viele Grüße  :)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 22 Oktober 2023, 14:48:15
Gerne :)
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: dadoc am 21 Februar 2024, 22:48:56
Coole Sache, vielen Dank. Habs gerade eher zufällig entdeckt, nachdem ich meinen Projektor bisher rudimentär mit Scrpts in fhem eingebunden hatte. Es ist der EB-L510, Basics scheinen mit der Standarddefinition zu funktionieren (darf aber gerade das Ein- und Ausschalten nicht testen...). Werde dieser Tage versuchen, das Set zusammenzustellen.
Grüße
Martin
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: hapege am 22 Februar 2024, 19:42:35
Hi,
der EB-L510 gar, wenn ich das richtig sehe, außer Power und Source keine Settings, die er über VP21 anbietet, und die sollten schlicht out of the box funktionieren. Hast Du im Manual mehr dazu?EBL510.png
Titel: Aw: (W)LAN Steuerung für Epson Beamer - ESCVP21net.pm
Beitrag von: dadoc am 22 Februar 2024, 22:27:31
Auf https://www.epson.de/de_DE/support/sc/epson-eb-l510u/s/s1652 sind zwar Dokumente mit kompletten Befehlssätzen vorhanden, aber sie dürften eher allgemeiner Natur sein. Im Manual finde ich auch nur das aus Deinem Screenshot.
Ist aber egal, on/off funktioniert bestens, und das reicht mir eigentlich.
Danke nochmals.