Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] TV + Receiver + NUC (Libreelec) an / aus

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[gelöst] TV + Receiver + NUC (Libreelec) an / aus

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 1 Kommentatoren 1.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Modjo
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe folgendes Szenario vor und benötige hilfe, wie ich das realisiere. Ich bin leider wenig bis gar nicht affin in Javascript und mit Blockly tue ich mich auch noch schwer.

    Ich hoffe, dass ich es dennoch mit eurer Hilfe schaffen werde.

    Hardware:

    Samsung TV (über Samsung Adapter ansprechbar)

    Yamaha Receiver (über Yamaha Adapter ansprechbar)

    Intel Nuc 5i5ryh

    Kodi (Libreelec - Linux) (über Kodi Adapter ansprechbar)

    Amazon Echo Dot Gen2 (über Cloud Adapter verbunden)

    Folgende 2 Szenarien möchte ich abdecken:

    1.1 "Alexa… TV an"

    1.2 Yamaha Receiver geht an über das Objekt in Yamaha-Adapter | Power - media.power "true" (TV geht schon automatisch mit an, also kein zusätzliches Doing)

    1.3 Wake on Lan Befehl um den Intel NUC aus dem Standby zu holen.

    1.4 Yamaha Receiver soll nach ca. 15 Sekunden noch einmal das Profil "Kodi" auswählen über das Objekt | InputEnum - State "Kodi" (Grund: Beim Starten des Intel NUCs - Libreelec geht der Receiver nach kurzer Zeit immer auf AV1, wo ich KODI immer erneut auswählen muss, damit er auf dem Profil bleibt.)

    2.1 "Alexa... TV aus"

    2.2 Yamaha Receiver geht an über das Objekt in Yamaha-Adapter | Power - media.power "false"

    2.3 Intel NUC geht über das Objekt in Kodi-Adapter | Suspend - state "Button" in den Standby

    2.4 Samsung TV geht über Objekt in Samsung-Adapter | Power.CheckOn - state "true" ---danach---> Power.Off - state "true"

    Folgendes habe ich zum Wake On LAN gefunden:

    Windows:

    createState("javascript.0.PCanschalten", 0); // Generiert beim Starten den Datenpunkt

    var wol = require('wake_on_lan'); // Lädt von ioBroker das nötige Paket herunter

    var myPC = "XXX"; // XXX durch eure MAC Adresse ersetzten

    on({id: "javascript.0.PCanschalten", change: 'any'}, function (obj) {

    wol.wake(myPC);

    log("Script WOL - PC aufgeweckt", "info");

    }

    );

    Linux:

    createState(„javascript.0.PCanschalten“, 0); // Generiert beim Starten den Datenpunkt

    var wol = require(‚wake_on_lan‘); // Lädt von ioBroker das nötige Paket herunter

    var myPC = „MAC Adresse“; // durch eure MAC Adresse ersetzten

    on({id: „javascript.0.PCanschalten“, change: ‚any‘}, function (obj) {

    var current_state = getState(„javascript.0.PCanschalten“).val;

    if (current_state == „1“) { //entspricht true bzw „an“ über Alexa

    wol.wake(myPC);

    log(„Script ServerSteuerung – Server aufgeweckt, „+current_state, „info“);

    }else {

    exec(’ssh Serverip -l root -t „shutdown -h now“‚);

    log(„Script ServerSteuerung – Server shutdown „+current_state, „info“);

    }

    }

    );

    Libreelec ist ja ein Linux System, demach habe ich mich mit dem Wake On Lan Linux Script versucht, was aber leider funktioniert. Der Intel NUC geht nicht aus dem Standby an.

    Über die Yatse App (Fernbedienung Kodi) funktioniert das Wake on LAN auf UDP 5600, also ist der NUC ansich für Wake on LAN konfiguriert.

    Könnt ihr mir bei meinem Vorhaben behilflich sein?

    Vielen Dank und VG

    Modjo

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Modjo
      schrieb am zuletzt editiert von
      #2

      Hallo zusammen,

      ich habe hier ein wenig getüftelt und habe wenigstens das Wake On Lan Thema gelöst. Hierfür habe ich "etherwake" auf dem Raspberry Pi (IOBroker) installiert, womit ich den Intel NUC (Libreelec) einschalten kann.

      Ich habe es auch hinbekommen, dass ich daraus 2 Szenen baue, welche für sich funktionieren. Genau hier liegt das Problem für Alexa. Alexa kann ja nur an und aus, womit ich nicht wie gewünscht beide Scripte hinterlegen kann.

      Hier müsste ich derzeit folgendes machen:

      Szene 1: TV an

      Szene 2: TV aus

      "Alexa, schalte TV an an" (Szene 1 wird gestartet)

      "Alexa, schalte TV aus an" (Szene 2 wird gestartet)

      Das ist sehr unpraktikabel, weshalb ich es wohl in ein Script bauen muss.

      Wenn ich logisch nicht ganz falsch liege müsste es doch dann folgendermaßen gebaut werden, oder?:

      ****__Falls yamaha.0.power = false //Prüfe ob Receiver aus ist

      Setze yamaha.0.scene = 1 //Starte Scene 1, womit Receiver angeht und TV über CEC mit angeht

      exec('sudo etherwake -i eth0 MACADRESSE'); // Setze Magic Packet für Wake on LAN

      Setze nach 15 Sekunden yahama.0.inputEnum = KODI // Warte 15 Sekunden und setze den Input auf "KODI", weil er, wie oben beschrieben durch starten des NUCs auf AV1 wechselt

      Falls yamaha.0.power = true //Prüfe ob Receiver an ist

      Setze kodi.0.system.Suspend = true //Setze Kodi in den Sleep Modus

      Setze samsung.0.Power.checkOn = true // Prüfe ob Samsung TVeingeschaltet ist

      Setze samsung.0.Power.off = true // Schalte Samsung TV aus__****

      Lieg ich hier richtig oder muss ich den an und aus Status von Alexa auch noch irgendwie mit 1 oder 0 setzen?

      Wenn ja, kann man mir damit helfen?

      Vielen Dank & Grüße

      Modjo

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Modjo
        schrieb am zuletzt editiert von
        #3

        Hallo nochmal,

        ich habe mich jetzt in JS versucht. Ich vermute, dass das Scipt irgendwie so aussehen muss, aber es funktioniert noch nicht:

        createState("scriptEnabled.TV.ein_aus", 0); // Datenpunkt erzeugen
        var yamaha_scene = "yamaha.0.scene" // Yamaha Receiver AN + Szene setzen
        var yamaha_power = "yamaha.0.power" // Yamaha Receiver An/Aus
        var yamaha_input = "yamaha.0.inputEnum" //Yamaha Receiver Profil
        var kodi_suspend = "kodi.0.system.Suspend" // Kodi (NUC) Standby
        var samsung_checkon = "samsung.0.Power.checkOn" // Samsung TV AN/Aus prüfen
        var samsung_poweroff = "samsung.0.Power.off" // Samsung TV AUS
        on({id: "scriptEnabled.TV.ein_aus",change: 'any'}, function(obj) {
        		var current_state = getState("scriptEnabled.TV.ein_aus").val;
        		if (current_state == "1") {
        			yamaha_scene = "1";
        			exec('sudo etherwake -i eth0 [b]MACADRESSE[/b]');
        			setTimeout(function() {
        				yamaha_input = "Kodi";
        			}, 15000);
        			log("TV: AN", "info");
        		} else {
        			kodi_suspend = true;
        			yahama_power = false;
        			samsung_checkon = true;
        			samsung_poweroff = true;
        			log("TV: AUS", "info");
        		}
        });
        
        

        Einer ne Idee, wo die Fehler liegen?

        Danke & Gruß

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Modjo
          schrieb am zuletzt editiert von
          #4

          Hier nochmal eine überarbeitete Form, welche aber leider auch nicht so klappen will:

          // Datenpunkt erstellen
          createState("javascript.0.TV_an_aus", 0);
          on({
              id: "javascript.0.TV_an_aus",
              change: 'any'
          }, function(obj) {
              var current_state = getState("javascript.0.TV_an_aus").val;
              // "An"-Status für Alexa generieren
              if (current_state == "1") {
                  // Yamaha-Receiver über Szene 1 einschalten (startet gleichzeitig den TV via HDMI-CEC)
                  setState('yamaha.0.scene', 1);
                  // Starte den NUC mit WOL-Befehl mit 5 Sekunden Versatz
                  setTimeout(function() {
                      exec('sudo etherwake -i eth0 MACADRESSE');
                  }, 5000);
                  // Schalte am Receiver auf Profil "KODI" mit 30 Sekunden Versatz
                  setTimeout(function() {
                      setState('yamaha.0.inputEnum', "KODI");
                  }, 30000);
                  log("Geräte sind gestartet mit Status, " + current_state, "info");
              } else {
                  //Kodi in den Sleep Modus versetzen
                  setState('kodi.0.system.Suspend', true);
                  //Yamaha-Receiver ausschalten
                  setState('yamaha.0.power', false);
                  // TV prüfen ob an/aus
                  setState('samsung.0.Power.checkOn', true);
                  //TV ausschalten
                  setState('samsung.0.Power.off', true);
                  log("Geräte sind heruntergefahren mit Status, " + current_state, "info");
              }
          });
          

          Vielleicht hat ja noch Jemand ne Idee?

          Gruß

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Modjo
            schrieb am zuletzt editiert von
            #5

            Habe es nun wie folgt gelöst:

            on({
                id: "javascript.0.scriptEnabled.TV.ein_aus",
                change: 'any'
            }, function(obj) {
                var current_state = getState("javascript.0.scriptEnabled.TV.ein_aus").val;
                // "An"-Status für Alexa generieren
                if (current_state === true) {
                    // Yamaha-Receiver über Szene 1 einschalten (startet gleichzeitig den TV via HDMI-CEC)
                    setState('yamaha.0.scene', 1);
                    // Starte den NUC mit WOL-Befehl mit 5 Sekunden Versatz
                    setTimeout(function() {
                        exec('sudo etherwake -i eth0 MACADRESSE');
                    }, 7000);
                    // Schalte am Receiver auf Profil "KODI" mit 30 Sekunden Versatz
                    setTimeout(function() {
                        setState('yamaha.0.inputEnum', "KODI");
                    }, 30000);
                    log("Geräte sind gestartet mit Status, " + current_state, "info");
                } else {
                    //Kodi in den Sleep Modus versetzen
                    setState('kodi.0.system.Suspend', true);
                    //Yamaha-Receiver ausschalten
                    setState('yamaha.0.power', false);
                    // TV prüfen ob an/aus
                    setState('samsung.0.Power.checkOn', true);
                    //TV ausschalten
                    setState('samsung.0.Power.off', true);
                    log("Geräte sind heruntergefahren mit Status, " + current_state, "info");
                }
            });
            

            Fehler war, dass ich gar keinen Datenpunkt generieren musste, sondern den des Scriptes selbst der auf "true" und "false" bei an / aus wechselt.

            VG

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            988

            Online

            32.4k

            Benutzer

            81.5k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe