Neues Modul für Hyperion Server 98_Hyperion.pm

Begonnen von DeeSPe, 29 Juni 2016, 18:54:18

Vorheriges Thema - Nächstes Thema

Feuerpfeil

Zitat von: Jack_n am 18 Oktober 2016, 19:34:08
Mit Yes und nachfolgendem Passwort komme ich drauf .... ! ?

Du hast wahrscheinlich den Zugang nur für den User Pi eingerichtet.
Das ganze müsste dann noch für den Benutzer fhem eingerichtet werden.

Probier doch mal folgendes :


sudo mkdir /opt/fhem/.ssh
sudo cp /home/pi/.ssh/* /opt/fhem/.ssh/*
sudo chown fhem:dialout /opt/fhem/.ssh/*


Jack_n

#241
Ich habe das mit dem User root gemacht.
Den habe ich dann auch im Modul als SSH User eingetragen.

Muss ich da trotzdem noch pi und fhem nachziehen?

-> So wie es aussieht kenne ich jetzt die Lösung aus den älteren Beiträgen dieses Threads.

Unter dem User PI habe ich passwortlosen Zugang zu meinem Raspberry auf dem Hyperion läuft eingerichtet und angemeldet wird dann als root.
Da FHEM sich aber nicht als User pi anmeldet, sondern als User fhem muss ich die Rechte von pi auch auf fhem übertragen.

Denke ich hab's jetzt geschnallt   :)


DeeSPe

Zitat von: Jack_n am 19 Oktober 2016, 06:10:59
Ich habe das mit dem User root gemacht.
Den habe ich dann auch im Modul als SSH User eingetragen.

Muss ich da trotzdem noch pi und fhem nachziehen?

-> So wie es aussieht kenne ich jetzt die Lösung aus den älteren Beiträgen dieses Threads.

Unter dem User PI habe ich passwortlosen Zugang zu meinem Raspberry auf dem Hyperion läuft eingerichtet und angemeldet wird dann als root.
Da FHEM sich aber nicht als User pi anmeldet, sondern als User fhem muss ich die Rechte von pi auch auf fhem übertragen.

Denke ich hab's jetzt geschnallt   :)

Also hast Du es nun geschafft einzurichten?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

Hallo Dan,

ich habe das erst heute früh gefunden.

Bin noch auf Arbeit aber so ab 17.00 komm ich dazu es wieder zu testen.

Es gibt noch eine Sache bei der ich nicht verstehe was da passiert, hat aber Nichts mit Deinem (genialen) Modul zu tun:

Ich habe Kodi so eingerichtet, dass man in den Favoriten zwischen HDMI als Quelle und Kodi als Quelle umschalten kann (interner Grabber , externer Grabber).

Wenn HDMI als Quelle läuft bekommt Dein Modul und auch die Hyperion-APP keinen Zugriff auf das Ambilight.
Wenn Kodi als Quelle läuft dann meldet Dein Modul success und auch die Hyperion-APP läuft.

Das ist mehr als dubios , hat doch nix mit Rechten oder so zu tun, oder blockt Hyperion alles ab solange HDMI als Quelle benutzt wird ?


Feuerpfeil

#244
Hallo zusammen,

da es immer wieder zu Schwierigkeiten kommt, das Hyperion-Modul ans rennen zu bekommen,
möchte ich Euch hier ein kleines Tutorial zur Verfügung stellen.

Ich möchte Euch hier speziell zeigen, wie sich das ganze mit Hyperion auf OpenElec realisieren lässt.

1. Passwordless SSH Login

Das ist die Grundvoraussetzung damit dieses Modul überhaupt funktioniert.
Zunächst loggen wir uns auf unseren FHEM-Pi mittels SSH ein und dann kann's losgehen.
Interaktive Eingaben, habe ich FETT markiert.


Als erstes wird das Schlüsselpaar für den Benutzer 'fhem' generiert:

sudo -u fhem ssh-keygen -t rsa


Bei folgender Ausgabe einfach alles mit ENTER bestätigen :

Generating public/private rsa key pair.
Enter file in which to save the key (/opt/fhem/.ssh/id_rsa):  ->Enter
Created directory '/opt/fhem/.ssh'.
Enter passphrase (empty for no passphrase):   ->Enter
Enter same passphrase again:   ->Enter
Your identification has been saved in /opt/fhem/.ssh/id_rsa.
Your public key has been saved in /opt/fhem/.ssh/id_rsa.pub.


Wir bleiben nun auf der Console des FHEM-Pi und erstellen via SSH ein .ssh Verzeichnis auf dem OpenElec-Pi:

ssh root@openelec mkdir -p .ssh


Es erscheint folgende interaktive Eingabe :

The authenticity of host 'openelec (192.168.82.20)' can't be established.
ECDSA key fingerprint is 14:9a:28:58:a6:16:00:00:00:00:00:00:00:00:00:00.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'openelec,192.168.82.20' (ECDSA) to the list of known hosts.
root@openelec's password: openelec

Der generierte Schlüssel des Users 'fhem' wird nun zum OpenElec-Pi übertragen :

sudo cat /opt/fhem/.ssh/id_rsa.pub | ssh root@openelec 'cat >> .ssh/authorized_keys'


root@openelec's password: openelec

Die erste Verbindung wird nun hergestellt.
Hier kommt es zunächst nochmal zu einer interaktiven Eingabe.

sudo -u fhem ssh root@openelec


The authenticity of host 'openelec-sz (192.168.82.20)' can't be established.
ECDSA key fingerprint is 14:9a:28:58:a6:16:00:00:00:00:00:00:00:00:00:00.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'openelec-sz,192.168.82.20' (ECDSA) to the list of known hosts.


exit


jetzt sollte der Passwortlose Login mit dem User 'fhem' vom FHEM-Pi zum OpenElec-Pi funktionieren:

sudo -u fhem ssh root@openelec



2. Anpassung des Fhem-Moduls für OpenElec

Falls noch nicht geschehen :

define wz_hyperion Hyperion ip_des_openelec-pi 19444 10



attr wz_hyperion hyperionBin /storage/hyperion/bin/hyperiond.sh
attr wz_hyperion hyperionConfigDir /storage/.config/ambilight/     <--- ist bei mir evtl anders, da ich ein OpenElec-PlugIn benutze
attr wz_hyperion hyperionSshUser root



get wz_hyperion configFiles


Sollte Euch nun ein Ergebniss liefern und schaut bei mir so aus :
Found 3 config files. Please refresh this page to see the result.

Ich hoffe, ich konnte einige Unklarheiten beseitigen.

Und nochmals VIELEN DANK an DAN, dass er uns das mit seinem Modul ermöglicht hat !!!
Viele Grüße und viel Spaß mit Hyperion auf FHEM,

Lars

DeeSPe

#245
Zitat von: Jack_n am 19 Oktober 2016, 10:50:51
Ich habe Kodi so eingerichtet, dass man in den Favoriten zwischen HDMI als Quelle und Kodi als Quelle umschalten kann (interner Grabber , externer Grabber).

Wenn HDMI als Quelle läuft bekommt Dein Modul und auch die Hyperion-APP keinen Zugriff auf das Ambilight.
Wenn Kodi als Quelle läuft dann meldet Dein Modul success und auch die Hyperion-APP läuft.

Das ist mehr als dubios , hat doch nix mit Rechten oder so zu tun, oder blockt Hyperion alles ab solange HDMI als Quelle benutzt wird ?

Das sieht für mich so aus als wenn Du in deiner HDMI config.json den jsonServer nicht aktiviert hast!
Prüfen kannst Du das am einfachsten mit HyperCon, oder schaust selbst mal in die config.json.
Da solltest Du sowas finden und es darf nicht auskommentiert sein:
    /// The configuration of the Json server which enables the json remote interface
    ///  * port : Port at which the json server is started
    "jsonServer" :
    {
        "port" : 19444
    },


Das Modul blockiert bei statusRequest nicht.



@Feuerpfeil:
Vielen Dank für die Zusammenfassung für openelec Benutzer.
Vielleicht hilft es ja dem Einen oder Anderen beim Einrichten.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

Hallo Dan,

guter Hinweis, das schaue ich heute Abend auch gleich nach.

Danke an Dich für das tolle Modul und danke auch an Lars für die super Anleitung.

LG
Joachim


Jack_n

Sodele....

ich habe es jetzt geschafft, dass SSH funktioniert und get configfiles auch.

Allerdings kommt jetzt ein neuer Fehler: Found just one config file. Please add at least one more config file to properly use this function.

Ich habe in dem Verzeichniss 3:

hyperion.config.json
hyperion.config.grabber.json
hyperion.config.kodi.json

Habt Ihr einen Rat ?

DeeSPe

Das wurde hier im Thema auch schon besprochen...

Du hast leider in Deinen Dateinamen die doppelte Endung (.config.json) zerstört! Genau nach Dateien mit dieser Endung wird aber gesucht.
Entweder Du benennst die Dateien um:
hyperion.config.json
grabber.config.json
kodi.config.json


Oder Du erstellst Dir für jede Datei einen Link dessen Name auf .config.json endet.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

#249
Hallo Dan,

wir kommen der Sache näher   :) :) :)

Also, die 3 Configfiles werden gefunden.

Sobald ich allerdings versuche eine der configs mit set Ambilight configFile ....bla..... zu aktivieren bekomme ich erst ein state disconnected und dann state error.

Wenn ich jetzt in Kodi wieder umschalte auf eine der Configs dann wird der state wieder success...

Bin da gerade echt total ratlos.

JSON ist in allen Configs von mir aktiviert.


DeeSPe

Zitat von: Jack_n am 19 Oktober 2016, 17:26:39
Sobald ich allerdings versuche eine der configs mit set Ambilight configFile ....bla..... zu aktivieren bekomme ich erst ein state disconnected und dann state error.

Das ist genau richtig!
Der Hyperion Prozess wird ja beendet und damit geht auch die bestehende Verbindung von FHEM zu Hyperion verloren.
Nach kurzer Zeit sollte die Verbindung aber automatisch wieder von FHEM aufgebaut werden und entsprechend auch der ERROR ausbleiben.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

Leider passiert selbst nach 5 Minuten nix mehr.

Wie kann ich denn zB. prüfen ob der Pfad zur Hyperiond passt ?

DeeSPe

Auf Deinem Hyperion Server (ist bei Dir wohl openelec) per SSH anmelden und in der Console:
ls /storage/hyperion/bin/
eingeben.

Wird dort hyperiond aufgelistet, liegt es auch da!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jack_n

Hallo Dan,

das passt auch.

Bin jetzt wirklich überfragt was noch sein kann.

Kann man was aus dem Log lesen ?:

2016.10.19 18:38:10 3: Opening Ambilight device 192.168.178.25:19444
2016.10.19 18:38:20 3: Opening Ambilight device 192.168.178.25:19444
2016.10.19 18:38:30 3: Opening Ambilight device 192.168.178.25:19444
2016.10.19 18:38:40 3: Opening Ambilight device 192.168.178.25:19444
2016.10.19 18:38:42 4: Ambilight: Hyperion_Set cmd: ?
2016.10.19 18:38:42 4: Ambilight: Hyperion_Set duration: 0, priority: 0
2016.10.19 18:38:43 4: Ambilight: Hyperion_Set cmd: ?
2016.10.19 18:38:43 4: Ambilight: Hyperion_Set duration: 0, priority: 0
2016.10.19 18:38:43 4: Ambilight: Hyperion_Set cmd: ?
2016.10.19 18:38:43 4: Ambilight: Hyperion_Set duration: 0, priority: 0
2016.10.19 18:38:50 3: Opening Ambilight device 192.168.178.25:19444

DeeSPe

Nein, aus dem Log sieht man nichts.

Was passiert denn wenn Du eine andere config Datei aus FHEM heraus laden willst?
Geht Hyperion aus und startet dann wieder?
Bekommt nur FHEM nicht mit dass Hyperion wieder da ist? Das kann ich mir eigentlich nicht vorstellen!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe