Benutzeravatar
trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

1. Jun 2016, 22:26

Hallo,

ich nutze LibreELEC 7.01 auf dem Raspi3. Da der Raspberry bekanntlich keinen Standby beherrscht, möchte ich den per HDMi-DVI-Adapter angeschlossenen Monitor per Fernbedienung aus und einschalten. So wie hier beschrieben:

https://discourse.osmc.tv/t/solved-erro ... -press/665

Leider funktioniert das nicht.

Auch mit dem Bildschirmschoner

https://drive.google.com/file/d/0B3eg07 ... ef=2&pli=1

bekomme ich es nicht hin.

LIRCD ist installiert und funktioniert.

Wer kann mit einem Skript helfen, das ich auf die Fernbedienungstaste "power" mappen kann?


Gruss und danke im voraus.

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 07:29

Ausschalten sollte Problemlos funktionieren.
Anschalten funktioniert nicht ohne Extra Board

siehe z.B. auch hier
viewtopic.php?f=10&t=2722&p=13156&hilit=anschalten#p13156
Kein Support per PM!

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 08:11

Guten Morgen,

ich will nur den HDMI-Ausgang ausschalten, damit der Monitor ausgeht. Also mit dem Befehl "vcgencmd display_power 0" HDMI ausschalten, und mit "vcgencmd display_power 1" wieder ein. Das klappt auch aus der Konsole heraus. Leider nicht per Script, das ich mir auf die Fernbedienungstaste "power" legen will.

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 08:13

Dann zeig uns doch mal "wie" genau du das gemappt hast - so kann man dir ja schlecht helfen.
Kein Support per PM!

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 08:49

Hallo,

das mappen ist kein Problem. Ich benötige ein funktionierendes Script. Ich habe das oben angegebene ausprobiert. Leider kommen etliche Python Fehler. Ich muß aber dazu sagen, dass ich keine Ahnung von Python habe. Meine letzten Programier-Versuche waren in Basic auf dem C64...

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 08:53

Das oben verlinkte Script kann unter LibreELEC auch nicht funktionieren da es unter OSMC geschrieben wurde.
die Pfade stimmen ja gar nicht überein

Außerdem steht in dem Thread ja auch das das Script nicht vollständig ist.


So könnte es funktionieren, ungetestet

Code: Alles auswählen

#!/usr/bin/python

import subprocess
import string

result = subprocess.check_output("cat ~/screen.state", shell=True)

if (result.find ("f") >0 ):
   subprocess.call( "vcgencmd display_power 1", shell=True )
   subprocess.call( "echo 'On' > ~/screen.state" , shell=True )
else:
   subprocess.call( "vcgencmd display_power 0", shell=True )
   subprocess.call( "echo 'Off' > ~/screen.state", shell=True )

Kein Support per PM!

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 08:55

Ok,
probier ich heute Abend aus. Ich melde mich mit dem Ergebnis. vielen Dank im voraus;-))

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 16:26

... funktioniert leider nicht :

Code: Alles auswählen

OpenELEC:~ # python test1.py
cat: can't open '/storage/screen.state': No such file or directory
Traceback (most recent call last):
  File "test1.py", line 6, in <module>
    result = subprocess.check_output("cat ~/screen.state", shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
subprocess.CalledProcessError: Command 'cat ~/screen.state' returned non-zero exit status 1
OpenELEC:~ #


Noch ne Idee?

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 16:29

steht doch da,

Erstell die Datei mit WinSCP oder so einfach vorher
/storage/screen.state
Kein Support per PM!

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 17:34

Datei erstellt. Geht auch beim ersten Aufruf aus. Aber leider beim zweiten Aufruf nicht an:

Code: Alles auswählen

##############################################
#                  OpenELEC                  #
#             http://openelec.tv             #
##############################################

OpenELEC (official) Version: 6.95.3
OpenELEC:~ # python test1.py
display_power=0
OpenELEC:~ # python power.py
/bin/sh: screen.state: not found
Traceback (most recent call last):
  File "power.py", line 5, in <module>
    result = subprocess.check_output("screen.state", shell=True)
  File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
subprocess.CalledProcessError: Command 'screen.state' returned non-zero exit status 127
OpenELEC:~ #

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

2. Jun 2016, 19:53

Jetzt geht's auf einmal! Vielen Dank für die kompetente und schnelle Hilfe;-))

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

1. Jul 2016, 13:42

Neues Problem: aus- und einschalten geht eine Zeit lang super. Dann nicht mehr. Fehlermeldung :

Code: Alles auswählen

12:42:22 150941.609375 T:1499009952   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.OSError'>
                                            Error Contents: [Errno 12] Cannot allocate memory
                                            Traceback (most recent call last):
                                              File "/storage/power.py", line 6, in <module>
                                                result = subprocess.check_output("cat ~/screen.state", shell=True)
                                              File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/subprocess.py", line 566, in check_output
                                              File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/subprocess.py", line 710, in __init__
                                              File "/home/chewitt/LibreELEC.70-official/build.LibreELEC-RPi2.arm-7.0.2/Python-2.7.11/.install_pkg/usr/lib/python2.7/subprocess.py", line 1231, in _execute_child
                                            OSError: [Errno 12] Cannot allocate memory
                                            -->End of Python script error report<--


Was nun?

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

1. Jul 2016, 13:45

Kein Support per PM!

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

1. Jul 2016, 13:47

Aha... Hilft mir nicht wirklich. Ich habe verstanden, das der Speicher knapp ist. Aber was ist zu tun?

trs
Neuling

Beiträge:13
Registriert:1. Jun 2016

Raspberry pi3: HDMI per Fernbedienung aus und einschalten

1. Jul 2016, 13:56

Scheint ja so, als ob zu oft der Inhalt der Datei "screen.state" abgefragt wird. Durch die Abfrage weiß das Script, ob der Bildschirm an oder aus ist. Kann man das nicht irgendwie umschiffen. Vielleicht mit einer Anfrage, ob eine Datei existiert oder nicht? Hilft das?

Zurück zu „Allgemein“