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. Warte bis "true" dann führe Aktion aus.

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Warte bis "true" dann führe Aktion aus.

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 1.8k 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.
  • R Offline
    R Offline
    riconr1
    schrieb am zuletzt editiert von
    #1

    Hallo,

    gibte es eine Möglichkeit über Skript (gerne auch nur über Szenen) auf das vollständige Starten meines Onkyo Receivers zu warten, bis sich dieser über Netzwerk (feste IP) meldet?

    Ich hätte gerne, dass wenn ich eine Szene starte, z.B. "TV an" das dann der Befehl an "onkyo" nicht mehrfach gesendet werden muss (da ja der Receiver zuvor aus gewesen sein kann, oder aber auch an und z.B. gerade die Szene "Musik" eingeschalten war.

    Jetzt habe ich das so gelöst, dass bei der jeweiligen Szene der Befehl sofort und einmal 45 Sekunden später gesendet wird. Das klappt über den Onkyo Adapter zu 70% und über den Harmony Adapter zu 0% (da hier der gleiche Befehl immer nur einmal ausgeführt werden kann).

    Deshalb wäre es perfekt, wenn ich den Befehl an Onkyo "schalte auf HDMI1" erst senden könnte, wenn dieser auch wirklich für den Empfang bereit ist.

    Könnte mir dabei jemand helfen?

    LG Enrico

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #2

      @riconr1:

      Jetzt habe ich das so gelöst, dass bei der jeweiligen Szene der Befehl sofort und einmal 45 Sekunden später gesendet wird. Das klappt über den Onkyo Adapter zu 70% und über den Harmony Adapter zu 0% (da hier der gleiche Befehl immer nur einmal ausgeführt werden kann). `

      Hi, ich verstehe diese stelle nicht in deinem post ?

      Bei mir zuhause ist die logik (was ist an und aus) im Harmony, der weis also welche geraete an sind.

      In Harmony habe ich activiteiten definiert und diese steuern perfect alle IR geraete an, mit iObroker steure ich diese activitaeten and und baue nicht die Harmony logik nach in iObroker.

      Wie benutzt du den harmony ? Ich habe z.b. Harmony + Onkyo receiver + TV + Schuessel.

      Activitaet = Tv Schaun / Schuessel Schaun / Musiek Hoeren (diese startet die richtigen gerate)

      Steuern= Per VIS wert im harmony objecten der activiteit auf 1 schalten.

      Da Harmony die lautstaerke nicht kennt loese ich das mit dem onkyo adapter, der gibt mir den genauen wert der rest geht alles ueber Harmony

      Greetz,

      Dutch

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        riconr1
        schrieb am zuletzt editiert von
        #3

        Ah ok. Ich hätte vielleicht dazu sagen/schreiben sollen, dass bei mir alle Geräte über Homematic stromlos geschaltet werden. Daher sie werden nicht über Harmony oder Onkyo Adapter auf Standby geschaltet. Wenn ich jetzt eine Szene aus dem Zustand "aus" starte, dann dauert es, bis sich der Receiver im Netzwerk angemeldet hat. Und das wird der Steuerung zum Verhängnis. Alle Befehle werden stumpf gesendet und eben nicht überprüft, ob sie auch angekommen sind. Und das würde ich gerne ändern. Aber nicht damit, alle Geräte (auch nicht eins) im Standby zu lassen.

        MfG Enrico

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          @riconr1:

          Ah ok. Ich hätte vielleicht dazu sagen/schreiben sollen, dass bei mir alle Geräte über Homematic stromlos geschaltet werden. Daher sie werden nicht über Harmony oder Onkyo Adapter auf Standby geschaltet. Wenn ich jetzt eine Szene aus dem Zustand "aus" starte, dann dauert es, bis sich der Receiver im Netzwerk angemeldet hat. Und das wird der Steuerung zum Verhängnis. Alle Befehle werden stumpf gesendet und eben nicht überprüft, ob sie auch angekommen sind. Und das würde ich gerne ändern. Aber nicht damit, alle Geräte (auch nicht eins) im Standby zu lassen.

          MfG Enrico `

          AH ok das erklaehr die Harmony geschichte…. :)

          Dan fallen mir nur noch 2 sachen ein fuer dein scenario/frage: Mit festen delay arbeiten oder den status irgendwo herbekommen. Dazu 2 moeglichkeiten:

          • Du baust die logik auf deinem HomeMatic geraet (wen AN kein delay, wen aus schalte ein ... delay ... schalte onkyo)

          • Logic mit nem PING und erst wen der PING den onkyo findet schalten

          Greetz,

          Dutch

          1 Antwort Letzte Antwort
          0
          • R Offline
            R Offline
            riconr1
            schrieb am zuletzt editiert von
            #5

            Gute Idee. Nur wie setze ich das um? Also brauche ich ja eine Funktion: Wenn "True" oder "Ping" dann "schalte um auf HDMI3". Funktioniert das irgendwie in einer Szene? oder geht das mit script?

            MfG Enrico

            1 Antwort Letzte Antwort
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              schrieb am zuletzt editiert von
              #6

              @riconr1:

              Gute Idee. Nur wie setze ich das um? Also brauche ich ja eine Funktion: Wenn "True" oder "Ping" dann "schalte um auf HDMI3". Funktioniert das irgendwie in einer Szene? oder geht das mit script?

              MfG Enrico `

              Wert auslesen geht am besten per Script zB per blockly.

              Bin gerade unterwegs wen du brauchst/möchtest kan ich dir in der Stunden ein blockly Beispiel geben dazu

              (Also logic der Aktion basiert auf Status des hm Schalter und Dan wohl/kein delay für ausführen Aktivität)

              Mit Ping bin ich leider überträgt, das müsste auch per Script gehen weiß aber nicht wie zu realisieren.

              Denke Mal Schalter + feste Zeit ist auch zuverlässiger da ich davon ausgehe das der Receiver eventuell bereits auf ein Ping reagiert befohr er einen IT Switch acceptieren kan

              Greetz

              Dutch

              Sent from my iPhone using Tapatalk

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                riconr1
                schrieb am zuletzt editiert von
                #7

                das Angebot nehme ich gerne an. So ein Beispiel würde mir doch sehr helfen.

                MfG Enrico

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @Dutchman:

                  • Logic mit nem PING und erst wen der PING den onkyo findet schalten `
                    Dafür gibt es den ioBroker.ping Adapter. Den ping-Erfolg kann man einfach http://forum.iobroker.net/viewtopic.php?f=21&t=5914#p60755 auswerten.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @paul53:

                    @Dutchman:

                    • Logic mit nem PING und erst wen der PING den onkyo findet schalten Dafür gibt es den ioBroker.ping Adapter. Den ping-Erfolg kann man einfach [http://forum.iobroker.net/viewtopic.php?f=21&t=5914#p60755](http://forum.iobroker.net/viewtopic.php?f=21&t=5914#p60755) auswerten.

                    Danke Paul hab ich total ubersehen in aller eile !

                    @riconr1:

                    das Angebot nehme ich gerne an. So ein Beispiel würde mir doch sehr helfen.

                    MfG Enrico `

                    Machen wir dafuer gibt es ja communitys :D

                    Also hier mal ein blockly wobei ich ganz einfach den status eines HM schalters ueberpruefe ober er an oder aus ist.

                    Ist der schalter an = direckt commando auf wert fuer Onkyo receiver

                    Ist der Schalter aus = Delay beim einschalten des onkyo

                    979_simple_blockly.jpg

                    Hier der code um diesen block in dein system zu kopieren:

                    ! <block xmlns="http://www.w3.org/1999/xhtml" type="controls_if" id="?5f2Q;%s3J)j`=w+(JJm" x="113" y="112.99999999999994"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="qcKV[)q6u}?V#KQ=%Z9^"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Q@vB@|0x82t1MV(4_K#D"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ0165864.2.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="Mt^s4uN(2xfLS{3s,#cC"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="update" id="4a[{alj:Vq2aGq@!|n[~"><mutation delay_input="false"></mutation> <field name="OID">harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="gA)m;Nv-1-4JRZCz{)w="><field name="TEXT">1</field></block></value> <next><block type="comment" id="{=BTv2=d]A!Y8yG^:I4]"><field name="COMMENT">Bei kontrolle schalter = AN kein delay schalte</field></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="M]xH9[ITv+6Nc{,Kc1+F"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="6xrYTG:3rg=YzM`u9-_w"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ0165864.2.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="7Lpn`xX+)/].)XML6/qo"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO1"><block type="comment" id="~6?Ql)MAmo);:Y3d!b+5"><field name="COMMENT">Bei kontrolle schalter = AUS schalte mit delay</field> <next><block type="timeouts_settimeout" id="^tFK[S8%S)zp%d5;,r-f"><field name="NAME">timeout</field> <field name="DELAY">1000</field> <statement name="STATEMENT"><block type="update" id="kU~2dFzbn3M5@__qyh4^"><mutation delay_input="false"></mutation> <field name="OID">harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="6!J?[c)l#ii*_{;b}|yf"><field name="TEXT">1</field></block></value></block></statement></block></next></block></statement></block> !

                    Und als script:

                    var timeout;
                    
                    if (getState("hm-rpc.0.MEQ0165864.2.STATE").val == true) {
                      setState("harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn"/*Onkyo_AV_Receiver:PowerOn*/, '1', true);
                      // Bei kontrolle schalter = AN kein delay schalte
                    } else if (getState("hm-rpc.0.MEQ0165864.2.STATE").val == false) {
                      // Bei kontrolle schalter = AUS schalte mit delay
                      timeout = setTimeout(function () {
                        setState("harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn"/*Onkyo_AV_Receiver:PowerOn*/, '1', true);
                      }, 1000);
                    }
                    

                    Pass aber bitte auf dies ist nur ein teil der loesung naemlich logik ueberpruefe den statu der steckdose und schalte demnach den verstaerker.

                    Jetzt musst du noch:

                    • Bestimmen wie du dieses script startest, z.b. eine variable anlegen welche due mit scene adapter auf true setzt. Javascript reagiert dan z.b. auf diese variabele

                    • Wen in deiner scenen logic auch das einschalten der steckdose aufgenommen ist, muss dieses script natuerlich davor laufen :)

                    Da ich deine situation nicht genau kennen etwas schwierig genau die schritten oder ein end-to-end loesung als beispiel zu geben.

                    Ich gehe jetzt mal dumweg davon aus das dus alles mit scenen geschaltet has und nur logic fuer delay einschalen verstaerker hinzufuegen moechtest ?

                    Es waere auch logissch die stekdose in der ElseIf einzubauen.

                    Den trigger/art von script und in welche kombination haengt von deinen wunsch und realisierung ab :)

                    Also:

                    • Mach dir einen plan wie deine scenario aussieht und unter welchen bedingungen was gemacht werden soll

                    • Ist dir egal op script/blockly oder scene oder hast du da wuensche ? Wen ja macht dir nen plan was wohl und nicht geht z.b. scene und anders geloest werden muss (wie if/then delay)

                    • Definieren was dein trigger sein wird, ein script muss auch gestartet werden das geht z.b. per variabelen aenderung,

                    PS: mit scene kannst du auch ein script an oder ausschalten, z.b. die blocke welche ich gepostet haben.

                    Dan verlegtst du das einschalten des receiver auf ein script, diesen script activierst du mit deiner scene und am ende noch block hinzufuegen script wieder aus.

                    habe nochmal nachgedacht ueber den ping, das wird nicht gehen.

                    Bei mir getested und wie befuerchtet is der ping schneller da als das onkyo auf ein IR signal reagiert. Da er aber immer glaich lang zum starten brauch ist ein fester delay schon OK denke ich mal ?

                    Greetz,

                    Dutch

                    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

                    662

                    Online

                    32.6k

                    Benutzer

                    82.2k

                    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