Acer Beamer via LAN steuern (Typ P5515)

Begonnen von mrpointblue, 04 Januar 2021, 22:34:56

Vorheriges Thema - Nächstes Thema

mrpointblue

Hallo Zusammen,
ich stehe vor einem Problem und hoffe ihr könnt mir helfen.

Ich habe einen Beamer erstanden der einen LAN Anschluss hat mit einem WebFrontend.

Leider scheint es so als gäbe es kein Modul was mir helfen kann. Das einzige was ich finden konnte ist das der Baemer an Crestron angeschlossen werden kann. Mir scheint auch als gäbe es die Möglichkeit Telnet zu nutzen, konnte aber nicht verbinden und kenne auch die befehle nicht.

Vielleicht hat jemand ja eine Idee wie man sich mit dem guten Stück connecten kann.

Letztendlich will ich das ganze mit Alexa verbinden um den Beamer ein und auszuschalten.

Ja man kann sich auch eine Logitech Harmony kaufen etc., aber das will ich ja nicht. Möchte das schon gerne in fhem machen.

Anbei noch zwei Screenshots.
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

MadMax-FHEM

Die Screenshots sind das "Browserfenster"?

Dann mal mit F12 "mitschneiden" welche http-Requests geschickt werden, wenn du on/off etc. drückst...

Wenn du das rauskriegst, kannst du mal mit dem HTTPMOD-Device anfangen...

Der Harmony Hub lässt sich aber auch in fhem einbinden, dann kannst du auch per fhem steuern ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mrpointblue

Hi, danke für die schnelle Antwort. Das mitschneiden hat leider nicht funktioniert, er zeigt mir immer nur die IP Adresse. Mehr leider nicht. Oder liegt das an Chrome ?
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

MadMax-FHEM

Hast du F12 und dann muss irgendwo "network" (glaube ich).
Da sollten/könnten die http-Requests kommen...

Außer es ist ein "Plugin" was "nur" im Browser läuft, ansonsten aber anderweitig kommuniziert...

Wenn das so ist, dann musst du wohl wireshark (o.ä.) probieren...

Und dann halt nicht HTTPMOD sondern halt selber senden.
Aber wenn bekannt ist was gesendet werden muss, dann kriegt "man" den Rest auch hin... ;)
Wenn es "nur" an/aus sein soll, dann geht das einfach.
Wenn mehr, dann mal überlegen ein Modul zu "basteln"... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Frank_Huber

An wäre ja evtl über wol nen Versuch wert?
Falls er das kann.

mrpointblue

Hi, sieht nach Java aus und da kenn ich mich mal garnicht aus.

Hab mal die Datei angehangen.

control.htm:23


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<script LANGUAGE="javascript" SRC="/control.js" TYPE=
"text/javascript">
</script>
<link REL="stylesheet" REV="stylesheet" HREF="/style.css"
      TYPE="text/css" MEDIA="all">
<title></title>
</head>
<body ONLOAD="window_onload()" STYLE=
"background-color:transparent">
<div ID="control" STYLE="">
<table CLASS="block" CELLSPACING="3" CELLPADDING="5">
<tr VALIGN="top">
<td CLASS="area">
<table CELLSPACING="2" CELLPADDING="2">
<tr>
<td><input TYPE="button" CLASS="button2" ID="pwr" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Power ON"></td>
<td><input TYPE="button" CLASS="button2" ID="rst" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Reset"
       NAME="ctl"></td></tr>
<tr>
<td><input TYPE="button" CLASS="button2" ID="hid" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Hide ON"
       NAME="ctl"></td>
<td><input TYPE="button" CLASS="button2" ID="frz" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Freeze"
       NAME="ctl"></td></tr>
<tr>
<td><input TYPE="button" CLASS="button2" ID="syc" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Resync"
       NAME="ctl"></td>
<td><input TYPE="button" CLASS="button2" ID="srs" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Source"
       NAME="ctl"></td></tr>
<tr>
<td><input TYPE="button" CLASS="button2" ID="eco" ONCLICK=
"request_projector_info(this, 0)" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Eco mode"
       NAME="ctl"></td>
<td><input TYPE="button" CLASS="button2" ID="ref" ONCLICK=
"javascript:window.location.reload()" ONMOUSEOVER=
"javascript:this.style.cursor='pointer';" VALUE="Refresh"
       NAME="ctl"></td></tr></table></td>
<td CLASS="area">
<table CELLSPACING="5">
<tr>
<td>Source</td>
<td><select SIZE="1" ID="src" ONCHANGE=
"request_projector_info(this, 1)" NAME="ctl">
<option VALUE="0" >No Signal</option>
<option VALUE="1" >D-Sub</option>
<option VALUE="2" >Composite</option>
<option VALUE="3" SELECTED>HDMI 1/MHL</option>
<option VALUE="4" >HDMI 2</option></select></td></tr>
<tr>
<td COLSPAN="2" CLASS="catalog2">Image</td></tr>
<tr>
<td>Brightness</td>
<td><input TYPE="button" CLASS="button" ID="brid" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="bri" VALUE="50"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       VALUE="+" ID="bria" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Contrast</td>
<td><input TYPE="button" CLASS="button" ID="cond" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="con" VALUE="50"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       VALUE="+" ID="cona" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Keystone</td>
<td><input TYPE="button" CLASS="button" ID="vksd" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="vks" VALUE="0"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       VALUE="+" ID="vksa" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Gamma</td>
<td><input TYPE="button" CLASS="button" ID="gamd" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="gam" VALUE="1.8"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       VALUE="+" ID="gama" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Color Temp</td>
<td><input TYPE="button" CLASS="button" ID="ctpd" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="ctp" VALUE="CT1"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       VALUE="+" ID="ctpa" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Display Mode</td>
<td><select ID="mod" ONCHANGE="request_projector_info(this, 1)"
NAME="ctl">
<option VALUE="0" SELECTED>Bright</option>
<option VALUE="1" >Presentation</option>
<option VALUE="2" >Standard</option>
<option VALUE="3" >Video</option>
<option VALUE="5" >
User</option></select></td></tr></table></td>
<td CLASS="area">
<table CELLSPACING="2">
<tr>
<td COLSPAN="2" CLASS="catalog2">Audio</td></tr>
<tr>
<td>Volume</td>
<td><input TYPE="button" CLASS="button" ID="vold" VALUE="-"
       ONCLICK="request_projector_info(this, 2)" NAME="ctl">
       <input TYPE="text" CLASS="text" ID="vol" VALUE="0"
       ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       ID="vola" VALUE="+" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td COLSPAN="2" CLASS="catalog2">Managment</td></tr>
<tr>
<td>Aspect Ratio</td>
<td><select ID="apr" ONCHANGE="request_projector_info(this, 1)"
NAME="ctl">
<option VALUE="0" SELECTED>Auto</option>
<option VALUE="2" >4:3</option>
<option VALUE="3" >16:9</option>
<option VALUE="4" >L.Box</option></select> </td></tr>
<tr>
<td>Digital Zoom</td>
<td><input TYPE="text" CLASS="text" ID="zom" VALUE="1.0x"
ONCHANGE="" NAME="ctl"> <input TYPE="button" CLASS="button"
       ID="zoma" VALUE="+" ONCLICK=
       "request_projector_info(this, 2)" NAME="ctl"></td></tr>
<tr>
<td>Projection</td>
<td><select ID="prj" ONCHANGE="request_projector_info(this, 1)"
NAME="ctl">
<option VALUE="0" SELECTED>Front</option>
<option VALUE="1" >
Rear</option></select></td></tr>
<tr>
<td>Startup Screen</td>
<td><select ID="lgo" ONCHANGE="request_projector_info(this, 1)"
NAME="ctl">
<option VALUE="0" SELECTED>acer</option>
<option VALUE="1" >
User</option></select></td></tr></table></td></tr></table></div>
<form><input TYPE="hidden" ID="pwstatus" NAME="pwmode"
       VALUE="0"> <input TYPE="hidden" ID="srcmd" NAME=
       "smode" VALUE="1"> <input TYPE="hidden" ID=
       "freeze" NAME="freeze" VALUE="0"> <input TYPE=
       "hidden" ID="hide" NAME="hide" VALUE="0">
       <input TYPE="hidden" ID="ecomd" NAME="ecomd" VALUE=
       "0"> 
</form>
</body>
</html>
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

amenomade

#6
Der postet einfach "pwr=Power ON" an http://192.168.2.19/tgi/control.tgi

Probiere mal
define acer HTTPMOD http://192.168.2.19/tgi/control.tgi 0
attr acer set01Name powerOn
attr acer set01Data pwr=Power ON
attr acer set02Name powerOff
attr acer set02Data pwr=Power OFF
attr acer verbose 5


Mach dann ein "set acer powerOn" und "set acer powerOff" und zeig mal die Log. Es kann sein, dass noch ein Paar Cookies und Header gesetzt werden müssen, und der Port scheint zu wechseln. Oder sind das sockets? Mal sehen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mrpointblue

Hi Danke,
da hab ich glatt noch was vergessen.

1. Die Passwort abfrage habe ich vergessen zu erwähnen, die er anfangs immer abfragt.
> Username ist auswählbar und per default immer Administrator.

2. Nach nutzen deines Vorschlags mit HTTPMOD kommt beim setzen von PowerOn die Meldung
"set value is not numeric"
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

amenomade

1. => Dann bitte auch die Passwortabfrage in einer .har Log mitloggen (F12 Tool noch VOR dem ersten Aufruf der Seite starten)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mrpointblue

1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mrpointblue

Hi, oh Sorry.
Hab den Log nochmal gemacht.

Hier nun mit Anmeldung.

1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

amenomade

Das wird schwierig: das POST login.tgi braucht als Data:
Username=1&Response=f2997b9b1e6723477d92120f48d7d5a0
Diese Response wird per javascript (login.js) vorher kalkuliert.

Es wäre interessant zu wissen, ob diese Response immer gleich ist (die scheint abhängig vom Passwort zu sein), wenn Du dich mehrmals nacheinander als admin anmeldest. Wenn ja, könnten wir es "hartkodieren".
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mrpointblue

Hi, super Danke.

Scheint sich bei jeder Anmeldung zu ändern. Ich habs mal geprüft, jetzt lautet der Response


[/size]
8dcccda92dd79c67b06822e57e590dd2
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

amenomade

Ja, habe ich danach gesehen: es gibt ein "Challenge", das auch mitkodiert wird. Heisst... die einzige Möglichkeit ist, diese Javascript Funktionen in Perl umzubauen... Mit ein bisschen Glück ist die md5 javascript Funktion 1 zu 1 gleich wie die standard Perl Funktion.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus