NEWS
IoBroker.cec
-
Hallo Garfonso,
ich habe heute auf den js-controller 3.1.4 aktualisiert, seitdem startet der CEC-Adapter permanent neu. Knnst du bitte mal danach schauen? Danke dir!
cec2.1 2020-05-20 20:21:10.869 warn (2478) No state definition for state cec2.1 2020-05-20 20:21:10.500 info (2478) Terminated (NO_ERROR): Without reason cec2.1 2020-05-20 20:21:10.498 info (2478) terminating cec2.1 2020-05-20 20:21:10.446 warn (2478) Already had device with name TV copy new stuff in old device. cec2.1 2020-05-20 20:21:10.432 error (2478) Error: undefined is not a valid state value at /opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1588:72 at CEC2.setStateChanged (/opt/iobroker/node_modules/iobroker.js-con cec2.1 2020-05-20 20:21:10.419 error (2478) unhandled promise rejection: undefined is not a valid state value cec2.1 2020-05-20 20:21:10.417 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). cec2.1 2020-05-20 20:21:10.382 info (2478) Device with logicalAddress 0 seen. Has name TV cec2.1 2020-05-20 20:21:07.944 info (2478) config type: r cec2.1 2020-05-20 20:21:07.942 info (2478) config osdName: ioBroker cec2.1 2020-05-20 20:21:07.898 info (2478) starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.cec2, node: v10.19.0, js-controller: 3.1.4 cec2.1 2020-05-20 20:20:34.603 warn (2455) No state definition for state cec2.1 2020-05-20 20:20:34.246 info (2455) Terminated (NO_ERROR): Without reason cec2.1 2020-05-20 20:20:34.243 info (2455) terminating cec2.1 2020-05-20 20:20:34.233 warn (2455) Already had device with name TV copy new stuff in old device. cec2.1 2020-05-20 20:20:34.219 error (2455) Error: undefined is not a valid state value at /opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1588:72 at CEC2.setStateChanged (/opt/iobroker/node_modules/iobroker.js-con cec2.1 2020-05-20 20:20:34.206 error (2455) unhandled promise rejection: undefined is not a valid state value cec2.1 2020-05-20 20:20:34.204 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). cec2.1 2020-05-20 20:20:34.167 info (2455) Device with logicalAddress 0 seen. Has name TV
-
TL;DR: Versuch mal die 0.0.3 zu installieren und guck, ob es damit einfach weg ist. Für 'state' sollte kein State gesetzt werden... hm... vielleicht auch mal alle Objekte löschen und neu erzeugen lassen (also Adapter neustarten).
@SuperElmi
Hi,hm... warum ist da ein state undefined? grübel
-> ist kein Problem mit 3.1.4, würde ich vermuten. Das sollte auch vorher schon einen Fehler gegeben haben.Irgendwie finde ich auch die Ausgaben gerade nicht im Code... hm... ich glaube deine Version ist schon etwas älter. (Ich war etwas unsauber mit Versionsnummern, bin halt noch mitten in der Entwicklung -> wird aber jetzt besser, nutzte jetzt das Skript was sich automatisiert darum kümmert die Versionsnummern zu erhöhen, danke @AlCalzone ).
-
@Garfonso
Danke für den Hinweis auf die neue Version, schaut besser aus:cec2.1 2020-05-21 15:26:23.055 info (5254) Creation of device TX-NR626__ finished. cec2.1 2020-05-21 15:26:22.437 warn (5254) No state definition for ignored cec2.1 2020-05-21 15:26:22.434 info (5254) Already knew device TX-NR626__. Update values. cec2.1 2020-05-21 15:26:22.306 info (5254) Device with logicalAddress 5 seen. Has name TX-NR626__ cec2.1 2020-05-21 15:26:15.768 info (5254) Device for 5 already created. cec2.1 2020-05-21 15:26:13.191 info (5254) Device for 5 already created. cec2.1 2020-05-21 15:26:12.299 info (5254) No name for logicalAddress 5, requesting it. cec2.1 2020-05-21 15:26:02.398 error (5254) Setting activeSource to 0.0.0.0 cec2.1 2020-05-21 15:25:58.378 info (5254) Device for 0 already created. cec2.1 2020-05-21 15:25:57.377 info (5254) config type: r cec2.1 2020-05-21 15:25:57.376 info (5254) config osdName: ioBroker cec2.1 2020-05-21 15:25:57.327 info (5254) starting. Version 0.0.3 in /opt/iobroker/node_modules/iobroker.cec2, node: v10.19.0, js-controller: 3.1.4
Gruß
SuperElmi -
Danke für die Rückmeldung. Sieht gut aus. Direkt noch eine Kleinigkeit gefixt (die "Error" Ausgabe da ist Quatsch und ist eher debug oder kann ganz weg).
Ich hoffe, ich finde bald Zeit mal weiter zu machen.
-
@garfonso
Hallo Zusammen,ich habe folgendes Setup:
A) LG Smart TV CEC fähig
B) Hue Sync Box CEC fähig
C) Fire TV Cube CEC fähig
D) Xbox One X, bislang nicht CEC fähig, ließe sich aber durch Tausch auf Xbox Series X ändernNun möchte ich gezielt die Kombination A+B+C ein-/ausschalten, bzw. A+B+D. Das ist nicht ganz so trivial bislang. Die Kombination A+B+C klappt mehr oder weniger mit ein paar Tricks in ioBroker, sobald D dazu kommt wird es schwierig, da sich die Geräte gegenseitig beeinflussen. Nun bin ich auf diesen Adapter aufmerksam geworden.
Meine Fragen:
- Hilft dieser Adapter bei meinem Problem?
- Falls ja: Wie greift dieser Adapter auf HDMI-CEC zu? Über ein drittes Gerät, welches dazwischen geschaltet wird?
Vielen Dank im Voraus und einen guten Start in die neue Woche!
-
Zu 2.: Der Zugriff auf HDMI-CEC ist bisher nur getestet mit einem raspberry Pi der per HDMI Kabel mit HDMI-Setup verbunden ist. Theoretisch gehen auch andere Adapter, die von libpulseeight bzw. cec-client unterstützt werden, siehe hier (als Startpunkt): https://github.com/Pulse-Eight/libcec
Aber es muss grundsätzlich ein Gerät mit dem HDMI-Setup verbunden sein. Wenn auf der Konsole (ggf. nach installation) der cec-client funktioniert, sollte der Adapter auch funktionieren (oder funktionierend gemacht werden können).Zu 1:
Wenn die XBox gar kein CEC kann, dann kommst du mit CEC nur zu dem Punkt, dass A+B an sind und auf die richtigen Eingänge geschaltet sind (für A+B+C geht alles an + richtige Eingänge). Wenn du die XBox dann irgendwie anders anbekommst, wärst du ja dann da.Das "gegenseitig beeinflussen", was du siehst, wird vermutlich auch mit CEC zusammen hängen. Grundsätzlich melden sich Geräte, die angehen im CEC-Bus und fragen auch ob was läuft und wenn nicht, melden sie sich als aktive Quelle und alle schalten die Eingänge entsprechend (macht z.B. das FireTV, wenn man es anschaltet). Das würde der Adapter auch beheben, weil der dann anstelle der XBox sagen würde, dass die gerade aktive Quelle ist (was dazu führt, dass TV und ggf. Sync Box die Eingänge entsprechend schalten und andere Geräte wissen, dass was läuft und nicht dazwischen funken -> den letzten Punkt müsste man nochmal testen, klappt aber auch mit "echten" Geräten nicht immer).
//Edit: Die ganzen Ausführungen natürlich unter dem Vorbehalt, dass sich die Geräte auch alle CEC-konform Verhalten, was wohl nicht immer 100%ig so ist. Aber ich habe da bisher ganz gute Erfahrungen gemacht.
-
@garfonso
Vielen Dank! Mein ioBroker läuft auf einem Docker auf meiner NAS und die steht weit weg von meinem Fernseher. D.h. ich sehe folgende Möglichkeiten:
A) Direkt vor Ort ein Gerät unterbringen welches auf den HDMI-Bus Zugriff hat (bspw. so wie Du beschreibst
B) Wenn die Xbox CEC kann (durch vermutlich Tausch auf die Xbox Serie X) sollte es ebenfalls, ohne die Notwendigkeit von A) gehen, da dann die Xbox beim Einschalten sagt, "ich bin die aktive Quelle" und der Fire TV Cube sollte dann (korrektes Verhalten vorausgesetzt) nicht auch noch mit angehenIst das korrekt? Vielen Dank im Voraus!!
-
@markus-2
Ja.
zu a) hab ich hier ein iobroker-slave auf einem raspberry am TV
zu b) genau, wenn die XBox CEC kann, könnte sie sagen, sie geht an und TV usw. geht mit an und stellt sich ein. Hier geht das ganz ok mit FireTV <-> Blu-Ray Player (hier würde der cec Adapter dann ggf. den Vorteil bringen die Geräte von extern, z.B. Alexa, schalten zu können bzw. den Zustand überwachen zu können, also Vis zeigt an, dass XBox gespielt wird oder irgendwas anderes schaltet entsprechend noch Aber das ist natürlich ein Stück weit Spielerei). -
@garfonso
Super, dann habe ich jetzt ein Bild, vielen Dank!
Langfristig: Neue Xbox (Series X)
Kurzfristig: Ich nutze den LG Adapter, curl (GET und PUT) Befehle für die Hue Sync Box, adb für den Fire TV Cube und den Xbox Adapter für die Xbox One X (kann kein CEC). Das habe ich seit gestern so am Laufen
Kurzfristig (Alternative falls es nicht zuverlässig läuft): Deine Lösung. Die klingt ebenfalls vielversprechend, allerdings habe ich meine jetzige Lösung "fast fertig" (ein paar Zeilen muss ich noch schreiben, inzw. konnte ich mit TestScripts aber alle notwendigen Ansteuerungen umsetzenVielen lieben Dank für den Austausch und die mögliche Backup-Lösung!!!! Vor einer Woche habe ich noch gar keine Lösung gesehen.
-
Kann es sein das keiner der Buttons bei einem Samsung H Serie Tv funktioniert?
Die Verbindung steht, anynet+ hat auch eine Verbindung zum pi aber egal welchen Button ich drücke es passiert leider nichts.
-
@theip4nda
mit den Buttons hab ich noch recht wenig Erfahrung... Bei meinem TV geht es auch nicht oder es ist noch was kaputt... da bin ich noch nicht ganz hinter gekommen. Ich hatte mal einen TV da musste man das Gerät, was fernsteuern darf, auch als "aktives Gerät" auswählen, was aber auch den Eingang entsprechend geschaltet hat... kann sein, dass das generell so ist. Konnte ich aber auch noch nicht testen, weil mein TV das bei meinen letzten versuchen mit dem PI nicht machen wollte, also den "aktiv" zu setzen.