Beiträge von SJunkies

    Hallo zusammen,


    kann mich leider nur kurz melden, daher erst einmal vielen Dank @Anthrax für die Arbeit und das zusammenschreiben der Anleitung!!!!


    Bezüglich Service kann ich nur sagen:


    Versuche mal statt systemctl -> sudo systemctl (also vor dem ganzen Befehl noch sudo schreiben)
    Du bist bei OSMC nicht als Root angemeldet und mit sudo vor jedem Befehl, erhältst du Root Rechte für den Befehl, ohne extra als Root angemeldet zu sein.


    Grüße
    SJ

    @Anthrax


    danke dir für die weiteren Infos und den mir jetzt verständlichden Aufbau deines Setups ^^


    DEBUG Modus aktivierst du wie folgt:


    über die Config bei:


    "logger": {
    "level": "debug"
    }


    auf level auf "debug" umstellen oder in der WebConfig unter System -> Protokoll und da im Dropdown auf Debug stellen...
    ACHTUNG: wird vermutlich viele Einträge erzeugen, also nur temporär aktiviert lassen, da aktuell jeder Farbwechsel mit allen Farbwerten jeder Lampe geloggt wird.


    Defaultwerte sind:


    brightnessFactor = 1.0
    brightnessMin = 0.0
    brightnessMax = 1.0


    Min 0% Hellligkeit, Max 100 % Helligkeit
    Ursprung-Helligkeitswert wird mit Factor 1.0 multipliziert
    Bsp für Factorverwendung: Wert von ursprünglich 0.5 (50% Helligkeit) wird bei z.B. Factor (1.2) = (0.5 * 1.2) = 0.6 (auf 60% Helligkeit angehoben).


    ich muss selbst nochmal prüfen, was für ein Wert genommen wird, wenn in der Config die Werte fehlen sollten...


    Ansonsten klingt das mit dem StandBy und extra Start/Stop Script doch schonmal gut...dann müsstest ja hyperion richtig runterfahren können wodurch auch die Lampen wieder freigegeben werden....also das gleiche als wenn du den service (oder wie auch immer es eingebunden ist) manuell stops hyperion ...



    Halte mich auf dem laufenden...bin weiterhin am internen optimieren...neue Code wird die Tage sicher wieder gepushed.


    Bitte denk noch an @hobbeLe , glaub er wartet auch schon gespannt auf deinen Input, falls du die Zeit dafür findest ^^
    Ich komm sonst auch erst die Tage dazu die ganzen Befehle zum hyperion.ng selbst compilen etc. zusammenzuschreiben.


    Danke dir und viele Grüße
    SJ

    Hi @Anthrax,


    sorry das ich mich gestern nicht mehr gemeldet habe, war leider verhindert.
    Danke dir auf jedenfall für deine Zeit zum erstellen der Logs!
    Muss aber gestehen, wirklich schlau daraus werde ich aktuell nicht...
    Du hast aber leider auch keinen DEBUG Modus bei den hyperion Instanzen aktiv gehabt, sondern etwas "darunter"...Info Modus oder sowas...
    Könntest du daher bitte, nur für das blau Problem bei Schwarz nochmal im Debug Modus die Ausgabe Loggen und deine Configs noch mit dazu packen....Sorry für den doppelten Aufwand :/


    Ich hab dafür extra im "entertainment-api" branch einen Debug Commit gemacht, wo du Farben wieder mit ausgegeben und geloggt werden.
    Wenn du den dafür verwenden würdest, wär das super!


    Ich habe bei mir aber selbst letztens noch etwas in meinen Loggs beobachtet, wo er beim beenden der Instanz an die Hues zusätzlich nochmal an alle einen blauen Farbton sendet, aber die Helligkeit auf 0 setzt...eventuell macht er das auch zwischenzeitlich im "aus" status, nur bei dir ist die Helligkeit eine andere...daher wären deine hyperion configs als Info klasse!


    Was ich aber auf die schnelle nicht gecheckt habe, wieso du eine hyperion_grabber Log hast und einen hyerion_hue log...dachte die hues sind deine Main Instanz und die anderen 2 deine forward empfänger von der main...bin gerade etwas verwirrt, sorry...glaub der Kaffee wirkt noch nicht ganz ^^


    ...aber ich glaube, ich bin dem blau Phänomen auf der Spur... ^^


    Gab es schon Rückmeldung wegen dem Standby Thema beim Vero...würde mich trotzdem interessieren, wie dass dann gelöst wird :)


    Danke dir und bis später.


    EDIT:
    so ich bin nun doch mal Wach :)


    Ich hab mir nun nochmal deinen Hue Log angeschaut und glaube, das ich die Ursache für dein blau Problem gefunden habe...somit sollte dir das erneute Loggen erspart bleiben:


    Gut das ich diese Ausgabe hinzugefügt habe im Log ^^ :


    Nov 29 20:19:57 osmc hyperiond[2524]: LedDevicePhilipsHueEntertainment brightnessFactor set to 1
    Nov 29 20:19:57 osmc hyperiond[2524]: LedDevicePhilipsHueEntertainment brightnessMin set to 1
    Nov 29 20:19:57 osmc hyperiond[2524]: LedDevicePhilipsHueEntertainment brightnessMax set to 1


    brightnessMin, brightnessMax müssen Werte im Bereich von 0.0 bis 1.0 sein, wobei 1.0 = 100%, 0.5 = 50%, 0.1 = 10% etc. sind!
    Somit setzt du mit brightnessMin = 1, die Helligkeit immer auf 100%, egal welche Farbe!


    Ich selbst habe bei mir die Werte nicht verändert also brightnessMin = 0 und brightnessMax = 1.0, da ich gern die originalgetreuen Farbwerte erhalten möchte und diese nicht durch verändern von Factor, Min und Max aufgehellt / "verfälscht" werden sollen. Allerdings wenn du die Werte wieder zurück setzt, wirst du wieder das gleiche Problem wie vorher haben, das es dir zu dunkel sein wird. Für mich empfinde ich es nicht als zu dunkel, da dunkle Farbwerte nunmal keine Helligkeit ausstrahlen ^^ aber das empfindet nunmal jeder anders.


    Damit habe ich nun auch die Erklärung für deinen blauen Farbwert:
    Schwarz gibt es in dem Sinn als Farbe im XY Farbraum nicht, zumindes nicht im Hue-Gamma/Farb-Spektrum A-C, daher wird bei der RGB zu XY Konvertierung und nach der für die Hue Lamp entsprechende Gamma-Bereich Berücksichtigung, der nächstmögliche Farbwert der Ausgangsfarbe gesucht, was bei einem RGB Schwarz einem dunklem blau am nächsten kommt.


    Siehe Farbspektrum XY (nur ein Bsp):


    https://de.wikipedia.org/wiki/…ile:CIE-Normfarbtafel.png


    Sorry hab gerade die Grafik von Philips mit den Hue Gamma/Farbspektrum Bereichen A-C nicht zur Hand....
    ...du siehst, Schwarz gibt es nicht.


    Das erklärt mir nun auch im nachhinein, warum er beim Beenden der Instanz einen dunklen blauton und Helligkeit = 0 an die Hues sendet: es ist sozusagen der "Off/Aus" Befehl mit Schwarz als Farbe, welcher konvertiert eben dunkelblau ergibt.


    Soll heißen: bei dunklen / Scharzen Szenen sendet er auch ein dunkelblau an die Hues, da aber dein Min Wert auf 100% steht hast du ein hellstrahlendes blau bei "Schwarz"....klingt logisch im Nachhinein oder :p


    Die Frage die nun wieder aufkommt:
    Wie können wir das Problem lösen, damit trotzdem Min und Max verwendet werden können...
    Da habe ich auch schon eine Idee...zum einen...probiere doch noch einmal die unveränderten Standardwerte für Min und Max noch einmal aus ;) ...vielleicht empfindest du es im Nachhinein doch als genau richtig und es gefällt dir so wie ursprünglich gedacht :p
    Zum anderen gibt es wohl keine Möglichkeit im Stream den Status der Lampe, also an oder aus zu übermitteln!
    Ich kann selbst nur intern eine weitere Eingrenzung vornehmen, das wenn der Original Helligkeitswert 0% oder 1% (oder man kann später selbst eine Untergrenze in der Config für den z.B. BrightnessMinUntouchedThreshold bestimmen) beträgt, dieser nicht durch brightnessMin beeinflusst/verändert wird, sondern brightnessMin ignoriert.
    Damit wäre es von einem wirklich wieder dunkel, zum anderen dann aber gleich wieder extrem hell (zumindest wenn du die brightnessMin = 1 = 100% belässt)...


    Gruß
    SJ

    @Anthrax


    Super danke dir! Ich muss mir aktuell auch erst nochmal alles zusammen schreiben.
    Die "Anleitung" ist zwar soweit okay, aber paar Feinheiten hier und da sind dann doch manchmal gut zu wissen.
    Eventuell kann man sich ja im Build "Prozess" austauschen/ergänzen, falls überhaupt nötig ;)

    @Anthrax
    Danke für die Infos...bei mir wird es heute leider auch nichts mehr, schau mir morgen alles an, macht auch mit den Logs mehr Sinn ;)
    Kann ich dich bitten hobbeLe zu helfen, das gefixte hyperion installiert zu bekommen, damit bei ihm die hues auch die richtige Helligkeit haben.
    Hab euch die Änderungen für hyperion classic in einen neuen Branch gespielt, falls der umstieg zu hyperion.ng fürs erste zu kompliziert ist:


    https://github.com/SJunkies/hyperion/tree/hue-fixes


    Danke und Grüße
    SJ

    kein Stess, geht mir ja auch so ^^
    Wichtig wäre der Log bis zu dem Zeitpunkt, wo das blaue Licht auftritt / erzwungen wird, damit man sieht ob es in dem Moment intern doch zu einem Fehler kommt oder alles normal läuft etc...


    fyi: habe nur im aktuellen commit den Log für die Farbwerte wieder deaktiviert, der Log "explodiert" sonst ^^...falls wir das nochmal brauchen, aktiviere ich das nochmal.


    EDIT/Nachtrag:
    Ist bei dir nur der AmLogic Grabber aktiv oder auch ein externer Grabber über V4L?


    Nachtrag2 / Frage:
    Ist der Debug-Log verfügbar, wenn der Vero in den Standby geht?
    Also was passiert in dem Moment bei hyperion bzw. was ist sind die letzten Einträge etc...


    Danke Dir!

    @Anthrax / Marcus

    Die Lampen gehen bei mir gar nicht mehr aus wenn schwarz angezeigt wird. Meinst Du, dass in dem wo dein Code eigentlich ausschaltet evtl. noch irgendwas von der alten Rest API übernimmt? oder habe ich das falsch verstanden?


    Die RestAPI kommt nicht mehr zum Einsatz sobald die Entertainment API aktiv ist, einzig wenn die Lampen gelöscht bzw. neu initialisiert werden, weil ein Fehler vorlag, sollte der Originalzustand wieder hergestellt werden...mich wundert das es blau ist, da der Wert irgendwo her kommen muss...kannst du bitte einmal den Debug Modus aktivieren und den Log posten und auch deine Config dazu...von der Instanz mit den Hue ;)


    Ich glaub nur dass er damals bei schwarz die RestAPI verwendet hat, was aktuell nicht mehr der Fall ist.
    Das muss ich aber nochmal prüfen...eventuell gibt es auch einen Fehler und die Lampen werden wieder auf den Originalstatus zurückgesetzt, was aber nicht auffällt..daher wäre der Log eventuell hilfreich..


    ..oder noch anders gefragt...kannst du das blau Problem irgendwie "erzwingen" / hervorrufen?
    z.B. ein schwarzes Bild in Kodi starten oder einen Film mit einer stelle im Film die schwarz ist und dann pausieren...Die Frage ist, was da wirklich für ein Farbwert vorliegt...
    Mir geht es darum das ich es reproduzieren kann, da ich selbst beim starten eines Films wo alles schwarz ist bei mir auch die Lampen aus / dunkel sind...
    Irgendwas haut da nicht hin...kann das mir aber erst heute Abend anschauen... (Arbeit und so ^^) ..aber Log und Config wären da sicher hilfreich!


    Merci und Grüße

    Hi @Anthrax und @hobbeLe ,


    @hobbeLe:

    Ich finde es Super von dir dass du das Projekt weiter voran treibst! ;)


    Danke dir! Soweit ich es weiter voran treiben kann, werde ich das machen ^^


    Kann mir von euch jemand bitte erklären wie ich es installieren kann ?


    Hyperion läuft soweit, aber auch bei mir ist das Hue zu dunkel...


    Also zu dunkel klingt nach dem "Original" hyperion oder hyperion.ng, da die Änderungen (pull request) von mir noch nicht in den "Original" master der beiden (hyperion und hyperion.ng) übernommen wurden...aber da hat Anthrax ja schon die entsprechenden Infos von dir angefragt ;) ...bekommen wir denke ich alles hin.
    Gut wäre noch dein Setup/Hardware und deine hyperion config etc. zu wissen, was du im Einsatz hast, falls es zu Problemen kommt ^^


    @Anthrax:

    das scheint auch genau das Missverständnis zu sein - ich war bis gestern bei Dir auf Master und da war es mir immer etwas zu dunkel. Jetzt mit dem entertainment branch ist es zugegebenermaßen perfekt von der Helligkeit her (sobald meine Frau nicht mehr so drauf achtet werde ich es aber dennoch etwas dunkler tweaken).


    super, das es jetzt auch bei dir geklappt hat...allerdings wundert es mich schon etwas, da ich die Umstellung der Änderungen in den entertainment-api branch auch erst seit Montag (also vor 2 Tagen) gemacht habe und zuvor alle Änderungen im master lief...gut, wenn es bei dir nun funktioniert, um so besser ;)


    Was den Eindruck des Flackerns angeht - wie groß sind Deine Capturebereiche? Ich nehme an, dass die dominante Farbe ausgewählt wird also evtl. sind meine Bereiche zu klein (habe aktuell nur 0.15 vom Rand weg)...
    Wie groß wählst Du die?


    Ich hab bei mir 0.20 vom jeweiligen Rand eingestellt, allerdings kann ich ein direktes "Flackern" bei mir nicht bestätigen, nur einen schnellen Farbwechsel manchmal, das dürfte aber immer am aktuellen Bildmaterial liegen oder eventuell auch am Grabber...da bei mir selbst nur der interne Dispmanx Grabber verwendet wird, arbeitet der eventuell anders als deiner...
    Hab mal kurz gegoogelt und eventuell liegt auch ein Bug im von dir verwendeten amlgrabber vor:


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Kenne dazu aber keine genaueren Angaben, ob das wirklich der fall ist oder doch eher das Bildmaterial...


    Wie ist den deine Config bezüglich der Bildgröße im Bereich bzw. deine allgemeine Grabber Config(s):


    "framegrabber" :
    {
    ...
    // valid for grabber: osx|dispmanx|amlogic|framebuffer
    "width" : ...,
    "height" : ...,
    ...
    },



    Da es ja trotzdem 25Hz im Stream sind, wird da halt jeder Frame(!) sozusagen als Bild analysiert und geschickt und entsprechend die Farbe(n) angepasst.
    Eventuell kann man daran auch noch etwas finetunen oder zumindest für den eigenen Geschmack die Rate anpassbar machen.


    Standby ist auch so eine Sache - die Vero Box macht zwar eine rote LED an, wenn man per Kodi in Bereitschaft geht - allerdings scheint das Ding nicht wirklich zu schlafen und ist per ssh jederzeit bereit :-/ Da werde ich den Entwickler von OSMc/der Box nochmal anhauen.


    Das wäre super, wenn du da mal anfragen könntest, da ich selbst aktuell keinen genauen Anhaltspunkt habe.
    Es gibt zwar die Signaldetection, aber die ist für den externe Grabber gedacht, wegen Testbildern etc....aber da arbeite ich mich gerade erst ein...


    Blöd ist halt im Moment, dass immer sofort alle Lampen blau werden wenn das Bild schwarz ist oder die Hauptinstanz schläft/deaktiviert ist :( Das ist leider richtig schade und war in Deinem Master anfangs definitiv auch nicht der Fall bei mir. Diese Verhalten kam erst nach meinem Wechsel auf den entertainment branch vorgestern.


    Sind die Lampen bei dir beim einschalten, also beim ersten hochfahren von der api auch schon blau?
    Da die Vero Box auch OSMC verwendet, kommt ganz zum Start ein Blauer Screen mit OSMC Logo, wovon gleich die Farben verwendet werden, wenn der hyperion service startet, welcher dann auch gleich weiter gereicht wird an die andern Instanzen...zumindest ist es bei mir so.
    Diese Werte werden noch über die alte REST API übermittelt...das sieht man auch im Debug Modus im Log bei den Angaben von den Lampen:
    [hyperiond LedDevice] <INFO> Light xy .... created
    Ich hab allerdings noch eine Vermutung, was die Änderung zum damaligen master angeht...


    Falls das irgendwie wieder klappen sollte und die Lampen bei idle/schwarzem Bild richtig ausgehen und nicht mehr blau sind, könnte man doch sicherlich auch nach einer gewissen (evtl. parametrierbaren) Zeit die Verbindung zu den Lampen via Entertainment API gekappt werden, dann wäre auch die App wieder frei. Und sollte es doch eine ausgedehnte dunkle Szene gewesen sein, ist der reconnect doch auch in windeseile erledigt, oder?


    Danke! Die Idee hatte ich auch schon, das wäre eventuell mein nächstes Vorhaben gewesen, aber ich wollte noch wissen wie die Signalerkennung intern arbeitet...aber ich glaub, da es sich um einen internen Grabber handelt, dieser dauerhaft das aktuelle Bild verarbeitet - zumindest bei mir - da wären wirklich die Infos vom Entwickler der VeroBox gut, da man einen Raspberry z.b. auch nur ganz runter gefahren werden kann und es keinen Standby gibt...andernfalls würde das heißen, das der Stream dauerhaft aufrecht gehalten wird, weil es keinen Standby Modus...kannst du die VeroBox komplett runterfahren also nicht Standby?
    Eventuell ist es nur ein "Fake" Standby und dadurch laufen auch die hyperion Instanzen im Hintergrund weiter...
    Nur Vermutungen, habe ja keinen Vero ^^


    Ansonsten bloß nicht in Stress verfallen - der aktuelle Stand ist bezüglich Hue hundert mal besser als alles andere zuvor und der Rest ist Komfort!


    Abermals Danke für Deine Bemühungen - das Angebot mit dem Kaffee(s) steht noch!


    Gern und Merci Merci Merci :p ...aber möchte wirklich nochmal betonen, das die Vorarbeit auch andere geleistet haben (https://github.com/zlokomatic/hyperion.ng und Anregungen/Einflüsse konnte ich auch durch das geniale Projekt gewinnen: https://github.com/BradyBrenot/huestacean)


    Danke euch und Grüße
    SJ

    Hi Anthrax,


    sorry für die späte Antwort, finde im Moment wenig Zeit für das Projekt, aber ich arbeite weiter daran.


    Ja brightnessMin und brightnessMax habe ich hinzugefügt und sollten schon funktionieren.
    Die Schreibweise muss beachtet werden und kommt ebenfalls in die Config wo auch brightnessFactor definiert ist.
    Alle 3 Werte finden wieder Verwendung...wichtig dabei:
    brightnessMin und brightnessMax müssen mit 0.0 - 1.0 definiert werden...also 0.5 für 50% etc. der brightnessFactor ist wieder ein Multiplikator, wird aber diesmal auch auf einen anderen Grundwert verrechnet...daher lieber in 0.05 (1.05) Schritten zum Testen anfangen...
    Als Anmerkung: in der normalen Hue Version werden die Helligkeitswerte von 0 - 254 über die normale Rest API übermittelt...über die Streaming / Entertainment API sind es Werte von 0.0 - 1.0


    Noch zu deiner Anmerkung:

    Was die Helligkeit angeht teste ich natürlich immer dem aktuell knalligsten Film (zur Zeit Incredibles 2 ;)) allerdings wäre eine Gesamtanhebung der Helligkeit durchaus wünschenswert - bestenfalls mittels dem Faktor aus der GUI, oder?


    Ich persönlich brauche diese Min/Max etc. Werte nicht, da ich es mit meinem Setup in der "Originalfassung" genau richtig finde und sonst die Farbwerte auch verfälscht / heller sind als gewollt, aber da hat ja jeder ein eigenes empfinden...daher wundert es mich auch das du sogar bei Incredibles 2 das emfinden hast, dass es zu dunkel ist...kannst du eventuell mal ein Foto machen...kann das irgendwie nicht glauben...oder verstehe ich dich einfach nur falsch was du genau meinst?


    Ansonsten habe ich den Code nochmal überarbeitet, auch von der Arbeitsweise her, eventuell läuft er im ganzen etwas runder...


    Ich habe auch meine Repro etwas umstrukturiert, da ich anfangs versehentlich in den master die Änderungen gepushed habe inklusive tests etc.
    Der master hat jetzt die Original Repro von hyperion.ng und im Branch "entertainment-api" sind die aktuellen Änderungen zu finden...es gibt noch einen "flatbuffer-entertainment-api" branch, aber der ist nochmal was anderes...also bitte aufpassen! ;)


    Bitte aber die Commits im Allgemeinen noch mit Vorsicht zu genießen, ich teste gerade noch ein paar Dinge, da ich bei mir immer wieder einen bad_allow Memoryfehler bekomme, den ich versuche zu lösen. Anfangs dachte ich, es liegt an der Entertainment API, es scheint aber ein Problem mit dem ProtoServer zu sein, was wohl auch schon länger bekannt ist...
    Bei mir ist es als systemd eingerichtet, daher startet der Demon automatisch neu, daher sende ich auch bei jedem initialisieren nochmal einmal ein "stream":"active":false damit die API wieder freigegeben wird (falls in Verwendung), da sonst der nächste Handshake / Connect zur Bridge nicht stattfindet und einen Fehler verursacht...was wohl das Problem bei dir mit betrifft...wird aber aktuell nur beim automatischem neustart berücksichtigt, wegen dem Memoryoverflow/crash...


    Ich denke mit diesem Problem hängt es auch zusammen, dass ich in der Regel den Service für meine Entertainment-Instanz mehrfach neustarten muss bis eine erneute Verbindung zu Stande kommt. Die drei Verbindungsversuche scheinen dabei - zumindest bei mir - nichts zu bringen entweder er verbindet beim ersten Versuch oder gar nicht - und dann nur nach nochmaligen restart des Service???


    noch zu deinen Fragen:


    1. Sind bei Dir die Lampen aktuell auch blau, wenn das Bild schwarz zeigt? Im aktuellen Master sind die Lampen bei schwarz aus - was in Horrorfilmen (ist gelogen, zu gruselig - ganz dunkle Krimis ;-)) einen genialen Effekt hat. Lässt sich das irgendwie anpassen?
    2. Durch die Entertainment API werden die Lampen für meinen Geschmack teilweise zu schnell geändert bzw. flackern bei schnellen Szenen - ich hatte hier versucht mit Smoothing entgegen zu wirken allerdings habe ich nicht das Gefühl, dass die Parameter der Oberfläche einen nennenswerten Einfluss haben (selbst bei den max-Werten ist es noch zu hektisch)
    3. Gibt er bei Dir die Lampen wieder in der HUE-App frei, wenn deine Hyperion in den Standby geht?


    1. habe ich ab und an nur nach dem Start beobachtet, wusste aber nicht genau ob es daran lag das er den ersten Wert genommen hat, da mein Raspberry am Anfang von OSMC einen blauen Screen hat, wovon die Hues gleich zum Start Ihre Farbe bekommen...aber schwarz ist bei mir wirklich aus...aber ich hab mit brightnessMin/brightnessMax/brightnessFactor auch alles auf Standard...ich check das nochmal mit ab.
    2. Ich finde das macht es ja gerade aus, das es dadurch so dynamisch und direkt zum Bild passt.
    -> Ich schau aber das ich hier in Bezug auf "Smoothing" etwas integrieren kann..das Problem ist allerdings, das es ein dauerhafter Stream zur Hue Bridge ist, der im Millisekundentakt Daten streamed..ich schau was man da noch verfeinern / machen kann...
    3. Das ist mein aktuell schwierigster Punkt zum checken. Ich nutze aktuell den Raspberry direkt zum abspielen, daher wird bei mir der Dispmanx verwendet und somit wird immer gegrabbt...ich suche noch eine Möglichkeit wie ich das Signal in den Standby schicken könnte bzw. was hyperion macht um in den Standby zu gehen...


    Parallel versuche ich mit dem Control-Addon für Kodi den alten (hyperion classic) Effekt des Kodi video checkers wieder nachzustellen (https://github.com/hyperion-project/hyperion.ng/issues/474) Hier bin ich aber noch nicht so richtig weitergekommen... Früher hatte ich beispielsweise bei Pausieren eines Films die Lampen hellweiß werden lassen um das stille Örtchen besser aufzufinden - aktuell kann es auch mal Zappenduster sein und man stößt sich an der Peripherie :p:p:p


    Das kann ich mir auch mit ansehen, steht aber aktuell ganz hinter auf der ToDo Liste... sorry ;)


    Heads up und wenn Du nen Kaffee brauchst dann schick mal nen donation Link!


    Merci, darauf komme ich sicher mal zürück ;)


    Also wenn ich wieder Zeit finde, mach ich natürlich gern weiter, muss mich aber selbst in viel Code reinlesen/arbeiten/debuggen um die Probleme zu finden und das dauert leider .... in dem Sinne...Gute Nacht!


    Grüße SJ


    PS: Wegen Uhrzeit bitte Rechtschreibung etc. ignorieren :p

    @Anthrax
    Vielen Dank, ich hoffe das es dir und auch anderen hilft...habe dazu aber bei mir selbst jetzt eine Änderung vorgenommen..siehe weiter unten.
    Außerdem bin deinem Request nachgekommen ;)
    --- [hyperiond LedDevice] <INFO> Light ID 11 ("Lampe Couchtisch", LED index "0") created --- wird jetzt auch so ausgegeben.
    Habe aber in dem Zusammenhang mehrere Probleme festgestellt...ich hatte ein paar Anpassungen an meinem Entertainment Bereich vorgenommen und schon wurde eine andere Reihenfolge der LampenIDs von der API zurück geliefert, was zu einer falschen Zuordnungen in der Hyperion Config (led -> "index":0 ...) etc. geführt hatte.
    Die definierten index Bereiche wurden somit den falschen Lampen-IDs zugeordnet, als vorher gedacht.
    Als Lösung habe ich nun die LampenIDs, welche von der Bridge/API über die GroupID zurück gegeben werden sortieren lassen.
    Die kleinste ID zuerst...somit habe ich immer, egal wenn mal etwas geändert/erweitert wird die Config soweit richtig, das ich nur den index an der Stelle nach oben verschieben muss, wo dazwischen oder wenn wirklich neu dann am Ende ergänzt werden muss...
    also die Config wird nun so definiert:
    "index" : 0 -> kleinste LampenID
    "index" : 1 -> nächst höhere LampenID
    etc..


    Die Änderung ist aber nur in meinem Repository drin, daher bei Verwendung mit berücksichtigen ;) ...im "Original" bleibt es wie oben beschrieben, nur falls man mal etwas am Entertainment Bereich ändert, kann es sein das die Config nicht mehr passt und erneut geändert werden muss.


    Der Helligkeitfix ist direkt in der RGB to XY Convertierung integriert, der Brightness Factor wird für die Entertainment API nicht verwendet, da er nur ein Multiplikator des vorherigen Helligkeitswertes war/ist...bei der normalen Philips Hue Config (ohne Entertainment API) wird er noch verwendet, sollte aber auf 1 gesetzt werden. Der Fix kommt auch hier zum tragen.
    Sind deine Hues weiterhin so dunkel oder warum glaubst du das der fix nicht zum tragen kommt?
    Ich habe auch viele Scenen in Filmen wo es dunkel bleibt, weil der Rand da in dem Moment dunkler ist und der ermittelte Farbwerten, der den Lampe zugewiesen wurde keine starke Leuchtkraft hat...
    Ich teste immer mit einem Disney Film weil Cartoons meistens viel Farben und Helligkeit haben oder das Marvel Intro ist auch super ;)
    ...daran siehst du ob die Helligkeit passt.
    Eventuell ist in deiner Config noch etwas unstimmig....


    Hab mal dazu den DEBUG Log erweitert...damit man sieht welche Farbwerte gesetzt werden...man sieht aber nicht für welche Lampe, nur die Farbwerte:
    [[hyperiond LedDevice] <DEBUG> <LedDevicePhilipsHue.cpp:365:setColor()> { "xy": [0.1541, 0.0808], "bri": 211 }
    Eventuell kannst das einmal mit aktivieren für deine Hues um zu sehen, welche Farbwerte bzw Helligkeit (bri) gesetzt wird.


    Dazu in der Config:


    "logger": {
    "level": "debug"
    }


    auf debug umstellen oder in der WebConfig unter System -> Protokoll auf Debug stellen...
    ACHTUNG: wird vermutlich viele Einträge erzeugen, also nur temporär aktiviert lassen.


    Wie ist den dein Setup aufgebaut?
    Ich betreibe einen RPi3b+ an dem eine hyperion.ng Instanz läuft die für meine 268 APA102 LEDs am 4K65" konfiguriert ist...dazu eine 2. Instanz nur für die HUEs, welche aber nur als Empfänger der Daten von der ersten Instanz über den Forwarder-Port des Proto-Servers dient, welche auch eine getrennte Hue Config beinhaltet (also 2 Config Dateien). Somit sind Grabber usw. nur auf der ersten Instanz aktiviert und nötig...

    noch ein Nachtrag:
    Ich hab mir gerade mal die Definition von Philips für LCT024 und die Grundwerte für die entsprechende ColorGamut C angeschaut.
    Leider weiß ich nicht, wer die Werte damals hinterlegt hat, aber laut Philips, stimmen diese auch nicht in Hyperion!
    Das könnte eventuell auch manche Farbabweichungen bei mir erklären...ich passe die Werte definitiv mit an.


    [UPDATE]:
    Habe Anpassungen bezüglich Gamma C Werten und neuen Modellen in meinem Repository integriert und in beiden Projekten Request dafür eingereicht.

    @Anthrax ...ich selbst hoffe schon seit Monaten auf eine Umsetzung der Entertainment API für Hyperion, daher habe ich mich nun selbst dran gemacht mir das nötige C++ Verständnis anzueignen und die Integration in Hyperion.ng voranzubringen.
    Den meisten Dank muss ich aber an an dieser Stelle definitiv zlokomatic ( https://github.com/zlokomatic/hyperion.ng ) aussprechen!!!
    Er hat die meiste Vorarbeit geleistet, ich habe seinen Stand nur weiter geführt und gefixed / erweitert etc., da hyperion.ng anders als die normale hyperion Version aufgebaut ist und arbeitet, klappte die integration leider nicht ganz...
    ich bin selbst auch noch am herum probieren und debuggen, aber konnte die Entertainment API soweit schonmal zum laufen bringen und muss wirklich sagen, das Erlebnis, auch in Zusammenhang mit dem Helligkeitsfix ist schon sehr beeindruckend!
    Leider läuft aber noch nicht alles rund...
    Ich pushe in mein Repository immer wieder fehlerhaften Code, Debuggingtest + Debugausgaben etc..daher sind die Beschreibungen der Pushes meistens auch ohne genaue Definition, da vieles Testläufe sind...daher bitte erstmal meinen Status mit Vorsicht zu genießen.
    Sobald ich die Integration der Entertainment API für hyperion.ng erfolgreich abschliessen konnte, gebe ich euch Bescheid ;)


    Bezüglich der Lampenzuweisung in der Config:
    Rufe einmal über den Browser diese URL mit deinen Daten auf (IP und groupID sind schon aus deiner Config, USERNAME muss noch angepasst werden):


    http://10.0.10.4/api/USERNAME/groups/4


    Dann müsstest du ein JSON mit all deinen zugewiesen Lampen der groupID 4 bekommen.


    Die Reihenfolge im JSON, kannst du gleichsetzen wie sie in der Config sein muss.
    Wichtig hierbei ist die Indexangabe, welche bei 0 beginnen muss und entspricht ansonsten dem einer normalen LED Config!!!


    /// The configuration for each individual led. This contains the specification of the area
    /// averaged of an input image for each led to determine its color. Each item in the list
    /// contains the following fields:
    /// * index: The index of the led. This determines its location in the string of leds; zero
    /// being the first led.
    /// * hscan: The fractional part of the image along the horizontal used for the averaging
    /// (minimum and maximum inclusive)
    /// * vscan: The fractional part of the image along the vertical used for the averaging
    /// (minimum and maximum inclusive)


    Laut deinem Log hast du aktuell 6 Hue Lampen:


    [hyperiond LedDevice] <WARNING> Did not recognize model id LCT024 of light ID 11
    [hyperiond LedDevice] <INFO> Light ID 11 created
    [hyperiond LedDevice] <WARNING> Did not recognize model id LCT024 of light ID 12
    [hyperiond LedDevice] <INFO> Light ID 12 created
    [hyperiond LedDevice] <INFO> Light ID 3 created
    [hyperiond LedDevice] <INFO> Light ID 6 created
    [hyperiond LedDevice] <INFO> Light ID 7 created
    [hyperiond LedDevice] <INFO> Light ID 8 created


    Anmerkung: LCT024 ist wohl die neue Hue Play ;) die ist im Code noch nicht hinterlegt...ich schau das ich sie mit berücksichtige, habe selbst nur keine zum testen!


    Somit müsste im JSON als erstes die Lampe mit der ID 11 kommen, diese muss in der Hyperion Config als "index": 0 angegeben werden!
    Die 2. Lampe im JSON hat dann ID 12, welche "index": 1 bekommt, die 3. (ID 3) "index": 2, die 4. (ID 6) "index": 3 ...usw.
    Die IDs der Lampen sind hier aber vollkommen irrelevant, sondern nur die Reihenfolge, wie sie im JSON ausgegeben werden, damit die richtige index Angabe definieren werden kann.
    Zusätzlich musst du die richtigen hscan und vscan Werte angegeben, je nachdem wo die Lampen bei dir im Raum platziert sind, damit auch die Farben richtig zugewiesen werden.


    Zum Verständnis nochmal erklärt:


    hscan und vscan definieren einen Bereich/Ausschnitt vom Bild (von vorn deines TVs betrachtet) wovon der Lampe der Farbwert ausgelesen und zugewiesen werden soll.
    Bei LEDs sind diese ziemlich klein, da man sie fast als "Pixel" verstehen kann...bei Hue ist es ein größere Bereich.


    hscan mit min / max steht für die Definition 2er Punkte (Start = min und Ende = max) horizontal und vscan min / max steht für die Definition 2er Punkte (Start = min und Ende = max) vertikalen in Prozent.
    Alle 4 zusammen ergeben ein Rechteck / Bereich / Zone etc. in Prozentangaben von 0 - 1 (bsp. 0.5 = 50%, 1 = 100%)
    horizontal von links 0% - rechts 100%
    vertikal von oben 0% - unten 100%


    Für deine erste Lampe, sagen wir sie sitzt rechts neben dem TV, dann ist der Bereich wie folgt definiert aus deiner Config:
    hscan minimum 0.85 und maximum 1
    vscan minimum 0.15 und maximum 0.85


    kurze gesagt vscan start bei 15% ( min 0.15 ) von oben, ende bei 85% ( max 0.85 ) von oben, was 15% von unten entspricht
    für hscan start bei 85% ( min 0.85 ) von links, was 15% von rechts entspricht und ende bei 100% ( max 1 ) von link , entspricht 0% von rechts


    Hier ein Veranschaulichung wie die Werte zu verstehen sind:

    @Arne Danke, es freut mich, das es auch anderen hilft und damit das schon längere Problem behebt.
    Ich habe nochmals ein Update gepushed, da ich die Gamma Korrektur "übersehen" hatte.
    Damit sollte der Helligkeitswert jetzt erst mit den Farbwerten nach der Gamma Korrektur berechnet werden.


    Das Config-Tool selbst habe ich nicht anpassen, da es in Java geschrieben ist und ich mich da auch erst reinarbeiten müsste.
    Ich selbst verwende hyperion.ng, wo ich kein HyperCon benötige...vielleicht kann den Fix jemand anderes für das Config-Tool berücksichtigen / integrieren.

    Habe für das Problem einen anderen Ansatz probiert und dafür zuvor viel mit Farbkonvertierungen recherchiert.
    Die RGB zu XYZ Konvertierung ist eigentlich nicht ganz richtig, zumindest was die Helligkeit bei HUE angeht.
    Philips HUE, soweit ich das rausfinden konnte, verwendet hierfür auch das HSV System.
    Der Farbwert selbst wird korrekt sonst im XYZ Bereich konvertiert, für die Helligkeit wird bei hyperion der Y Wert verwendet, welcher aber keine Helligkeit darstellt, sondern einen Koordinationspunkt im XYZ Raum für den richtigen Farbwert, aber nicht seine Helligkeit/Leuchtkraft.
    Für die richtige Helligkeit habe ich eine RGB zu HSV Konvertierung probiert, wo hier das V für die Helligkeit genommen wird.


    Bsp:
    https://www.rapidtables.com/convert/color/rgb-to-hsv.html


    am besten hier zu sehen die Endwerte:
    vergleicht die Werte bei XYZ, (Y, der aktuell verwendete Helligkeitswert) mit HSV (V), was von 0-100 der prozentuale Helligkeitswert für die aktuellen Farbe ist, welcher dann aber noch zu 0-255 umgerechnet wird (ist bei hyperion ja schon der Fall):
    http://colorizer.org/


    In meinem hyperion Projekt daheim, konnte ich somit sofort die richtige Helligkeit an allen HUE Lampen passend zum Bild erzielen!
    Wichtig dabei, falls der "brightnessFactor" verwendet wird und von 1 geändert wurde, muss dieser wieder zurück auf 1 gesetzt werden, sonst wird der Wert wieder erhöht / verfälscht, da es ein Multiplikator des Grundwertes ist.


    Habe hierfür schon einen Fix Request im hyperion und im hyperion.ng Projekt eingereicht...


    hyperion:
    https://github.com/hyperion-project/hyperion/pull/799


    hyperion.ng:
    https://github.com/hyperion-project/hyperion.ng/pull/519


    Wer also selbst kompilieren kann, sollte sich das mal anschauen...bin auf euer Feedback gespannt ;)
    Viel Erfolg und ich hoffe das löst damit das Hauptproblem!