Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. IoBroker.cec

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IoBroker.cec

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 last edited by

      Hi Garfonso,

      willkommen bei den Entwicklern. Hier im Forum einfach alle Fragen stellen und wir helfen mit bestem Wissen und gewissen.

      Ja soef ist irgendwie abgetaucht und hat einige gute Ansätze dagelassen. PR kannst du formal machen, aber wie Bluefox schon geschrieben hat am besten umbenennen und dann machen wr damit sauber weiter.

      @Garfonso:

      Ich bin, wie gesagt, noch neu bei ioBroker und verstehe vermutlich noch nicht an allen Stellen, wie ioBroker "denkt". Z.B. ist es mir etwas unklar, warum ich über den state "common.active-source" aus ioBroker raus den Adapter dazu bringen kann über CEC die active source zu setzen (im Grunde als Befehl an den TV den Eingang zu wechseln), aber ein "active source" Befehl, den der Adapter über den CEC Bus mitliest wird nicht in diesen state geschrieben (sondern über andere Felder bei den einzelnen Geräten, die aber irgendwie nicht in der Objekt-Liste auftauchen). Warum dafür verschiedene Felder? Das habe ich z.B. auch beim Harmony Adapter nicht ganz verstanden… da gibt es "currentActivity", wo die Aktivität drinnen steht. Ich darf da aber, wenn ich eine andere Aktivität haben will, die nicht einfach reinschreiben, sondern habe für jede Activity einen Switch-state. Warum? Ist das generell so? Oder sind das Spezialitäten von manchen Adaptern (und ich könnte das Verhalten beim cec Adapter ändern)? `

      Im ersten Schritt steht es dem Adapter-Entwickler frei das so zu machen wir es am sinnvollsten für die user ist und am verständlichsten 🙂

      Also ändere es wenn es keinen Sinn ergibt.

      Dann brauchst DU aber das "ack"-Konzept, aber die Doku hat das dazu. Wenn es noch Fragen gibt einfach Fragen.

      Ingo

      1 Reply Last reply Reply Quote 0
      • Garfonso
        Garfonso Developer last edited by

        Hi,

        ok, dann weiß ich bescheid. Dann mach ich mir mal Gedanken dazu. 🙂

        > Kannst du Issues für deine Repo auf github aktivieren?
        Klar. Erledigt.

        > Wir müssen hoch wahrscheinlich adapter umbenennen (hdmi-cec) weil Entwickler nicht mehr aktiv ist und wir keine Rechte für npm haben.
        Reicht das in der package.json? Oder sollte ich auch den Namen vom Repository ändern?

        > Adapter ist nur für Linux?
        Öhm.. ich das nur auf einem Raspberry Pi testen. Im Hintergrund wird das Programm cec-client gestartet und mit dem Kommuniziert über stdout/stdin. Das gibt es wohl auch für Windows… wenn mal jemand mit einem USB Pulse-eight HDMI CEC Adapter auftaucht, könnte man das testen. Aber üblich ist CEC im Moment nur für den Raspberry. 🙂 Ich werd das mal vorsichtshalber rein machen.

        Wenn der original Entwickler nicht mehr da ist, überlege ich, ob ich nicht die Konzepte, die ich gut finde übernehme und von scratch neu anfange. Mal gucken, ob ich dafür Zeit finde.

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          @Garfonso:

          > Wir müssen hoch wahrscheinlich adapter umbenennen (hdmi-cec) weil Entwickler nicht mehr aktiv ist und wir keine Rechte für npm haben.
          Reicht das in der package.json? Oder sollte ich auch den Namen vom Repository ändern? `

          Ja, Repo umbenennen, package.json UND io-package.json und falls die haupt adapter-js-datei nicht main.js heisst das auch so umbenennen wie adapter (oder am einfachsten in main.js) und das auch in package.json unter main

          > Adapter ist nur für Linux?
          Wenn der original Entwickler nicht mehr da ist, überlege ich, ob ich nicht die Konzepte, die ich gut finde übernehme und von scratch neu anfange. Mal gucken, ob ich dafür Zeit finde.

          Mach das!! Vor allem die "soef" Library … wirf Sie raus. zuviel Magie. Habe ich gerade beim Alexa Adapter gemacht ... wenn du fragen hast sag Bescheid

          Ingo

          1 Reply Last reply Reply Quote 0
          • M
            MaxMan23 last edited by

            Hallo,

            wie kann ich denn deinen Adapter installieren? Irgendwie klappt das nicht bei mir 🙂

            1 Reply Last reply Reply Quote 0
            • Garfonso
              Garfonso Developer last edited by

              Hi,

              ich hatte, wegen Umzug usw. noch nicht so viel Zeit gefunden an dem Adapter weiter zu arbeiten und cec2 ist leider noch gar nicht wirklich angefangen. (Habe ich aber weiter vor und bin im Moment dabei mir etwas Zeit dafür freizuschaufeln).

              Aber meine Verbesserungen am alten cec Adapter müsstest du bekommen können, wenn du im Admin bei Adapter auf den Knopf "Installieren aus eigener URL" klickst und dann da auf den Tab "beliebig" und dann die URL https://github.com/Garfonso/ioBroker.cec angibst.

              Viele Grüße,

              Garfonso

              1 Reply Last reply Reply Quote 0
              • T
                thiel_marvin last edited by

                Gibt es hier nach all der langen Zeit etwas neues?

                Garfonso 1 Reply Last reply Reply Quote 0
                • Garfonso
                  Garfonso Developer @thiel_marvin last edited by

                  @thiel_marvin
                  Ui, es gibt interessenten. 😉

                  Ich bin dran einen cec2 Adapter frisch zu machen. Komme aber da nur langsam weiter aktuell.

                  1 Reply Last reply Reply Quote 1
                  • S
                    SuperElmi last edited by

                    @Garfonso
                    Ich wäre auch interessiert!
                    Mein Use Case ist das An- und Umschalten eines Samsung TV. Ich hab etwas Erfahrung mit VDR und dem Pulseight Adapter. Falls ich etwas beitragen kann, gerne.

                    Gruß
                    Elmar

                    Garfonso 1 Reply Last reply Reply Quote 0
                    • Garfonso
                      Garfonso Developer @SuperElmi last edited by

                      @SuperElmi
                      Das sollte locker drin sein. Mal sehen, wann ich da weiter komme. Ich erarbeite mir gerade ein wenig Struktur, die ich dann fülle. Das braucht leider etwas Zeit.

                      1 Reply Last reply Reply Quote 0
                      • Garfonso
                        Garfonso Developer last edited by Garfonso

                        @thiel_marvin
                        @SuperElmi

                        Es hat etwas gedauert, wenn ihr testen wollt, aus folgender URL installieren: https://github.com/iobroker-community-adapters/ioBroker.cec2

                        Hier auch noch der Test-Thread dazu:
                        https://forum.iobroker.net/topic/29491/test-adapter-cec2

                        1 Reply Last reply Reply Quote 0
                        • S
                          SuperElmi last edited by

                          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
                          
                          Garfonso 1 Reply Last reply Reply Quote 0
                          • Garfonso
                            Garfonso Developer @SuperElmi last edited by

                            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 ).

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              SuperElmi @Garfonso last edited by

                              @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

                              1 Reply Last reply Reply Quote 1
                              • Garfonso
                                Garfonso Developer last edited by

                                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. 🙂

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  RkcCorian @Garfonso last edited by

                                  @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 ändern 🙂

                                  Nun 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:

                                  1. Hilft dieser Adapter bei meinem Problem?
                                  2. 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! 🙂

                                  Garfonso 1 Reply Last reply Reply Quote 0
                                  • Garfonso
                                    Garfonso Developer @RkcCorian last edited by Garfonso

                                    @markus-2

                                    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.

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      RkcCorian @Garfonso last edited by

                                      @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 angehen

                                      Ist das korrekt? Vielen Dank im Voraus!!

                                      Garfonso 1 Reply Last reply Reply Quote 0
                                      • Garfonso
                                        Garfonso Developer @RkcCorian last edited by

                                        @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).

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          RkcCorian @Garfonso last edited by

                                          @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 umsetzen 🙂

                                          Vielen lieben Dank für den Austausch und die mögliche Backup-Lösung!!!! Vor einer Woche habe ich noch gar keine Lösung gesehen.

                                          1 Reply Last reply Reply Quote 1
                                          • theip4nda
                                            theip4nda last edited by

                                            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.

                                            Garfonso 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            771
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            23
                                            2793
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo