Linux Display ein-/ausschalten Remote und Docker (Smart Mirror)

Begonnen von LordVoodoo, 27 September 2018, 17:56:43

Vorheriges Thema - Nächstes Thema

LordVoodoo

Hallo zusammen,

ich möchte gern das Display meines Badspiegels (Raspberry Zero W) über FHEM schalten. Auf Console-Ebene funktioniert das bereits, jedoch bekomme ich es noch nicht von FHEM aus geschalten. (FHEM läuft im Docker-Container mit network_mode: host.)

1. Anlage des Remote Benutzers:

1.1 SSH-Credentials erzeugen


ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.


1.2 SSH-Credentials an den entfernten Linux-Rechner übertragen


ssh-copy-id pi@glancr
pi@glancr's password: [passwort des Benutzers pi]


Nun kann man auf der Console des zentralen Smart-Home-Linux mit den Befehlen

sudo ssh pi\@glancr sudo vcgencmd display_power 0
sudo ssh pi\@glancr sudo vcgencmd display_power 1

das Display am Smart Mirror aus-/einschalten.

========= Bis hier hin komme ich. =========

In FHEM erfolgt die Anlage von Button und Notify:


Bad_Spiegel_Display:(on|off) {
  my $device = "Bad_Spiegel_Display";

  if (ReadingsVal($device, "state", "") eq "on")
  { system("sudo ssh pi\@glancr sudo vcgencmd display_power 0"); }
  else
  { system("sudo ssh pi\@glancr sudo vcgencmd display_power 1"); }
}


Und hier komme ich nun nicht weiter. Die Befehle werden nicht ausgeführt. Im Log steht
Host key verification failed.
2018.09.27 08:36:10 3: Bad_Spiegel_Display_Aktion return value: -1


Sieht jemand meinen Denkfehler?

Vielen Dank.

dmq

Hast Du auf der CLI mit dem Benutzer fhem (fhem service account) den Befehl:

sudo ssh pi@glancr sudo vcgencmd display_power 0

mal ausgeführt? Ich denke es liegt nur an der Host-Key-Verifikation die einmalig innerhalb des Accounts verifiziert und autorisiert werden muss. Das passiert interaktiv.

dmq

Ich würde Dir auch empfehlen mit "/usr/bin/timeout X" vorrangig zum ssh Kommando zu arbeiten und mit absoluten Pfadangaben zu arbeiten.

Florian_GT

Mich würde interessieren, wie die Technik (Monitor) dahinter aussieht, und welchen/woher den Spiegel. Kann dir dafür gerne bei Linux/Netzwerk behilflich sein
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

Devender

Ich kann jetzt  beim Linux nicht weiterhelfen  aber dafuer mit Spiegelwissen  :)
https://forum.fhem.de/index.php/topic,50187.msg679760.html#msg679760

Bin sehr zufrieden mit meinem Eigenbau und preislich nicht teuerer als ein guter Badspiegel.

Gruesse,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul