Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Antworten
tv_001
Newbie
Beiträge: 4
Registriert: 07 Jan 2013, 20:08

Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von tv_001 »

Ich versuche das Plugin für die Aufnahmesteuerung zum Laufen zu bekommen. Folgende Schritte habe ich vorgenommen:

1. Plugin Aufnahmesteuerung installiert
1a. ActivePerl-5.16.1.1601-MSWin32-x86-296175.msi installiert
2. Download des Perl-Skripts von wiki.tvbrowser.org/index.php/Aufnahmesteuerung_-_TechniStar_S2
3. Perl-Skript als Applikation in Pluginkonfiguration hinterlegt
4. Parameter für Aufnahme und Löschen hinterlegt (HTTP-Adresse des Receivers hinterlegt)
5. Senderliste heruntergeladen und Mapping der Sender vorgenommen -> erfolgreich
6. Im Reiter Einstellungen das Passwort des Webinterfaces vom Receiver hinterlegt
7. In Sendertabelle ein Programm mir Rechtsklick ausgewählt und "Aufnehmen" angeklickt + OK gedrückt

Im Anschluss kommt es zu folgender Fehlermeldung:
"Probleme beim Starten der Applikation"

Details:

Code: Alles auswählen

java.io.IOException: Cannot run program "C:\Tools\technistar.pl" (in directory "C:\Tools"): CreateProcess error=193, %1 ist keine zulässige Win32-Anwendung
  at java.lang.ProcessBuilder.start(Unknown Source)
  at java.lang.Runtime.exec(Unknown Source)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:188)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:173)
  at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:248)
  at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:179)
  at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:130)
  at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:181)
  at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:229)
  at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.AbstractButton.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=193, %1 ist keine zulässige Win32-Anwendung
  at java.lang.ProcessImpl.create(Native Method)
  at java.lang.ProcessImpl.<init>(Unknown Source)
  at java.lang.ProcessImpl.start(Unknown Source)
  ... 49 more

java.io.IOException: CreateProcess error=193, %1 ist keine zulässige Win32-Anwendung
  at java.lang.ProcessImpl.create(Native Method)
  at java.lang.ProcessImpl.<init>(Unknown Source)
  at java.lang.ProcessImpl.start(Unknown Source)
  at java.lang.ProcessBuilder.start(Unknown Source)
  at java.lang.Runtime.exec(Unknown Source)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:188)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:173)
  at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:248)
  at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:179)
  at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:130)
  at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:181)
  at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:229)
  at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.AbstractButton.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
Wenn ich das Skript einfach so von der Kommandozeile ausführe, z.B. mit C:\Tools\technistar.pl aus einem anderen Pfad, dann scheint es zu funktionieren. Es kommt natürlich zu einer Fehlermeldung, dass die Argument fehlen, aber es lässt sich anstoßen. Java Runtime (Java(TM) SE Runtime Environment (build 1.6.0_29-b11)) ist installiert.

Kann mir jemand weiter helfen?
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von ds10 »

Nun die Fehlermeldung sagt ja schon, dass es kein Win32-Programm ist, was ja auch stimmt.
Gibt es nicht irgendwo eine EXE mit der das Skript gestartet werden kann? Die müsste dann auch in der Aufnahmesteuerung eingetragen werden.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
tv_001
Newbie
Beiträge: 4
Registriert: 07 Jan 2013, 20:08

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von tv_001 »

ds10 hat geschrieben:Nun die Fehlermeldung sagt ja schon, dass es kein Win32-Programm ist, was ja auch stimmt.
Gibt es nicht irgendwo eine EXE mit der das Skript gestartet werden kann? Die müsste dann auch in der Aufnahmesteuerung eingetragen werden.
Deshalb habe ich ja geschrieben, dass der Kommandoaufruf c:\tools\technistar.pl aus der Kommandozeile funktioniert, d.h. der Dateityp*.pl ist mit einer entsprechend gültigen Win32 Anwendung verknüpft (in diesem Fall mit der perl.exe). Oder greift dieser Aspekt nicht, wenn das Skript von einer entsprechende Java-Routine aufgerufen wird?
v6ph1
Site Admin
Beiträge: 1276
Registriert: 13 Jan 2008, 05:07
Wohnort: Radebeul

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von v6ph1 »

tv_001 hat geschrieben:
ds10 hat geschrieben:Nun die Fehlermeldung sagt ja schon, dass es kein Win32-Programm ist, was ja auch stimmt.
Gibt es nicht irgendwo eine EXE mit der das Skript gestartet werden kann? Die müsste dann auch in der Aufnahmesteuerung eingetragen werden.
Deshalb habe ich ja geschrieben, dass der Kommandoaufruf c:\tools\technistar.pl aus der Kommandozeile funktioniert, d.h. der Dateityp*.pl ist mit einer entsprechend gültigen Win32 Anwendung verknüpft (in diesem Fall mit der perl.exe). Oder greift dieser Aspekt nicht, wenn das Skript von einer entsprechende Java-Routine aufgerufen wird?
Nein - das funktioniert nur im Windows-Explorer und (neuerdings) auf der Kommandozeile.
Nutze einfach

Code: Alles auswählen

c:\Pfad_zu\Perl\bin\perl.exe c:\tools\technistar.pl
mfg
v6ph1
tv_001
Newbie
Beiträge: 4
Registriert: 07 Jan 2013, 20:08

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von tv_001 »

v6ph1 hat geschrieben: Nein - das funktioniert nur im Windows-Explorer und (neuerdings) auf der Kommandozeile.
Nutze einfach

Code: Alles auswählen

c:\Pfad_zu\Perl\bin\perl.exe c:\tools\technistar.pl
Ich habe dies

Code: Alles auswählen

C:\Perl\bin\perl.exe c:\Tools\technistar.pl


in die Einstellungen des Plugins Aufnahmesteuerung im Reiter "Applikation" als Applikation hinterlegt. Im Anschluss kommt es zu folgender Fehlermeldung.

Code: Alles auswählen

java.io.IOException: Cannot run program "C:\Perl\bin\perl.exe c:\Tools\technistar.pl" (in directory "C:\Tools\tvbrowser-transportable"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
  at java.lang.ProcessBuilder.start(Unknown Source)
  at java.lang.Runtime.exec(Unknown Source)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:188)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:173)
  at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:248)
  at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:179)
  at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:130)
  at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:181)
  at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:229)
  at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.AbstractButton.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden
  at java.lang.ProcessImpl.create(Native Method)
  at java.lang.ProcessImpl.<init>(Unknown Source)
  at java.lang.ProcessImpl.start(Unknown Source)
  ... 49 more

java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden
  at java.lang.ProcessImpl.create(Native Method)
  at java.lang.ProcessImpl.<init>(Unknown Source)
  at java.lang.ProcessImpl.start(Unknown Source)
  at java.lang.ProcessBuilder.start(Unknown Source)
  at java.lang.Runtime.exec(Unknown Source)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:188)
  at util.io.ExecutionHandler.execute(ExecutionHandler.java:173)
  at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:248)
  at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:179)
  at captureplugin.drivers.defaultdriver.CaptureExecute.addProgram(CaptureExecute.java:130)
  at captureplugin.drivers.defaultdriver.DefaultDevice.add(DefaultDevice.java:181)
  at captureplugin.CapturePlugin$2.actionPerformed(CapturePlugin.java:229)
  at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.AbstractButton.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
  at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$200(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.awt.EventQueue$3.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.awt.EventQueue$4.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:55)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


Die perl.exe und technistar.pl existieren in den jeweiligen Verzeichnissen.

Code: Alles auswählen

c:\Tools>dir techn*
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: AA6C-E4BC

 Verzeichnis von c:\Tools

28.09.2012  19:07             8.463 technistar.pl
               1 Datei(en),          8.463 Bytes
               0 Verzeichnis(se), 385.109.561.344 Bytes frei

c:\Tools>


c:\Perl\bin>dir perl.exe
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: AA6C-E4BC

 Verzeichnis von c:\Perl\bin

30.08.2012  20:39           393.300 perl.exe
               1 Datei(en),        393.300 Bytes
               0 Verzeichnis(se), 385.109.561.344 Bytes frei

c:\Perl\bin>

Wo ist mein Hänger? ;-)
ds10
Site Admin
Beiträge: 19117
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von ds10 »

Unter Applikation darf nur die EXE stehen, die pl-Datei gehört in die Parameter.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
tv_001
Newbie
Beiträge: 4
Registriert: 07 Jan 2013, 20:08

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von tv_001 »

ds10 hat geschrieben:Unter Applikation darf nur die EXE stehen, die pl-Datei gehört in die Parameter.
Perfekt! Vielen Dank! Das ist für mich die Lösung. Danke auch an alle weiteren Unterstützer.

Dann war das Wiki unter http://wiki.tvbrowser.org/index.php/Auf ... hniStar_S2 für mich irreführend. Das sollte da anders beschrieben werden.
Benutzeravatar
Agrivaine
Moderator
Beiträge: 811
Registriert: 21 Nov 2007, 14:39
Kontaktdaten:

Re: Aufnahmesteuerung 3.1.1.2 mit Technistar S2

Beitrag von Agrivaine »

tv_001 hat geschrieben:Dann war das Wiki unter http://wiki.tvbrowser.org/index.php/Auf ... hniStar_S2 für mich irreführend. Das sollte da anders beschrieben werden.
Nicht direkt, denn da steht auch:
Außerdem bezieht sich alles hier auf die Installation unter Mac OS X
Gestern standen wir vor dem Abgrund; heute sind wir bereits einen Schritt weiter...
Antworten