NEWS
Hyperion Adapter
-
Wenn daran Interesse besteht, dann bitte ich darum mal eine "Wunschliste" zu erstellen. `
Hi,
ist das noch aktuell? Danke erst einmal für deinen Adapter zum Schreiben auf den hyperion. Ich hätte riesiges Interesse auch Werte zu lesen, bzw ab zugreifen. Um Lampen mit einen bestehenden hyperion Ambilight zu steuern.
Wunschvorstellung. Definition von welcher LED bis zu welcher LED rechts/links/oben/unten läuft, eventuell auch abgestufter. Aber für den Anfang reicht sicher die 4er Unterteilung. Hier einen Mischwert erzeugen und im iobroker Adapter Hexadezimal (#FF0000) zu schreiben. Danach kann man per Script Hues/Yeelights/whatever mit dem Wert betanken. Wichtig wäre hier sicher auch ne Timing-Einstellung um die Lampen nicht zu überfordern.
edit:
Was mir noch einfällt. Ich habe immer wieder bei keinem Eingangssignal, den bekannten "Farbverlauf", hier würde mich interessieren ob ich irgendwie automatisieren kann, das bei diesem Bild/Signallosigkeit alle LED's ausgehen?
Grüße Marco
-
Hallo,
bin noch neu, aber ich habe den adapter installiert, läuft einwandfrei!
Nun leuchtet 10sek lang Knight Rider Effekt wenn jemand anruft ^^
Vielen Dank dafür!
-
Wow. Das hier hab ich voll verpasst. Sry. Danke für die PN moeff. Wie kann ich helfen?
-
ok. Hatte den Ansatz bisher mangels Interesse aufgegeben. Ich hab den hyperion-client Adapter hier im Rohbau. Was noch fehlt ist der Part: welches hyperion hyperion light steuert welches iobroker teil. Und wie soll es das tun. Eine config Page oder halt ein config file muss her, wo man dies definiert. Da kann man dann auch ein wenig logik reinpacken. Dies nochmal durch event zu jagen und über js adapter die Umrechnung zu erledigen würde so auch gehen. Förderlich für die Latenz ist das nicht. Erste tests mit 2 hues haben so ca. 2fps mit starkem "jitter" bis zu 1 sek gegeben. (Direkt client Adapter -> setforeignstate im hue adapter, ohne virtuellen state und js adapter) War mir zu langsam…
Hab dann mal die hues direkt an hyperion rangeschraubt. War ähnlich lahm. Für mich unbrauchbar. Zigbee scheint hier der limitierende Faktor zu sein.
Könnt ihr sowas trotzdem brauchen?
@moeff: Der Farbverlauf ist der startup effekt den du in der hyperion config einstellen kannst. Kann das sein, das bei "kein signal" der hyperiond abbügelt? Was meinst du mit: "kein signal"? Oder: Du hast via hyperion adapter einen effekt gesetzt und dein tv (oder was auch immer hyperiond füttert) hat eine höhrere priorität. Sobald dein tv aufhört daten zu liefern, läuft wieder der Effekt. Ein clear all sollte dann dein Problem lösen.
@moeff: zu deinem Ansatz die led`s runterzumischen: das gehört in die hyperiond config. Hyperion macht ja genau das. Es bildet dein hochauflösendes Bild auf eine beliebig definierte kleinere Zielauflösung ab. Ein nachträgliches aggregieren der pixel in iobroker ist unnötig.
-
Sry, dass ich das verpasst habe. Klar läuft das. Bis auf die tatsache, das immer die Helligkeit auf 100% geht. Dazu ist mir bisher nix kluges eingefallen. Hier mal n Video.: https://youtu.be/SlkrtXXg3Ac
-
@moeff: Der Farbverlauf ist der startup effekt den du in der hyperion config einstellen kannst. Kann das sein, das bei "kein signal" der hyperiond abbügelt? Was meinst du mit: "kein signal"? Oder: Du hast via hyperion adapter einen effekt gesetzt und dein tv (oder was auch immer hyperiond füttert) hat eine höhrere priorität. Sobald dein tv aufhört daten zu liefern, läuft wieder der Effekt. Ein clear all sollte dann dein Problem lösen.
@moeff: zu deinem Ansatz die led
s runterzumischen: das gehört in die hyperiond config. Hyperion macht ja genau das. Es bildet dein hochauflösendes Bild auf eine beliebig definierte kleinere Zielauflösung ab. Ein nachträgliches aggregieren der pixel in iobroker ist unnötig.
Hi,
danke für die ausführliche Antwort. Mein HDMI Splitter sendet dieses Signal, wenn kein Eingangsignal anliegt. Wenn man irgendwo definieren könnte, wenn "dieses Bild" gesendet wird = LED's aus. Der Starteffekt ist bekannt, aber nicht gemeint
Was ich mir für einen hyperion Adpater wünschen würde ist folgendes, Bilder sagen mehr als 1000 Worte:
https://www.youtube.com/watch?v=BCIRJhc-JHE
bzw hier https://www.youtube.com/watch?v=4bpcFC7AJX0
eventuell ist iobroker auch am ende unnötig als "handler". Man könnte sicher auch direkt vom raspi (mit hyperion) die werte an Hue oder Yeelight übergeben. Aber da geht dann wieder zigbee Problematik los, dafür würde ich den iobroker eigentlich guten "handler" für alles nutzen.
Grüße Marco
-
Ja, so ähnlich habe ich das auch hinbekommen. Aber sieht auf den Videos fetter aus als in real weil: Es wurden Videos mit langsamen farb und kontrast änderungen gewählt. Das input lag ist somit weniger sichtbar. Aber schau mal genau hin. Sowohl lag, als auch jitter sind vorhanden. Bei starken helligkeits und kontraständerungen (quasi alles was geschnitten wurde), fällt dies aber total auf und nervt. Ausserdem wurde hier hyperion direkt als quelle benuzt. Also ohne iobroker als proxy. Da kommt dann noch der iobroker lag hinzu. Ausserdem können die hues einen command, der ihnen sagt zwischen 2 farben zu faden. Hyperion nutzt das. Der hue adapter auch? Also: Deine Videos stellen ein optimales setup unter optimalen Bedingungen dar. Wir können nur langsamer sein.
Edit: Kann man super sehen, wenn man die hues mit den ws2812 vergleicht. Hues hängen teilweise mehr als 1 sek.
-
Sry, dass ich das verpasst habe. Klar läuft das. Bis auf die tatsache, das immer die Helligkeit auf 100% geht. Dazu ist mir bisher nix kluges eingefallen. Hier mal n Video.: https://youtu.be/SlkrtXXg3Ac `
Hey, danke für die Rückmeldung, meine Frage ist, habe ich im iobroker alles richtig konfiguriert, da es ja leider nicht funktioniert. Siehe Screenshots.
Danke
-
Jo. Da stimmt was nicht mit deiner Zuordnung der Funktionen und Räume.
Deinem State fehlen die Datenpunkte. So muss es aussehen:
Bitte drann denken, dass da noch der Bug / die Eigenart vorhanden ist, dass die Helligkeit immer auf 100% umgerechnet wird. Du musst also mit 2 Kommandos erstmal Farbe einstellen und dann Helligkeit runter regeln. (Wie im Video.) Also der Farbwinkel (hue) stimmt aber level.dimmer nicht. Ich habe den Fehler noch nicht gefunden. Eigentlich erwarte ich, das die Farben,wenn sie vom cloud adapter kommt die werte für: sat > 0 und lum < 100 erhält. Denn beides, entwerder sat = 0 oder lum = 100 bedeuten für mein Verständniss Weiss. (FFFFF)
Ich habe mir extra n Set hues zugelegt um zu lernen wie genau die das machen und warum das bei dem Hue Adapter funktioniert. Bin aber noch nicht dazu gekommen.
Gruß
-
> Nun leuchtet 10sek lang Knight Rider Effekt wenn jemand anruft ^^
Hatte ich auch mal. Über den Fritzbox Adapter. Hatte da noch n Fehler drinn, dass er den Effekt nicht 10 Sekunden sondern genau so lange wie das Telefonat gedauert hat lief. Das hat dann, da diese Installation meine Küchenarbeitsplatte beleuchtet, so derart für Verstimmung zuhause gesorgt, das ich es ganz sein lassen musste. :?
-
Ok. Some news. Ich habe mal den client-adapter wie weiter oben beschrieben mal sowiet weiterentwickelt, dass ich erste Tests fahren konnte.
Zum testen habe ich eine Bestehende Hyperion Konfiguration mit 144 leds ausprobiert. Und siehe da: ioBroker hat ein limit von 200 state changes pro 3 sekunden. Wenn man dieses limit reißt, verhällt sich ioBroker recht eigenartig. (Unsubscribe from all states, except system's, because over 3 seconds the number of events is over 200 (in last second 0))
Aber 144 Leds ist ja auch ein Overkill. Eher realistisch sind da 2 - 3.
Problematischer ist da eher der "jitter" also die variabilität der Latenz.
Leider bin ich heute erst spät zuhause, um diese Spielerei mal in action zu sehen.
Aber ich befürchte, das dies langsam sein wird. Ich werde berichten…
-
Hi,
das geht ja schneller als gedacht!
Ich würde mich zum Testen bereitstellen! Wenn du den Adapter per git frei gibst. Wichtig wäre eben noch eine Mischung zu Scripten, LED1-20 = Mischfarbe, LED 21-50, Mischfarbe etc., dass kann man sicher auch selber scripten.
Zum Test kann man ja erstmal mit einer LED arbeiten. Wichtig wäre wirklich zwecks Jitter und Latenz klar zu kommen und vor allem auch natürlich den iobroker nicht zu überlasten.
Grüße Marco
-
Hab ich ja schon verworfen. Warum soll ich in iobroker mischen, wenn hyprion das viel schneller und besser kann. Dieses Feature würde ich lieber aus dem Adapter raus lassen. Wer es unbedingt braucht, kann sich das ja über den js adapter bauen.
Aber eigentlich ist das nur verschwendete Energie.
Du setzt einen 2. hyperiond mit genau der Anzahl der Lampen auf, für welche du auch einen State setzen willst. Also 2 oder 3 in meinem Beispiel halt 144. In der Config kannst du dann prima Einstellen, auf welchen Bildbereich welcher "State" also im Hyperion jargon welches "light" steuert. All das mischen macht dann hyperiond. Diese Instanz, also dieser 2. hyperion daemon wird dann über deine "zentrale" hyperion instanz gefüttert…. Ich mach das hier mit n paar Hyperions...
-
jo mal wieder an der falschen Stelle angefangen
-
Hab ich ja schon verworfen. Warum soll ich in iobroker mischen, wenn hyprion das viel schneller und besser kann. Dieses Feature würde ich lieber aus dem Adapter raus lassen. Wer es unbedingt braucht, kann sich das ja über den js adapter bauen.
Aber eigentlich ist das nur verschwendete Energie.
Du setzt einen 2. hyperiond mit genau der Anzahl der Lampen auf, für welche du auch einen State setzen willst. Also 2 oder 3 in meinem Beispiel halt 144. In der Config kannst du dann prima Einstellen, auf welchen Bildbereich welcher "State" also im Hyperion jargon welches "light" steuert. All das mischen macht dann hyperiond. Diese Instanz, also dieser 2. hyperion daemon wird dann über deine "zentrale" hyperion instanz gefüttert…. Ich mach das hier mit n paar Hyperions...
Edit:
Das Timing hat nun absolut prio. Mann kann zwar die fps in der hyperion config begrenzen, macht man dort aber einen Fehler dan DOS´ed man iobroker. In der Form aktuell nur zum experimentieren geeignet.
Edit2:
Sry wegen doppelpost. Das Forum hatte sich verschluckt.
-
Der hyperion.client ist doch aber ein komplett anderer Adapter als dein hyperion Adapter ? stehe auf dem Schlauch, den willst du nicht veröffentlichen?
-
Ka wie ich die States der LED zum ioBroker bekomme, der forward und co ist klar und läuft soweit.
-
hier nochmal zum "no signal" …
der Farbverlauf zeigt sich wenn kein Eingangsignal anliegt. Ein anderer Splitter der "schwarz" sendet wäre natürlich auch ne Lösung
aber auch hier kann ich was bauen wenn ich die states der LEDs rausbekomme…
-
> Ka wie ich die States der LED zum ioBroker bekomme,
Ja, genau mit dem neuen Adapter den wir hier gerade bauen. Der ist dann für dein hyperion so was wie ein Device.
Daher wird der Adapter auch hyperion_client heissen.
Es sind ja auch zwei grundlegend diametrale Konzepte.
a.) Der Hyperion Adapter, dient dazu den Hyperion Daemon zu steuern. Also Effekte starten, Farben starten, Helligkeit und vieles mehr.
b.) Der Hyperion_Client Adapter dient dazu durch Hyperion gesteuert zu werden. (Um damit fancy Sachen in iobroker zu machen.)
Hier mal ein Auszug aus der Device section der hyperion.conf
"device" : { "name" : "MyHyperionConfig", "type" : "udpraw", "output" : "192.168.123.1:33333", "rate" : 1, "maxpacket" : 3600, "protocol" : 0, "colorOrder" : "rgb" },
Wobei bei output die IP des ioBroker servers stehen sollte. Der Adapter öffnet dann port 3333 und bekommt dann die daten via udp in der form rgbrgbrgbrgb… usw. Also sequenziell. Diese rgb werte werden dann nach hex konvertiert und in den dazu angelegten state geschrieben.
Ich muss das noch mit dem Timing fixen, damit hier kein "earlybird" sein produktiv System abschiesst.
Dann packe ich es als mockup auf git....
Zu deinem Bild:
Woher kommt denn der Farbverlauf. Sendet dein HDMI grabber dann ein Buntes "ich empfang nix" bild?
um nochmal was klarzustellen:
Die hyperion api, und die dazugehörige json Schnittstelle unterstützt das Rücklesen der Daten wie du dir das anscheinend immer noch vorstellst nicht.
Also ist das hier kein "ich will nicht" sondern ein "ich kann nicht". Wäre es möglich würde ich es dir einbauen. Aber die einzige Möglichkeit die ich sehe ist halt der Umweg über den Client Adapter.
-
Ja, genau mit dem neuen Adapter den wir hier gerade bauen. Der ist dann für dein hyperion so was wie ein Device.
Daher wird der Adapter auch hyperion_client heissen.
Es sind ja auch zwei grundlegend diametrale Konzepte.
a.) Der Hyperion Adapter, dient dazu den Hyperion Daemon zu steuern. Also Effekte starten, Farben starten, Helligkeit und vieles mehr.
b.) Der Hyperion_Client Adapter dient dazu durch Hyperion gesteuert zu werden. (Um damit fancy Sachen in iobroker zu machen.) `
Danke für die Aufklärung. Ich dachte es ist schon mit Version a realisierbar
Ich staune das die Nachfrage nach solch einem Setup so gering ist. Aber wahrscheinlich ist das Setup Hyperion und ioBroker und Weitergabe der Farbinfos an andere Geräte zu speziell
` > Zu deinem Bild:
Woher kommt denn der Farbverlauf. Sendet dein HDMI grabber dann ein Buntes "ich empfang nix" bild? `
Ja, ich denke aber das es vom Splitter und nicht vom Grabber kommt. Aber lösbar wenn Konzept b aka Hyperion_Client live ist. 4 LED's auf diesen Farbverlauf checken in einer hyperion Instanz/Adapter. Auch wenn man das sicher vorher abfangen könnte.
Danke nochmal überhaupt für die Entwicklung!