(gelöst) Monitor Steuerung mit xset

Begonnen von Robert1963, 20 Juli 2017, 08:31:08

Vorheriges Thema - Nächstes Thema

Robert1963

Hallo,

versuche schon einige Zeit meine Monitor mit Fhem auf Stand-By zu schalten bzw. ihn wieder aufzuwecken.
Zwischendurch hatte ich das mal hingekriegt aber nachdem ich den Fhem-Server neu gestartet habe gehts nicht mehr. Leider kann ich die Schritte vorher nicht mehr nachvollziehen.
Ich habe einen Nuc mit Linux Mint 18, der Monitor ist via HDMI am Nuc angeschlossen.

Im Terminal von Mint geht, als Hauptnutzer mit        xset dpms force off bzw on
und im Terminal von Mint, als fhem mit                    sudo xset dpms force off bzw. on
der Monitor ohne Probleme aus bzw. an.

In Fhem, in der Eingabezeile:
                                             "sudo xset dpms force off"
erscheint im Log                     xset:  unable to open display "".

Wobei auch eine Monitor Angabe im Befehl "sudo xset -display :0 dpms force off"
                                            xset:  unable to open display ":0" 
                                            No protocol specified
ergibt.
Das DOIF RAW dazu:
defmod act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen DOIF ([ku_bewg_switch:"on"] and [Anwesenheit_Status] ne "Abwesend")\
\
({system ("sudo xset dpms force on");;0}) ##Schaltet Bildschirm an\
\
({system ("sudo xset dpms force off");;0})  ##Schaltet Bildschirm aus\
\
DOELSEIF\
([Anwesenheit_Status] eq "Abwesend") \
\
{system ("sudo xset dpms force off");;0}  ##Schaltet Bildschirm aus\
\
DOELSEIF\
([Wach_Schlafen_Button] eq "off")\
\
{system ("sudo xset dpms force off");;0}  ##Schaltet Bildschirm aus\
\
\
\
\

attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen comment geht scheinbar nur wenn in Linux Systemeinstellung die Einstellung eingeschaltet ist
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen do resetwait
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen group Monitor,Einbruchalarm
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen room Dienste,Sicherheit,System
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen verbose 3
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen wait 0,60:300:60
attr act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen widgetOverride cmdState:textField-long wait:textField-long

setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen cmd_1
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:16:01 Device ku_bewg_switch
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 cmd 1.2
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 cmd_event ku_bewg_switch
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 cmd_nr 1
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 cmd_seqnr 2
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-19 19:39:24 e_Anwesenheit_Status_STATE Anwesend
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-19 19:39:24 e_Anwesenheit_Status_events Anwesend
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 05:14:56 e_Wach_Schlafen_Button_STATE on
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 05:14:56 e_Wach_Schlafen_Button_events on
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:16:01 e_ku_bewg_switch_events off
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 state cmd_1
setstate act_DOIF_Monitor_bei_bewegung_Abwesens_schlafen 2017-07-20 08:17:00 wait_timer no timer



Habe schon einiges Probiert, xrandr etc. aber es scheint als ob ich von fhem aus keinen Zugriff auf die xserver-geschichte habe. Beim googeln kommen leider meist ältere Verweise zum Thema und bei Mint scheint sich einiges geändert zu haben. (xorg.conf fehlt, etc)

Bin leider ein Linux Anfänger und jetzt geht mir die Puste aus.
Hab viel gelesen aber Versuch und Irrtum bringen mich jetzt nicht mehr weiter.
Möchte auch mein Linux nicht ändern und da es schon mal geklappt hat brauche ich einen Schubs in die richtige Richtung.

Viele Grüße,
Robert

Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

P.A.Trick

Versuche mal die Display Variable vorher zu setzen!

export DISPLAY=<IP des X-Server Hosts>:0
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Robert1963

Hab grade

export DISPLAY=192:168:178:20:0

im Terminal eingegeben.

Fehlermeldung:            xset:  unable to open display "192:168:178:20:0"

Hab ich deinen Code falsch interpretiert?
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Robert1963

Ups,

habs beim lesen gerafft : statt .

Checke ich nochmal
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Robert1963

Terminal Mint:

export DISPLAY=192.168.178.20:0

keine Fehlermeldung

sudo xset dpms force off
xset:  unable to open display "192.168.178.20:0"


hab ich deinen Code doch falsch gedeutet?
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

P.A.Trick

Zitat von: Robert1963 am 20 Juli 2017, 09:10:11
Terminal Mint:

export DISPLAY=192.168.178.20:0

keine Fehlermeldung

sudo xset dpms force off
xset:  unable to open display "192.168.178.20:0"


hab ich deinen Code doch falsch gedeutet?

Zeige mal den kompletten Aufruf!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Robert1963

Im Mint Terminal, fhem als user:

fhem@nuc:~$  export DISPLAY=192.168.178.20:0
fhem@nuc:~$ sudo xset dpms force off
xset:  unable to open display "192.168.178.20:0"


gebe ich
fhem@nuc:~$  export DISPLAY=:0
fhem@nuc:~$ sudo xset dpms force off
fhem@nuc:~$


kommt keine Meldung und der Monitor geht aus.

Rufe ich gleich in Fhem den Befehl auf
"sudo xset dpms force off"

kommt im Log
xset:  unable to open display ""

Rufe ich gleich in Fhem den Befehl mit display auf
"sudo xset -display :0 dpms force off"

kommt im Log
xset:  unable to open display ""
No protocol specified


!?


Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Robert1963

#7
Gedanken:

Brauche ich die ip-Angabe wenn ich mich ohne ssh im gleichen System bewege?

Warum gehts  im System-Terminal unter rob@nuc: und fhem@nuc: sudo
und als fhem-systembefehl nicht? Fhem ist ja auch in sudo-Gruppe.


Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

P.A.Trick

Zitat von: Robert1963 am 20 Juli 2017, 09:58:27
Gedanken:

Brauche ich die ip-Angabe wenn ich mich ohne ssh im gleichen System bewege?

Warum gehts  im System-Terminal unter rob@nuc: und fhem@nuc: sudo
und als fhem-systembefehl nicht? Fhem ist ja auch in sudo-Gruppe.

Du musst den lokalen User fhem noch auf dem X-Server des Users (rob?) berechtigen:
Gib mal als rob folgendes ein und versuche es noch einmal!

xhost +si:localuser:fhem
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Robert1963

#9
rob@nuc:~$ xhost +si:localuser:fhem
localuser:fhem being added to access control list


Schade, das klang für mich wirklich einleuchtend, hatte aber leider nicht den gewünschten Effekt.

xset:  unable to open display ""

Hab nochmal den Monitor bekannt gegeben
export DISPLAY=:0
und probiert.

Fhem Fehlermeldung im Log:
xset:  unable to open display ""
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

P.A.Trick

Hm, also lokal funktioniert das bei mir. Verstehen tue ich das nicht!?

Vielleicht noch zwei andere Ideen zur Umsetzung:

1) sudo su - rob  "xset...."
2) ssh -X rob@nuc "DISPLAY=:0 xset...."



Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Robert1963

Fhem Eingabezeile
"sudo su - rob xset dpms force off"

Log
/usr/bin/xset: /usr/bin/xset: Kann die Datei nicht ausführen.

Fhem Eingabezeile
"ssh -X rob@nuc DISPLAY=:0 xset dpms force off"

Log
ssh: connect to host nuc port 22: Connection refused

@P.A.Trick Vielen Dank für die Mühe, aber ich muss noch ein bisschen arbeiten gehen.
Deshalb bei mir erst mal bis morgen Früh ruhe.

Falls es noch eine Möglichkeit gibt den Monitor von Fhem aus steuern zu können,
außer xset, wäre es schön wenn hier ne kurze Meldung erscheinen könnte.
Reibe mich bald auf an der Sch...

Viele Grüße aus dem sonnigen Berlin,
Robert
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

P.A.Trick

Versuche das mal so:
{system ("sudo su - rob /usr/bin/xset dpms force on")}
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Robert1963


In Fhem:
{system ("sudo su - rob /usr/bin/xset dpms force on")}

Zitat/usr/bin/xset: /usr/bin/xset: Kann die Datei nicht ausführen.

Im Terminal:
rob@nuc:~$ sudo su - rob /usr/bin/xset dpms force off
[sudo] password for rob:
/usr/bin/xset: /usr/bin/xset: Kann die Datei nicht ausführen.


xset aber in /usr/bin/ vorhanden!

Im Terminal
rob@nuc:~$ sudo  /usr/bin/xset dpms force off
[sudo] password for rob:


Monitor geht aus!    ???
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,

Robert1963

Hallo,

habe das Problem nochmal angepackt.
Mit
"sudo vbetool dpms off"
geht es.
Nur das die Maus dem Monitor nicht aufwecken kann, aber damit kann ich leben.

Grüße,
        Robert
Nuc 7i7, Ubuntu 20.04.2 LTS, FS20, Homematic, EnOcean, Hue, Conbee, Fritzbox 6490kd,