Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Object Wert per Skript verändern ohne Befehle auszuführen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Object Wert per Skript verändern ohne Befehle auszuführen

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

      Hallo,

      ich bin neu hier und habe vor ca. 2 Wochen mit ioBroker angefangen, und bin bisher begeistert☺

      Allerdings habe ich jetzt ein Problem mit einem Skript und finde nichts passendes und hoffe deswegen hier richtig zu sein.

      Ich arbeite mit Blocky für die Skripte und habe jetzt 2 Schalter erstellt, einen um meinen TV Ein/Aus, AV Receiver Ein/Aus und ein paar weitere Dinge zu schalten. Mit dem zweiten Schalter schalte ich meinen Beamer Ein/Aus, AV Receiver Ein/Aus und ein paar weitere Dinge. Dass klappt auch alles wunderbar.

      Ich möchte einen weiteren Schalter erstellen womit ich z.B. vom TV zum Beamer wechseln kann. Heißt also der TV soll aus gehen und der Beamer an usw.
      Jetzt kommt aber mein Problem, wozu ich bisher nichts finden konnte 😥

      Ich möchte mit einem 3. Schalter bezwecken, dass die Befehle gesendet werden um vom eingeschalteten TV zum Beamer zu wechseln. Aber damit bei der VIS der Schalter 1 & 2 auch den richtigen Wert anzeigen möchte ich den Wert von Schalter 1 zu false wechseln (da der TV ja jetzt ausgeschaltet ist) und bei Schalter 2 den Wert true (Da jetzt der Beamer an ist). Wichtig ist jedoch die Befehle von Schalter 1 & 2 dürfen nicht gesendet werden, da es andere Befehle sind ein Gerät einzuschalten als zwischen ihnen zu wechseln. Also sollen die Befehle von Schalter 3 kommen.

      Meine Frage ist jetzt kann ich überhaupt, den Wert des Objects verändern ohne die Befehle aus dem Skript auszuführen? Und wenn ja wie schaffe ich es?

      Ich bin sehr dankbar für jeden Tipp!

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @DJPepper last edited by paul53

        @DJPepper sagte in Object Wert per Skript verändern ohne Befehle auszuführen:

        kann ich überhaupt, den Wert des Objects verändern ohne die Befehle aus dem Skript auszuführen?

        Ja, mit aktualisiere anstelle steuere. Es wird dann aber ein falscher Aktor-Wert angezeigt.

        1 Reply Last reply Reply Quote 0
        • D
          DJPepper last edited by

          Aktualisieren hab ich schon probiert , leider hat er die Befehle trotzdem gesendet. Dann muss ich nochmal gucken, warum das nicht ging.

          Darf ich fragen was Du mit falschen Aktor-Wert meinst?

          Danke für die schnelle Antwort 😉

          1 Reply Last reply Reply Quote 0
          • D
            DJPepper last edited by

            Ich verzweifel hier😥

            hebe jetzt ein Skript mit Blocky gemacht, Blocky.jpg

            Möchte ja nichts anderes bewirken als wenn Test true ist, dass Fernseher auf false aktualisiert wird.

            Obwohl ich nur aktualisieren genommen habe sendet er immer die befehle und schaltet den Fernseher aus anstatt nur den Wert auf false zu setzen.

            Was mach ich falsch?

            Es tut mir leid wenn ich hier echt dumme Fragen stelle, bin in dem Thema komplett neu und habe noch nie mit gearbeitet.

            1 Reply Last reply Reply Quote 0
            • L
              lesiflo Most Active last edited by lesiflo

              Definiere dir eine neue Variable und speichere dort den Wert ab.

              1 Reply Last reply Reply Quote 0
              • D
                DJPepper last edited by

                Könntest Du so nett sein, und mir etwas detaillierter Beschreiben was Du damit meinst.
                Also wo soll ich welche Variable definieren bzw. was muss ich tun?

                Sorry ich sagte ja bin ganz neu in dem Thema und versuche noch vieles zu verstehen 😉

                1 Reply Last reply Reply Quote 0
                • D
                  DJPepper last edited by

                  Hallo nochmal,

                  wäre echt super wenn mir jemand helfen könnte, so dass ich es als Anfänger mit ioBrocker es auch verstehe.

                  Bin echt am verzweifel mit dem blöden Schalter und leider zu doof es alleine zu lösen.

                  rantanplan 1 Reply Last reply Reply Quote 0
                  • rantanplan
                    rantanplan @DJPepper last edited by

                    @DJPepper sagte in Object Wert per Skript verändern ohne Befehle auszuführen:

                    Hallo nochmal,

                    wäre echt super wenn mir jemand helfen könnte, so dass ich es als Anfänger mit ioBrocker es auch verstehe.

                    Bin echt am verzweifel mit dem blöden Schalter und leider zu doof es alleine zu lösen.

                    Ganz ehrlich? Ich habe nicht so richtig verstanden was Du erreichen willst.

                    1 Reply Last reply Reply Quote 0
                    • D
                      DJPepper last edited by

                      Ich habe 2 Skripte, der 1. TV Ein/Aus, das 2. Beamer Ein/Aus.
                      Ich möchte jetzt mit einem 3. Skript erreichen, zwischen den beiden Geräten zu wechseln. Das ist auch kein Problem aber ich möchte wenn ich z.B. vom TV zum Beamer wechsel, dass der Status des 1. Skript (also TV) auf aus geht. Damit der Schalter aus der VIS auch korrekt anzeigt der TV ist jetzt aus und der Beamer an, da ich ja vom TV zum Beamer gewechselt habe.

                      Ich hatte jetzt mit Blocky versucht "aktualisiere Object ID" dann stellt er zwar den Staus um sendet aber auch die Befehle vom 1. Schalter was zu folge hat das z.B. mein AVR aus ist.

                      Deshalb möchte ich nur den Wert von true auf false der Object ID verändern aber unter binden das er da durch das Skript ausführt.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • rantanplan
                        rantanplan last edited by

                        Aha, da ist also noch ein drittes Gerät im Spiel "AVR"
                        "AVR" ist für TV UND Beamer zuständig.

                        1.) TV = AN / AVR = AN / Beamer = AUS
                        2.) Beamer = AN / AVR = AN / TV = AUS
                        3.) TV = AUS / Beamer = AUS / AVR = AUS

                        Sollen das die drei Möglichkeiten sein?
                        Wie schaltest Du die Geräte?
                        Und wie stellst Du das in VIS dar? Zeigst Du in VIS den Geräte/Aktor Status?

                        Am Besten exportierst Du mal Deine Blockly hier rein.

                        Grüße

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @rantanplan last edited by

                          @rantanplan
                          Im Prinzip sind das Szenen.

                          Von der Logik her kann immer nur eine true sein.
                          Ich hab leider nicht verstanden was genau Visualisiert werden soll

                          rantanplan 1 Reply Last reply Reply Quote 0
                          • rantanplan
                            rantanplan @Homoran last edited by

                            @Homoran
                            Ich gehe mal davon aus, dass er die Geräte über VIS ein- und ausschaltet und den Status dort angezeigt bekommt.

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @DJPepper last edited by

                              @DJPepper sagte in Object Wert per Skript verändern ohne Befehle auszuführen:

                              dass der Status des 1. Skript (also TV) auf aus geht.

                              Er scheint script enabled zu verwenden

                              rantanplan 1 Reply Last reply Reply Quote 0
                              • rantanplan
                                rantanplan @Homoran last edited by

                                @Homoran Das ist jetzt alles "Glaskugel". Keine Ahnung warum er drei Scripte gemacht hat. Eines würde reichen.
                                Mal schauen was es schreibt.

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @rantanplan last edited by

                                  @rantanplan 👍

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    DJPepper last edited by DJPepper

                                    Ja wie im 1. Post geschrieben sind mehrere Geräte im Spiel.

                                    Ich habe es mit einem Skript gemacht, da die TV und AVR Signale mit einem Broadlink gesendet werden. Und ich habe mich für ein Skript entschieden da ich hier an und aus in einem programmieren kann, sonst müsste ich ja 2 Szenen machen. Da der Broadlink bei false keinen Befehl sendet.

                                    In der VIS sind 2 ganz normale on/off Schalter einer für den TV und Co. einer für den Beamer und Co. Diese funktionieren auch super!
                                    Jetzt möchte ich in der VIS einen Button haben (also Nr.3) wenn ich den Drücke kann ich vom TV zum Beamer wechseln. Dabei wird der TV ausgeschaltet, der AVR auf einen anderen Ausgang gestellt und noch ein paar andere Dinge.

                                    Da Skript 1 und 2 super funktionieren, soll Skript 3 jetzt den Status des Wert von dem 1. Skript ändern und den wechsel vom TV zu Beamer veranlassen aber eben nur den Status von true (da der TV ja "AN" war) auf false ändern (da nach Betätigung des 3. Skript der TV "AUS" ist und der Beamer "AN")
                                    ABER! es darf dabei nicht das 1. Skript ausgeführt werden (da beim Ausführen des 1. Skripts bei false auch der AUS Befehle für den AVR mit bei ist)

                                    Blocky TV EIN-AUS.jpg Blocky Beamer EIN-AUS.jpg

                                    Das sind beiden Skripte, wie gesagt sie machen genau das was sie sollen. Heißt wenn ich nur den TV und alles "EIN" Schalten mag und dann wieder "AUS" klappt es ohne Probleme, dass selbe gilt für den Beamer.

                                    Jetzt hatte ich schon zum Testen folgendes probiertBlocky.jpg
                                    damit wollte ich nichts schalten sondern eben nur zum Test den Object ID Wert des Fernsehr EIN/AUS auf false setzten.

                                    Aber das Problem ist sobald er diesen auf false setzt führt er alle Befehle des Skript aus, wie kann ich dies unterbinden und nur den Wert ändern ohne Befehle?

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

                                      Für solche Szenarien ist eigentlich der Szenen-Adapter sehr gut geeignet. Dort stellst du im Prinzip das gleiche ein:

                                      Szene 1: Fernsehen:
                                      Fernseher EIN
                                      Beamer AUS
                                      AVR ein
                                      ...

                                      Szene 2: Beamer:
                                      Fernseher AUS
                                      Beamer EIN
                                      AVR ein
                                      ...

                                      Ob eine Szene wahr ist wird automatisch anhand der konfigurierten Einträge ermittelt. Wenn du also händisch den TV einschaltest, den Beamer ausschaltest und den AVR einschaltest, dann ist Szene 1 wahr, auch wenn du die eigentlich garnicht angetriggert hast.

                                      Wenn Du dich aktuell in Szene 1 befindest und Szene 2 antriggerst, dann geht der Fernseher aus und der Beamer an. Der AVR bleibt, wie er ist.

                                      Szenen werden eingeschaltet, indem man sie genau wie einen normalen Datenpunkt auf true setzt.
                                      Optional kann man eine Szene auch ausschalten. Dann kann man für jeden Eintrag noch einen weiteren Wert einstellen der gesetzt wird, wenn man eine Szene auf false setzt. Das zuvor beschriebene Verhalten bleibt aber trotzdem bestehen.

                                      Das ganze hat jedoch seine Grenzen. Meine Szene "Guten Morgen" fährt die Rolläden im EG hoch und schaltet das Küchenradio ein. Aufgrund der etwas komplizierten Steuerung des Küchenradios bleibt die Szene auch dann aktiv, wenn ich das Radio wieder ausschalte, weil die Rückmeldung auf einem anderen Datenpunkt kommt, wie die Ansteuerung (unidirektionale Datenpunkte). Einfache true/false-Werte funktionieren jedoch sehr gut, ebenso Datenpunkte die bidirektional arbeiten.

                                      Aber davon mal ab, im Prinzip ist das doch das, was du willst, oder?

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        DJPepper last edited by

                                        Entschuldige, dass ich erst jetzt antworte. In den letzten Wochen hatte ich leider keine Zeit um im ioBroker zu testen ob es mit der Szene funktioniert.

                                        Aber vom Prinzip sollte es mit der Szene klappen. Hatte mich halt für ein Skript entschieden da ich dort an und aus in einem Schalter realisieren konnte. Dies klappt bei meiner Szene jetzt nicht.

                                        Werde mich jetzt mal daran machen und gucken ob ich mit dem Szenen Adapter einen wechsel der Geräte realisieren kann.

                                        Ich bedanke mich vielmals für eure tolle Hilfe und Tipps!👍 😁

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        836
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

                                        blockly
                                        6
                                        18
                                        788
                                        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