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. Szene Kino / Prüfung ob gerät gebootet ist

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    236

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Szene Kino / Prüfung ob gerät gebootet ist

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 645 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.
  • smartboartS Offline
    smartboartS Offline
    smartboart
    schrieb am zuletzt editiert von
    #1

    Hallo Leute habe eine Szene / Script geschrieben, welches meinen Kinoabend einleitet.

    Es funktioniert und macht was es soll, möchte es aber etwas stabiler bzw. professioneller laufen lassen.

    Speziell geht es um die Prüfschleife . Der nächste schritt wäre sich mal mit der Funktion 'for' auseinander zu setzen.

    Aktuel prüfe ich nur ob nach einer Zeit X mein Multimediaplayer eingeschaltet ist und wenn nicht sende ioch das Signal nocheinmal.

    Schöne fände ich es wenn ich die Prüfung nun in einer Schleife durchlaufen lasse, bis das Gerät eingeschaltet ist.

    Der Knackpunkt ist, dass mein Multimediagerät nach dem es mit Strom versorgt wird direkt bootet und wenn niemand die Fernbedienung nach dem first boot bedient nach 15 Sekunden wieder runter fährt. diesen Zeitpunkt habe ich abgepasst und lasse das nach einer Zeit X wieder überprüfen und schalte nochmal ein, wenn es nicht geklappt hat…

    Das geht bestimm auch schöner...

    Jemand ne Idee? Oder ist irgendwo das 'for' erklärt?

    //Scene Kino Wohnzimmer
    createState('javascript.0.Szenen.Multimedia.Kino', {def: 'false', type: 'boolean', name: 'Kino'});
    createState('javascript.0.Szenen.Multimedia.Kino_PruefHDD', {def: 'false', type: 'boolean', name: 'Pruefung ob HDD an'});
    
    var logging = true;
    
    const id1 = 'javascript.0.Szenen.Multimedia.Kino'; //Szene Start Stop
    const id2 = 'javascript.0.Status.Brandmelder.Anzahl_melden_Brand'; // Brand
    const id3 = 'javascript.0.alarm.out.alarm_strobe'; // Alarm
    const id5 = 'hm-rpc.0.PEQ0196501.1.STATE';//Licht Couch
    const id7 = 'wiffi-wz.0.root.192_168_1_52.w_lux';// Helligkeit
    const id8 = 'javascript.0.Rolladen.Couch.Automatik';// Automatik Rolladen Couch
    const id9 = 'hm-rpc.0.OEQ1299123.1.LEVEL';//Behanghöhe
    const id10 = 'sonoff.0.Multimedia_4CH_Wohnzimmer.POWER1';//TV
    const id11 = 'sonoff.0.Multimedia_4CH_Wohnzimmer.POWER3';//Receiver
    const id12 = 'sonoff.0.Multimedia_4CH_Wohnzimmer.POWER4';//HDD Player
    const id13 = 'sonoff.0.Multimedia_4CH_Wohnzimmer.POWER2';//DVB-T
    const id14 = 'harmony.0.Harmony Hub.Samsung TV.PowerOn';//TVon Harmony
    const id15 = 'harmony.0.Harmony Hub.Samsung TV.InputHdmi2';//TVKanal Harmony
    const id16 = 'harmony.0.Harmony Hub.Samsung TV.PowerOff';//TVoff Harmony
    const id17 = 'harmony.0.Harmony Hub.Samsung TV.VolumeDown';//TV leiser Harmony
    const id18 = 'harmony.0.Harmony Hub.Onkyo AV-Empfänger.PowerOn';//Receiver on Harmony
    const id19 = 'harmony.0.Harmony Hub.Onkyo AV-Empfänger.PowerOff';//Receiver off Harmony
    const id20 = 'harmony.0.Harmony Hub.Onkyo AV-Empfänger.InputTv/Cd';//Receiver Input TV/CD Harmony
    const id21 = 'harmony.0.Harmony Hub.Xtreamer Multimedia-Player.PowerToggle';//HDD on off Harmony
    const id22 = 'harmony.0.Harmony Hub.Xtreamer Multimedia-Player.Menu';//HDD Menue Button
    const id23 = 'ping.1.tinkerboard.192_168_1_39';//ping Prüfung ob an
    const id24 = 'javascript.0.Szenen.Multimedia.Kino_PruefHDD';// Prüfung
    
    // Licht aus Block
    function KinoLicht() { 
        var Szene = getState(id1).val;
        var Brand = getState (id2).val;
        var Alarm = getState (id3).val;
        var LichtCouch = getState(id5).val;
    		 if(Szene === true && Brand === 0 && Alarm === false){
    			if(LichtCouch)setStateDelayed(id5, false, 2*1000); //Licht Couchtisch Wohnzimmer
    			if(logging)log('Szene Kino aktiv Licht aus');
        }
    }
    
    // Rolladen runter Block
    function KinoRollo() { 
        var Szene = getState(id1).val;
        var Brand = getState (id2).val;
        var Alarm = getState (id3).val;
        var Helligkeit = getState(id7).val;
        var BehanghoeheCouch = getState(id9).val;
            if(Szene === true && Brand === 0 && Alarm === false && Helligkeit >1500){
            setState(id8,false);//Rollo Couch Automatik
            if(BehanghoeheCouch >0)setStateDelayed(id9, 0 , 4*1000);
            if(logging)log('Szene Kino aktiv Rollo Couch Automatik deaktiviert und geschlossen');
            }else{
                if(Szene===false){
                setState(id8,true);//Rollo Couch Automatik
                if(logging)log('Szene Kino inaktiv/deaktiviert Rollo Couch wieder auf Automatik ');
            }
        }    
    }  
    // Multimedia Geräte ein Block
    function KinoMedia() {     
     var Szene = getState(id1).val;
     if(Szene===true){
         setStateDelayed(id12,true,5*1000);//HDD Player Power  ein
         setStateDelayed(id11,true,6*1000);//Receiver Power ein
         setStateDelayed(id10,true,7*1000);//TV Power ein
         setStateDelayed(id18,200,9*1000);//Receiver on Harmony
         setStateDelayed(id20,200,14*1000);//Receiver Input TV/CD Harmony
         setStateDelayed(id22,1000,112*1000);// HDD Menue button um Neustart zu verhindern
         setStateDelayed(id24,true,180*1000);// State zum prüfen
         if(logging)log('Szene Kino aktiv Multimedia Geräte ein');
         sendTo("paw.0",'all',{send:  'say', text:  'Szene Kino wird eingeschaltet. Bitte warten bis die Geräte hochgefahren sind'});
     }else{
        setStateDelayed(id16,200,1*1000);//TV Power off Harmony
        setStateDelayed(id19,200,2*1000);//Receiver Power off Harmony
        setStateDelayed(id21,200,3*1000);//HDD Power off Harmony 
        setStateDelayed(id10,false,6*1000);//TV Power off
        setStateDelayed(id11,false,9*1000);//Receiver Power off
        setStateDelayed(id12,false,29*1000);//HDD Power 0ff
        setState(id24,false);// State zum prüfen
    
        if(logging)log('Szene Kino inaktiv/deaktiviert Multimedia Geräte aus');
        sendTo("paw.0",'all',{send:  'say', text:  ' Szene Kino wird ausgeschaltet.'});
    
            }
        }
    
    function Pruef() {     
     var ping = getState(id23).val;
     if(ping===true){
     if(logging)log ('HDD Player nach dem booten eingeschaltet geblieben');
     }else{
       setStateDelayed(id21,2000,60*1000);  
       if(logging)log ('HDD Player wurde nach dem booten erneut eingeschaltet da er heruntergefahren war');
           }
       }
    
    function TV() {
        var pingHDD = getState(id23).val;
        var SzeneHDD = getState(id1).val;
        if (pingHDD === true && SzeneHDD === true){
         setState(id14,200);//TV on Harmony 
         setStateDelayed(id15,200,10*1000);//TV umschalten auf HDMI 2 Harmony
         setStateDelayed(id17,4000,12*1000);// TV leise Harmony  
         setStateDelayed(id13,false,14*1000);//DVB-T Power aus
         if(logging)log ('TV ein und umgeschaltet nachdem der HDD Player hochgefahren ist');
           }
       }
    
    //Szene Trigger
    on(id1, function(dp) {
       KinoLicht();
       KinoRollo();
       KinoMedia();
    });  
    //Prüf Trigger on HDD an
    on(id24, function(dp) {
       Pruef();
    }); 
    //TV Trigger wenn HDD an
    on(id23, function(dp) {
       TV();
    }); 
    
    
    1 Antwort Letzte Antwort
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      > Es funktioniert und macht was es soll, möchte es aber etwas stabiler bzw. professioneller laufen lassen.

      ist ne Aussage.. ;) ;)

      https://wiki.selfhtml.org/wiki/JavaScript/Schleife

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • smartboartS Offline
        smartboartS Offline
        smartboart
        schrieb am zuletzt editiert von
        #3

        @arteck:

        > Es funktioniert und macht was es soll, möchte es aber etwas stabiler bzw. professioneller laufen lassen.

        ist ne Aussage.. ;) ;)

        https://wiki.selfhtml.org/wiki/JavaScript/Schleife `

        Ja wenn ich so drüber nachdenke, liest es sich bescheuert. stimmt…

        ich möchte halt versuchen das automatische runter fahren des HDD Player nach der Spannungszufuhr und die Programmierte Kontrolle ob gebootet, etwas stabiler realisieren. Wenn es aus irgendeinem Grund mal etwas läger dauert oder das IR signal der Harmony mal nicht durchkommt, weil der Hund gerade mal wieder davor steht usw..Dann klappt es halt eben nicht wie programmiert..

        Deshalb die Frage ob das mit ner Schleife stabiler zu programmieren ist...

        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

        560

        Online

        32.7k

        Benutzer

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