Autor Thema: Neues Modul für Hyperion Server 98_Hyperion.pm  (Gelesen 20305 mal)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Neues Modul für Hyperion Server 98_Hyperion.pm
« am: 29 Juni 2016, 18:54:18 »
Hallo Gemeinschaft!

ACHTUNG: Das Modul ist seit 4.8.2016 offizieller Teil von FHEM und somit im Update enthalten.

Hier ein erster Entwurf meines völlig neu geschriebenen Moduls für den Hyperion Server (Ambilight).
Inspiriert dazu wurde ich durch dass Modul von Bootscreen in diesem Thema. Vielen Dank dafür.
Ganz besonderen Dank spreche ich hiermit Andre (justme1968) aus, durch den ich sehr viel gelernt habe und der mir mit vielen Ratschlägen beiseite stand. Auch von seinen HUE Modulen habe ich mir einiges abgeschaut.

Nun geht's aber los:

Eventuell ist es nötig Hyperion selbst auf die letzte Version zu bringen. Das geht am Besten mit dem Tool HyperCon.
Aktuell ist V1.03.2, welche ich auch zur Erstellung dieses Moduls verwendet habe.

Mein FHEM läuft auf der aktuellen Raspbian Version Jessie mit allen Updates und Perl Version v5.20.2.

Des Weiteren muss auf Eurem FHEM Host das Perl Modul JSON installiert sein.
Die Installation geht auf dem RPi mit:
sudo apt-get install libjson-perl
Falls Ihr vorher schon mal eine Version von 98_Hyperion.pm im Einsatz hattet, empfehle ich Euch das alte Device zu löschen bevor Ihr diese Version von 98_Hyperion.pm einspielt. Es haben sich nämlich fast alle Internals und Readings verändert.

Was das Modul schon kann:
  • aktuellen Status ermitteln/anzeigen (aus/Farbe/Effekt/Ambilight)
  • setzen von aus/Farben/Effekten/Ambilight
  • vollständige Farbkalibrierung durch setzen der entsprechenden Werte set <name> <reading name> <value> (wie in den Pro Versionen der entsprechenden Apps)
  • alle gewohnten set's für RGB Lichter sind vorhanden (setExtensions)
  • Quellenumschaltung (Neustart von Hyperion mit anderer Konfigurationsdatei) für lokale und remote Hosts (passwortlose SSH Authentifizierung muss für user fhem zum remote Host eingerichtet sein)
  • definierbares automatisches Polling
  • Anlegen von vordefinierten Attributen beim Definieren
  • state beinhaltet immer den aktuell gesetzten Status (gerade eingestellter Modus aus/Farbe/Effekt/Ambilight)
  • mit get <name> statusRequest kann der aktuelle Status des Hyperion Servers manuell abgerufen werden
  • mit get <name> configFiles kann die Liste der verfügbaren Konfigurationsdateien des Hyperion Servers manuell abgerufen werden
  • Attribut für Ordner mit Hyperion Konfigurationsdateien, wenn nicht oder nicht anders konfiguriert: default: /etc/hyperion/
  • Attribut für den Pfad von hyperiond, wenn nicht oder nicht anders konfiguriert: default: /usr/bin/hyperiond (ACHTUNG: openelec Benutzer setzen bitte als Binary nicht hyperiond sondern hyperiond.sh)
  • Attribut für eigene Effekte auf Basis bereits vorhandener Effekte
  • Attribut für den SSH Benutzer, wenn nicht oder nicht anders konfiguriert: default: pi
  • Attribut für default priority, wenn nicht oder nicht anders konfiguriert: default: 0
  • Attribut für default duration, wenn nicht oder nicht anders konfiguriert: default: infinite
  • Funktion für devStateIcon
  • Modul optimiert für Kompatibilität mit anderen Modulen wie LightScene und structure
  • Modul optimiert für Homebridge/HomeKit

Was noch verbessert werden soll und Fehler:
  • evtl. non-blocking für SSH Anfragen
  • Übergabe von Effekt Parametern

Das Device wird so definiert:
define <name> Hyperion <IP oder Hostname> <Port> [<Interval>]
Für den auf dem selben Host laufenden Hyperion Server z.B.:
define wz_TVLicht Hyperion localhost 19444 10
Für den auf einem remote Host laufenden Hyperion Server z.B.:
define wz_TVLicht Hyperion 192.168.1.66 19444 10
Entwickelt und getestet habe ich mit den tagesaktuellen Versionen von FHEM, Hyperion Server und Hyperion Remote für iOS. Der Hyperion Server läuft bei mir auf dem selben System wie mein produktives FHEM. Mein Test-FHEM greift remote auf den Hyperion Server zu und bei mir klappt alles bisher einwandfrei wenn für den Benutzer fhem eine passwortlose Authentifizierung zum remote Host eingerichtet ist.

Die Befehle zum wechseln der Quelle bzw. Neustart von Hyperion erfordern zwangsweise sudo Rechte für den Hyperion Prozess und für killall für den entsprechenden User (habe bisher keine andere Lösung dafür gesehen, vielleicht hat ja jemand eine bessere parat). Das heißt auf dem lokalen Hyperion Host braucht der User fhem die entsprechenden Rechte und bei einem remote Hyperion Host der User der sich per SSH anmelden soll.
Um das zu erreichen kann man dafür die Datei /etc/sudoers auf dem Hyperion Server Host bearbeiten. Ich habe folgende Ergänzungen ganz am Ende gemacht (Pfade entsprechend des eigenen Systems anpassen):

/etc/sudoers
fhem ALL=(ALL) NOPASSWD:/usr/bin/hyperiond,/usr/bin/killall

Da der User pi bei mir sowieso sudo Rechte besitzt brauchte ich für diesen keinen weiteren Eintrag anlegen.

Würde mich sehr freuen wenn das Modul von dem ein oder anderen mal getestet wird.

Viel Spaß damit.

Gruß
Dan

P.S. Feedback in Form von Kritik bzw. Rat- und Vorschläge sind gern willkommen.



EDIT 01.07.2016
Hinweise zum manuellen Erweitern des homebridgeMapping


Mapping für Effekte
Dann für jeden gewünschten Effekt eine zusätzliche On Characteristic am Ende des homebridgeMapping einfügen, z.B. für Effekt Knight Rider:
On=state,subtype=Effekt.Knight.Rider,valueOn=/.*Knight_rider/,cmdOff=off,cmdOn=effect+Knight_rider
Mapping für Konfigurationsdatei (z.B. Quellenumschaltung)
Eine zusätzliche On Characteristic am Ende des homebridgeMapping einfügen, z.B. für die beiden Konfigurationsdateien hyperion.config.json (z.B. Grabber Kodi) und hyperion-hdmi.config.json (z.B. Grabber HDMI):
On=configFile,subtype=Eingang.HDMI,valueOn=hyperion-hdmi,cmdOff=configFile+hyperion,cmdOn=configFile+hyperion-hdmi


UPDATE 13.07.2016

  • neues Reading dim
  • neues set für dim
  • Reading und set temperature umbenannt in colorTemperature (das alte Reading wird automatisch gelöscht)
  • Reading und set config umbenannt in configFile (das alte Reading wird automatisch gelöscht)
  • "set getConfigs" ersetzt durch "get configFiles"
  • zusätzliche neue sets für dimDown, dimUp (Stufen können über Attribut konfiguriert werden, default 5(%))
  • zusätzliche Slider für sets
  • habe versucht einen kleinen Workaround einzubauen damit keine vollständig gesättigten Farben übernommen werden (Sättigung ist begrenzt auf 98%, alles was darüber ist wird automatisch heruntergerechnet) um zu verhindern dass der Server als off angezeigt wird, ich hoffe dass der Fehler in der nächsten Hyperion Version nicht mehr vorhanden ist, dann nehme ich dass wieder raus
  • angepasstes und verbessertes homebridgeMapping, im default Mapping habe ich noch einen Schalter zum Ein-/Ausschalten des Effektmodus konfiguriert, Beispiele für Konfigdatei oder Effekte sind weiter oben unter "EDIT 01.07.2016" zu finden (wenn das Attribut homebridgeMapping komplett gelöscht wird, so wird das default Mapping beim nächsten statusRequest automatisch wieder erstellt)
  • Readings lastError und serverResponse informativer gestaltet
  • Fehlermeldung bei fehlendem luminanceMinimum Reading (ältere Hyperion Version!?) behoben
  • RegEx Eingabeprüfungen auf alle sets
  • Konfigurationsdateien werden nun ohne die Endung ".config.json" angezeigt (somit ist dsa Dropdown schmaler, das eventuelle homebridgeMapping kürzer und wer braucht schon die doppelte Endung zur Auswahl?)
  • kleine Verzögerung nach set eingebaut bis statusRequest ausgeführt wird um dem Hyperion Server etwas Zeit zu geben die Änderungen im JSON anzuzeigen, also nicht wundern wenn es nach set einen Moment dauert bis die neue Einstellung in FHEM angezeigt wird
  • viele kleinere Verbesserungen und Fehlerbehebungen um das Modul noch zuverlässiger zu machen
  • Anpassen und Vervollständigen der Dokumentation

UPDATE 14.07.2016

  • Fehler beim Setzen der Internals gefixt - hostname, build_version und build_time wurden nicht angezeigt.

UPDATE 17.07.2016

  • Warnmeldungen "Use of uninitialized value in string" behoben

UPDATE 25.07.2016

  • eventuelles Blockieren von FHEM beim define behoben

UPDATE 26.07.2016

  • Blockieren/Absturz von FHEM beim Setzen von Effekten behoben (Debian Wheezy)
  • regex für hyperionConfigDir und hyperionBin angepasst damit auch Punkte im Pfad funktionieren
  • Wegfall von sudo falls hyperionSshUser root gesetzt ist
  • Fehler beim Setzen von webCmd behoben
  • Rechtschreibfehler behoben
  • Dokumentation angepasst

UPDATE 2 26.07.2016

Mit der neu veröffentlichten Hyperion Server Version "V1.03.2 (brindosch-99d9396/d3713a8-1469452981" von "Jul 25 2016 06:54:36" ist der von mir berichtete Fehler (https://github.com/hyperion-project/hyperion/issues/701) korrigiert worden.
Darum habe ich den von mir in das Modul eingebauten Workaround nun ab dieser Version entfernt. Ein Setzen von voll gesättigten Farben ist nun somit möglich und der Hyperion Server zeigt diese auch ordnungsgemäß beim statusRequest an.

  • entfernt: Workaround um keine voll gesättigten Farben setzen zu können
  • Reading lastError wird nun beim statusRequest auch aktualisiert wenn es sich nicht geändert hat um zu signalisieren dass der Fehler aktuell ist

UPDATE 31.07.2016

  • userattr lightSceneParamsToSave wird nun automatisch zum Hyperion Device hinzugefügt falls nicht vorhanden um den Fehler "Hyperion: unknown attribute lightSceneParamsToSave. Type 'attr Hyperion ?' for a detailed list." zu umgehen

UPDATE 03.08.2016

Das Modul ist nun per FHEM Update verfügbar, die Version im Update entspricht der letzten hier veröffentlichten Testversion. Darum habe ich das hier angehängte Modul entfernt. Bei Bedarf werde ich neuere Testversionen des Moduls wieder hier veröffentlichen.


UPDATE 04.08.2016

  • Prüfung des global Device auf userattr lightSceneParamsToSave und homebridgeMapping bevor sie dem Hyperion Device hinzugefügt werden
  • kleine Verbesserungen am Code
  • Anpassungen am Inhalt der Dokumentation
  • Anpassungen am Layout der Dokumentation

UPDATE 07.08.2016

  • Loglevel von 3 auf 4 geändert wenn der aktive Effekt abgefragt wird
  • Nach erfolgreichem "get configFiles" wird nun die Seite automatisch neu geladen um die veränderten sets anzuzeigen

UPDATE 09.08.2016

  • Neues Attribut hyperionNoSudo hinzugefügt, damit ist es nun möglich auch als nicht-root Benutzer die Befehle ohne sudo auszuführen (falls man dem Benutzer auf anderem Wege die Berechtigung dazu erteilt hat)
  • Zurückgenommene Änderung: Autoreload nach "get configFiles", werde es in einem zukünftigen Update wieder mit einer besseren Lösung implementieren

UPDATE 10.08.2016

  • Modul spezifische sets geändert auf Device spezifische sets

UPDATE 14.08.2016

  • Bugfix: Status clearall sollte nun zuverlässig in allen Konfigurationen von Hyperion erkannt werden

UPDATE 19.08.2016

  • neues Attribut disable
  • neues devStateIcon für Effekt Modus
  • commandref summary hinzugefügt

UPDATE 22.08.2016

  • devStateIcon mit dim Wert für RGB Modus

UPDATE 25.08.2016

  • Kommunikation mit JSON Server ist nun non-blocking (SSH folgt in einem späteren Update)
  • Code aufgeräumt und alten Code entfernt

UPDATE 26.08.2016

  • Aktualisierung der Readings duration und priority repariert
  • duration zeigt nun immer die noch übrig bleibende Restdauer in Sekunden der zuletzt eingestellten Dauer oder infinite wenn keine Dauer gewählt wurde
  • fehlerhaften RegEx beim Setzen von blacklevel, gamma, threshold und whitelevel behoben
  • Umbennenung des Readings previous_mode in mode_before_off, um besser zu erkennen wofür das Reading benutzt wird (das alte Reading wird automatisch gelöscht)

UPDATE 27.08.2016

  • Fix gegen Crash Bug

UPDATE 28.08.2016

  • Fix #2 gegen Crash Bug

UPDATE 04.10.2016

  • Hyperion Versionsprüfung hinzugefügt um FHEM Abstürtze durch sehr alte Hyperion Versionen vorzubeugen
  • Mindestversion für Funktionalität mit diesem Modul ist Hyperion V1.03.2
  • neues Attribut hyperionVersionCheck um die Versionprüfung auf eigene Gefahr auszuschalten - ACHTUNG!: FHEM könnte dadurch instabil werden!
  • beim Setzen von rgb werden nun auch Großbuchstaben im Farbwert akzeptiert
  • weitere kleine Code Optimierungen und Anpassungen der Dokumentation

UPDATE 07.10.2016

  • "set <name> config ....." nur verfügbar wenn wenigstens zwei .config.json Dateien mit "get <name> configFiles" gefunden werden
  • weitere kleine Code Optimierungen und Anpassungen der Dokumentation

UPDATE 11.10.2016

  • Fehler mit "set <name> dimUp/dimDown <value>" behoben
  • devStateIcon für disconnected hinzugefügt
  • Anzeige der Anzahl an gefunden .config.json Dateien beim "get <name> configFiles"
  • neues Attribut hyperionAttrRestore um die automatische Erstellung der mitgelieferten Attribute zu unterbinden
  • Hyperion_readingsBulkUpdateIfChanged entfernt und ersetzt durch readingsBulkUpdate um dem Anwender die volle Kontrolle über die Erstellung der Readings zurückzugeben
  • exessivere Benutzung von RegEx
  • obsoleten Code entfernt
  • Anpassungen der Dokumentation

UPDATE 12.10.2016

  • Attribut hyperionAttrRestore entfernt, Default Attribute werden nur noch beim Definieren angelegt

UPDATE 17.10.2016

  • Fehler mit den SetExtensions behoben, on/off-till sollten nun auch deaktiviert werden wenn man danach manuell schaltet

UPDATE 18.10.2016

  • Falschen ERROR state bei erfolgreichem Define behoben
  • Fehlermeldung hinzugefügt wenn "get <name> configFiles" aufgerufen wird ohne verbunden zu sein

UPDATE 20.10.2016

  • Fehler behoben bei dem OpenELEC Benutzer die config nicht umschalten konnten

UPDATE 23.10.2016

  • Attribut "disable 0" hinzugefügt

UPDATE 25.10.2016

  • "disable 1" macht nun einen Disconnect, wird das Attribut entfernt oder auf 0 gesetzt so wird wieder eine Verbindung hergestellt, das kann einen Moment dauern da es nonblocking ist
  • Readings werden jetzt immer dynamisch erzeugt, je nachdem welche Readings vom Hyperion Server geliefert werden
  • set Kommandos werden jetzt immer dynamisch erzeugt, je nachdem welche Readings vom Hyperion Server geliefert werden und ob schon Konfig Dateien gelesen wurden
  • fehlendes readingsEndUpdate ergänzt
  • "event-on-change-reading .*" beim define hinzugefügt
  • Anpassungen der commandref

UPDATE 28.10.2016

  • Erkennung des off Status nach dem Starteffekt behoben
  • ein paar Readingswerte und -bereiche angepasst
  • Slider auf neue Werte angepasst
  • "event-on-update-reading serverResponse" beim define hinzugefügt
  • Anpassungen der commandref

UPDATE 29.10.2016

  • falsche Priorität für off behoben
  • Probleme mit dim/dimUp/dimDown behoben
  • ein einfaches clear ohne Angabe eines Wertes cleart nun die default Priorität
  • im default Attribut webCmd toogle ersetzt durch dimDown und dimUp
  • neues default Attribut cmdIcon

UPDATE 01.11.2016

  • neuer set Befehl toggleMode um die Modi durchzuschalten
  • neues Attribut hyperionToggleModes um die für toggleMode verfügbaren Modi und deren Reihenfolge festzulegen (kommaseparierte Liste)
  • dimDown/dimUp Befehle um Textfelder ergänzt
  • Attribut widgetOverride beim define hinzugefügt um aus den Textfeldern für dimDown/dimUp wieder Schaltflächen für webCmd zu machen
  • weitere kleine Anpassungen
  • commandref angepasst
  • commandref in deutsch hinzugefügt

UPDATE 05.11.2016

  • toggleMode funktioniert nun immer wie erwartet

UPDATE 15.11.2016

  • neue set Befehle für valueGainDown und valueGainUp, die Stufe kann mit übergeben werden oder im Attribut hyperionGainStep vordefiniert werden (Voreinstellung: 0.1)
  • commandref angepasst

UPDATE 24.11.2016

  • Fehler mit clear behoben
  • Fehler mit Setzen von Effekten mit Bindestrich im Namen behoben
  • Setzen der Effekte erweitert um als letztes Argument die Effektargumente als JSON String zu übergeben
  • neues Reading effectArgs
  • neues Attribut hyperionCustomEffects um eigene Effekte anzulegen (leerzeichengetrennte Liste von JSON Strings)
  • neuer set Befehl addEffect um einen Custom Effekt mit den aktuellen Einstellungen im Attribut hyperionCustomEffects hinzuzufügen
  • weitere kleine Verbesserungen
  • commandref angepasst

UPDATE 27.11.2016

  • RegEx Warnung behoben

UPDATE 03.12.2016

  • Problem mit InternalTimer behoben
« Letzte Änderung: 02 Dezember 2016, 22:53:21 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert
Gefällt mir Gefällt mir x 4 Liste anzeigen

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #1 am: 30 Juni 2016, 16:51:58 »
hallo, ich bekomme folgenden fehler "Cannot load module Hyperion", habe die pm unter "/opt/fhem/FHEM" gelegt. und wollte dann "define wz_TVLicht Hyperion 192.168.1.66 19444 10" eingeben. (angepasst auf meine werte). läuft nicht. fhem läuft auf RPI3 und hyper auf RPI 1 modell B. besten dank für deine arbeit

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #2 am: 30 Juni 2016, 16:53:54 »
Mal ein "reload 98_Hyperion.pm" in die Befehlszeile im WEB gemacht bzw. FHEM mal neu gestartet?

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #3 am: 30 Juni 2016, 16:56:43 »
da erhalte ich dann "Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_Hyperion.pm line 18.
BEGIN failed--compilation aborted at ./FHEM/98_Hyperion.pm line 18. "

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #4 am: 30 Juni 2016, 17:00:18 »
Dann wie im Text bereits beschrieben das JSON Modul installieren. Wirst Du auch für viele andere Module brauchen.

RPi:

sudo apt-get install libjson-perl
oder mit CPAN
sudo cpan install JSON
Bitte nicht in mehreren Themen die selbe Frage stellen!

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #5 am: 30 Juni 2016, 17:27:16 »
oh sorry. war nicht mit absicht :) habe es jetzt einbinden können. ich kämpfe mich jetzt mal mit homekit durch. hast du da evtl nen paar tipps? worauf ich achten muss? thx

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #6 am: 30 Juni 2016, 21:30:58 »
oh sorry. war nicht mit absicht :) habe es jetzt einbinden können. ich kämpfe mich jetzt mal mit homekit durch. hast du da evtl nen paar tipps? worauf ich achten muss? thx

Dafür gibt es ein eigenes HomeKit/Homebridge Thema.

Hier in diesem Thema geht es nur um das Hyperion Modul und dessen Features und eventuelle Bugs.

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #7 am: 01 Juli 2016, 09:58:52 »
Moin, also ist schon cool. kann Hyperion mit siri anschalten, ausschalten, farben ändern, lichtstärke ändern, Switchen zwischen tv-bild und festen licht. genial. geht auch die Effekte zu steuern? das hab ich noch nicht gefunden. bzw. gibt es einen eindeutigen sprachbefehl den ich noch nicht kenne? besten dank für deine mühen. einfach genial

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #8 am: 01 Juli 2016, 14:52:20 »
Moin, also ist schon cool. kann Hyperion mit siri anschalten, ausschalten, farben ändern, lichtstärke ändern, Switchen zwischen tv-bild und festen licht. genial. geht auch die Effekte zu steuern? das hab ich noch nicht gefunden. bzw. gibt es einen eindeutigen sprachbefehl den ich noch nicht kenne? besten dank für deine mühen. einfach genial

Nein das geht so ohne Weiteres nicht da es für HomeKit nicht sowas wie Dropdown Felder gibt.
Außerdem wäre das auch eher ein HomeKit/Homebridge Thema.
Da ich mich damit aber gut auskenne werde ich mal nicht so sein. ;)

Man könnte für jedem Effekt eine zusätzliche On Characteristic konfigurieren. Dann wird ein zusätzlicher Schalter angezeigt und mit diesem kann man den Effekt starten/stoppen.

Erweitere mal das homebridgeMapping um Folgendes, dann sollte schon mal der Effekt "Knight rider" gehen (leider kann man keine Leerzeichen im subtype konfigurieren, deshalb habe ich Bindestriche genommen):
On=state,subtype=Effekt-Knight-Rider,valueOff=off,valueOn=effect+Knight_rider,cmdOff=off,cmdOn=effect+Knight_rider
Für weitere Effekte einfach weitere On Characteristics konfigurieren.

Ich könnte das auch in das Modul mit einbauen, aber bei XX Effekten werden das ganz schnell zu viele Schalter.

Jetzt aber zu den für mich wichtigen Fragen:
Klappen denn sonst alle Funktionen?
Wie sieht es mit dem Laden der Configs aus?
Ist dein Hyperion remote oder local?

Heute Abend wird es wieder ein kleines Update für das Modul geben. Habe noch dim, hue und sat für Modus rgb mit eingebaut und einen Workaround damit man keine zu 100% gesättigten Farben einstellen kann (wegen dem off Bug).

Gruß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #9 am: 01 Juli 2016, 15:09:33 »
moin, supi, werde ich heute abend mal ausprobieren  ;) jetzt hab ich ja ne Erläuterung wie ich das eigenständig einarbeiten kann. das reicht mir :) zu deinen fragen.
Klappen denn sonst alle Funktionen?:
wie gesagt, on/off, dimmen, farbe ändern. läuft alles. (habe apa102)

Wie sieht es mit dem Laden der Configs aus?:
das is ne gute frage. ich bin noch relativ frisch dabei. benutze "home" und "eve" als app. hatte gestern abend noch versucht dieses als "accessory" einzubinden. hatte da so meine probs. liegt aber eher an der richtigen "Formatierung" der Datei. wenn dort irgenwas falsch läuft, zeigt er mir dann nichts an (habe funksteckdosen auch angeschlossen die ohne Einarbeitung angezeigt werden, wenn aber ein fehler in der "Config.json" passiert werden diese nicht mehr erreicht.) habe jetzt aber Hyperion und synology ergänzt. wird auch angezeigt. jedoch funzt synology nicht. glaube das da noch was fehtl, vielleicht auf der syno um zugriff zu erhalten. muss in die config.json überhaupt Hyperion erfasst werden? hab sie auch in der fhem config drin. is dann glaub ich nen doppelte geschichte?

Ist dein Hyperion remote oder local?
remote. Hyperion läuft auf nem RPI I (am TV befestigt), Fhem  homebridge auf RPI 3. aber wie gesagt. das funzt alles. auch mit siri

grüße

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #10 am: 01 Juli 2016, 22:34:31 »
Schön dass soweit alles funktioniert.

Mit "Laden der Configs" meine ich verschiedene Hyperion Configs mit denen man z.B. den Input umschalten kann (anderer Grabber), also zwischen z.B. Kodi und HDMI. Ich nutze kein Kodi, bei mir läuft alles über HDMI und somit muss ich nichts umschalten. Die Configs werden beim define automatisch geladen sofern der Pfad zu den Dateien /etc/hyperion/ ist. Für remote Hyperion (wie bei Dir) muss natürlich noch der SSH User konfiguriert werden sofern es nicht "pi" ist und passwortlose SSH Authentifizierung zum remote Host für den entsprechenden User.

Zur Homebridge config.json:
Alles was eh in FHEM ist, musst Du nicht noch einmal in der config.json von Homebridge einbinden.
Ich hatte anfangs Hyperion auch auf diese Weise eingebunden da es kein Modul für FHEM gab. Das war zwar schön um das Ambilight per Siri zu steuern, aber keine Lösung für FHEM.
Gibt's nicht für Synos eventuell auch ein FHEM Modul? Habe auch eine DS und finde das Homebridge Plugin blöd!

Gruß
Dan
« Letzte Änderung: 01 Juli 2016, 22:44:35 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 905
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #11 am: 01 Juli 2016, 22:58:45 »
Bei mir klappt es leider nicht. :(

Ich nehme an, dass ich irgendwo einen Fehler drin habe. Als Fehler wird mir folgendes ausgegeben:

Can't connect to http://192.187.188.49:19444
Komischerweise kann ich mich auch nicht über die Hyperion App verbinden.  :-[

Hat jemand eine Idee, an welcher Stelle ich mit der Fehlersuche beginnen sollte?
FHEM - Cubietruck - Homematic - Sonos - MiLight -Homekit

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #12 am: 01 Juli 2016, 23:06:41 »
Bei mir klappt es leider nicht. :(

Ich nehme an, dass ich irgendwo einen Fehler drin habe. Als Fehler wird mir folgendes ausgegeben:

Can't connect to http://192.187.188.49:19444
Komischerweise kann ich mich auch nicht über die Hyperion App verbinden.  :-[

Hat jemand eine Idee, an welcher Stelle ich mit der Fehlersuche beginnen sollte?

Wenn es über die App schon nicht geht, dann geht es über das Modul auch nicht. Die benutzen beide den JSON Server von Hyperion!
Ist der JSON Server in Hyperion überhaupt aktiviert?

Schau dir mal Deine Hyperion Config nochmal in HyperCon an.
Hänge einen Screenshot an wie es aussehen sollte.
Eventuell hängt da auch eine Firewall oder SELINUX dazwischen???

EDIT: Was ist das für eine komische IP? Das ist doch kein privater Bereich!?

Gruß
Dan
« Letzte Änderung: 01 Juli 2016, 23:08:17 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Ronniedinho

  • New Member
  • *
  • Beiträge: 15
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #13 am: 02 Juli 2016, 01:06:22 »
ich wollte jetzt mal nen update bei fhem machen. bekomme aber dieses als antwort:

2016.07.02 01:04:50 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN144> line 1.
2016.07.02 01:05:00 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN145> line 1.
2016.07.02 01:05:10 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN146> line 1.
2016.07.02 01:05:20 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN147> line 1.

und das steht in den logs:
2016.07.02 01:06:40 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN155> line 1.

weisst du rat?

« Letzte Änderung: 02 Juli 2016, 01:08:10 von Ronniedinho »

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3180
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #14 am: 02 Juli 2016, 01:12:03 »
ich wollte jetzt mal nen update bei fhem machen. bekomme aber dieses als antwort:

2016.07.02 01:04:50 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN144> line 1.
2016.07.02 01:05:00 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN145> line 1.
2016.07.02 01:05:10 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN146> line 1.
2016.07.02 01:05:20 1 : PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN147> line 1.

und das steht in den logs:
2016.07.02 01:06:40 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_Hyperion.pm line 254, <GEN155> line 1.

weisst du rat?

Welche Version von 98_Hyperion verwendest du genau? Das steht ganz oben im Kopf der Datei!
#####################################################################################
# $Id: 98_Hyperion.pm 0011 2016-06-30 00:55:11Z DeeSPe $

Genau diese Version?

Welche Version von Hyperion hast Du im Einsatz?

EDIT: Der Fehler hat aber nichts mit dem FHEM Update zu tun, das sollte trotzdem normal durchlaufen.

Gruß
Dan
« Letzte Änderung: 02 Juli 2016, 01:13:43 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

 

decade-submarginal