modul für lightpack/prismatik ambilight

Begonnen von justme1968, 30 Januar 2014, 21:27:29

Vorheriges Thema - Nächstes Thema

justme1968

ich habe gerade eine erste version eines moduls für das lightpack/prismatik ambilight fertig gestellt. vielleicht interessiert es ja noch den ein oder anderen.

mehr zu lightpack hier: http://lightpack.tv und hier: https://github.com/Atarity/Lightpack. soft- und hardware sind opensource. neben dem original lassen sich bei ebay diverse clones kaufen. je nach prismatik version kann man damit auch andere ambilights betreiben.

mit dem fhem modul lässt sich z.b. abhängig von uhrzeit oder umgebungshelligkeit das ambilight steuern, je nach abgespieltem film ein anderes profile wählen, sobald plex oder xbmc auf pause steht mit das licht heller machen, und und und

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Starkstrombastler

als Philips-Tv-Besitzer kann ich nur bestätigen, wie angenehm Ambilight ist...

Ich bin am experimentieren das Ambilight auf die ganze Wand auszudehnen (ca. 7m). Das geht mit einem LED-Stripe schon ganz gut - aber die Lichtsteuerung ist noch dürftig. Ich hole mir die Farbinformation via JSON direkt vom TV aber das geht leider nicht in Echtzeit. Das Ergebnis sind abgehackte Farbübergänge - und fast immer die falsche Farbe.

Das Lightpack kommt wie gerufen - wie kann ich das auf 7m ausdehnen?
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

justme1968

ich hab mir die schaltung noch nicht angeschaut. eventuell musst du an die ausgänge jeweils noch einen pwm repeater hängen damit du tatsächlich auf deine 7m kommst.

pro lightpack kannst du 10 segmente ansteuern und beliebig um den rand des fernsehers konfigurieren.

lightpack funktioniert aber nur wenn du einen mediacenter pc oder ähnliches hast und darüber schaust. an die signale aus dem fernseher kommst du damit nicht direkt dran.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Starkstrombastler

das hört sich ja schon mal gut an - auf Raspi mit xbmc und fhem sollte das also funktionieren.

Ich habe das Modul geladen, habe aber Startprobleme. Mit
define <name> prismatik host
bekomme ich nur ein Auswahlmenu "set...".
Das define wird auch nicht gespeichert.
Kannst Du bitte mal etwas zur Funktion des Moduls erklären.

Gruß
Bernhard
IPC\Ubuntu + Fhem, 1wire, Shellies, Siemens Logo!, Z-Wave, PhilipsTV, Vu+duo2, KM200

justme1968

auf dem host muss die prismatik software laufen, in der software musst du unter advanced den api key entfernen. den habe ich noch nicht eingebaut.

du solltest im fhem log dann ein connected sehen. oder etwas anderes wenn es schief geht.

save sollte auf jeden fall gehen.

sobald das modul connected ist sollte das set menü einiges mehr anzeigen.

wenn das device angelegt ist kannst du dir noch die webCmds konfigurieren: attr <name> webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off

gruss
   andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dietmar63

Ich  habe einen enigma-Sat-Receiver-clone von xtrend: et9000.
Die meisten Dinge, wie Filme und Serien werden über diesen Receiver bei uns abgespielt.

Im Inet habe ich eine Anleitung gefunden, wie man sich mit günstigen stripes ein ambilight selbst bauen kann.

man benötigt wohl nur
- boblight(auf der engigma box)
- hyperion auf dem Pi
- Bastelgeschick

kennt Ihr euch damti aus? XBMC wird wohl auch unterstützt. Der Pi benötigt für die Steuerugn der LEDs nur so ca. 3% CPU Leistung
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

justme1968

die rechenleistung wird im prinzip auf dem device verbraten das die bilderkennung macht. in deinem beispiel ist das der receiver.

hyperion steuert aber nicht irgendelweche günstigen stripes sondern die mit einzeln ansteuerbaren leds an. also welche mit WS2801 oder P9813.  je nach konfiguration und bildschirm grösse brauchst du da 50-100 dieser led pixel.

es gibt bestimmt eine zwei stellige anzahl an unterschiedlichen ambilight lösungen. grundsätzlich musst du unterscheiden zwischen denen die einzeln adressierbare leds verwenden oder die mehr oder weniger grosse stücke der günstigen stripes verwenden und diese mit einem extra controller ansteuern. unterm strich ist kostet beides mehr oder weniger das gleiche. was du bei den stripes sparst legst du beim controller wieder drauf.

weiterhin brauchst du ein stück software das den bildschirm grabbed und den inhalt so aufbereitet das das ganze dann an die leds weiter gegeben werden kann. auch hier gibt es diverse software lösungen. die meisten vermutlich für raspberry pi oder windows. prismatik ist die einzig mir bekannte die auch auf einem mac funktioniert.

die xbmc unterstützung ist nur in so fern wichtig als das du abhängig was xbmc gerade tut das licht eben ein oder aus schalten oder sonst wie steuern kannst. für die eigentlichen farben ist aber in der regel die grabber software zusändig.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

P.A.Trick

André, kannst du mir sagen wo du die Lightpack box bestellt hast?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

justme1968

das ist ein nachbau von ebay.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Brockmann

Der Thread ist zwar schon recht alt, aber der Stand ist ja wohl noch gültig, oder?
Habe mir das Modul mal installiert für einen (halbwegs) günstigen Lightpack-Clone von eBay.
Habe einen "unofficial"  fork von Primastik verwendet, der unter Windows weniger Ressourcen benötigen soll.
(Hinweis für Windows-Nutzer: Man darf wie im Thread beschrieben keine Authentication für die API verwenden. Außerdem muss man das Häkchen wegnehmen bei "listen on localhost only" oderso und dann die Ausnahme für die Firewall zulassen. Ist eigentlich logisch, aber man kann die Option leicht übersehen...  :-[ )

Das Modul aus dem Thread hier funktionierte dann auch auf Anhieb. Aber zwei Frage habe ich dazu:

  • Sehe ich das richtig, dass das Modul sich nicht automatisch mit dem host verbindet? Bei mir läuft prismatik auf einem Media-PC, der nicht den ganzen Tag läuft. Da würde ich dann mit einem Presence-Device arbeiten, dass die Verbindung herstellt, wenn der Rechner an ist. Wollte nur vorher mal nachfragen, vielleicht läuft ja auch was falsch bei mir.
  • Ich habe das interval-Attribut auf 300 gestellt, weil mir der aktuelle Status nicht so wichtig ist. Mir geht es mehr darum, prismatik aus fhem heraus steuern zu können. Die Readings werden aber weiterhin alle 30 Sekunden aktualisiert. Ist das so richtig bzw. wie kann man den Intervall ggf. verlängern? Ich würde solche eigentlich unnötigen Statusabfragen gerne minimieren.
So, bin mal gespannt, ob noch jemand mitliest...  ;)

justme1968

1. wenn das read fehl schlägt versucht das modul direkt noch ein mal ein connect und das war es. scheinbar habe ich da die wiederholung vergessen ;). bau mal direkt nach zeile 120 einInternalTimer(gettimeofday()+$hash->{INTERVAL}, "prismatik_Connect", $hash, 0);ein und schau ob es dann geht.

2. das intervall kannst du über das gleichnamige attribut einstellen. was steht im internal INTERVAL?

ansonsten kann ich leider selber nicht wirklich testen da mein fernseher jetzt (leider) so steht das dahinter ein fenster ist und sich das ambilight spiegelt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Brockmann

Zitat von: justme1968 am 09 September 2016, 15:44:20
1. wenn das read fehl schlägt versucht das modul direkt noch ein mal ein connect und das war es. scheinbar habe ich da die wiederholung vergessen ;). bau mal direkt nach zeile 120 einInternalTimer(gettimeofday()+$hash->{INTERVAL}, "prismatik_Connect", $hash, 0);ein und schau ob es dann geht.

Jein. Im Prinzip funktioniert das. Nur wenn bei einem FHEM-Neustart der Prismatik-Host nicht erreichbar ist, gibts Probleme. Wenn ich es richtig verstehe, wir das Internal "Interval" erst beim einem Connect gesetzt. Bis dahin existiert es anscheinend nicht.
Dadurch führt obige Änderung dazu, dass nach jedem Connect-Versuch ein InternalTimer auf gettimeofday+Nichts gesetzt wird. Das wiederum führt zu ständigen Connect-Versuchen.

Sicher könnte man das mit einem konstanten Wert umgehen, aber bei der Gelegenheit habe ich mal überlegt, dass ich für mein Vorhaben das Prismatik-Modul zumindest bislang eigentlich gar nicht benötige.
Im Prinzip möchte ich nur von FHEM aus steuern, welches Profil verwendet werden soll, evtl. noch an und aus. Und dafür reicht ja im einfachsten Fall telnet, wenn ich es richtig verstanden habe...

Von meiner Seite aus besteht hier also erstmal kein weiterer Handlungsbedarf. Trotzdem Danke!

Brockmann

Kleiner Nachtrag, falls jemand ähnlich wie ich nur eine simple Möglichkeit zur Steuerung von Prismatik sucht:

#!/usr/bin/expect

set host [lindex $argv 0];
set cmd [lindex $argv 1];

spawn telnet $host 3636
expect "info)"
send "lock\n"
expect "lock:success"
send "$cmd\n"
expect "ok"
send "unlock\n"
expect "unlock:success"
send "exit\n"


Man benötigt dafür expect (ggf. mit apt-get install expect installieren).
Dann kann man das Skript einfach mit den Argumenten <host> <Befehl> aufrufen, also beispielsweise prismctrl.sh mediapc setprofile:Lightpack