Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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
    18
    1
    783

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

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

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

Scheduled Pinned Locked Moved Skripten / Logik
3 Posts 2 Posters 645 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • smartboartS Offline
    smartboartS Offline
    smartboart
    wrote on last edited by
    #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 Reply Last reply
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by
      #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 Reply Last reply
      0
      • smartboartS Offline
        smartboartS Offline
        smartboart
        wrote on last edited by
        #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 Reply Last reply
        0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        Support us

        ioBroker
        Community Adapters
        Donate

        323

        Online

        32.8k

        Users

        82.7k

        Topics

        1.3m

        Posts
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Home
        • Recent
        • Tags
        • Unread 0
        • Categories
        • Unreplied
        • Popular
        • GitHub
        • Docu
        • Hilfe