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. Blockly
  5. Blockly Objekt ID auf True/False setzen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Blockly Objekt ID auf True/False setzen

Scheduled Pinned Locked Moved Blockly
21 Posts 4 Posters 3.0k Views 3 Watching
  • 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.
  • M Offline
    M Offline
    memberx
    wrote on last edited by
    #1

    Hallo zusammen, egal ob ich aktualisiere oder Steuern nutze, er will mir das Objekt hier einfach nicht ändern zwischen True/False.

    Muss ich etwas anderes nutzen? danke im Voraus.

    Objekt:
    Bildschirmfoto 2023-10-27 um 07.58.17.png

    on({ id: 'openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein' /* Urlaub Status 1=ja 0=nein */, change: 'any' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      if (getObject('openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein') == true) {
        setState('unifi.0.default.devices.74:ac:b9:ae:38:26.port_table.port_6.port_poe_enabled' /* switch poe power */, false);
      }
      if (getObject('openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein') == false) {
        setState('unifi.0.default.devices.74:ac:b9:ae:38:26.port_table.port_6.port_poe_enabled' /* switch poe power */, true, true);
      }
      console.log('test');
    });
    

    Bildschirmfoto 2023-10-27 um 08.01.08.png

    CodierknechtC 1 Reply Last reply
    0
    • M memberx

      Hallo zusammen, egal ob ich aktualisiere oder Steuern nutze, er will mir das Objekt hier einfach nicht ändern zwischen True/False.

      Muss ich etwas anderes nutzen? danke im Voraus.

      Objekt:
      Bildschirmfoto 2023-10-27 um 07.58.17.png

      on({ id: 'openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein' /* Urlaub Status 1=ja 0=nein */, change: 'any' }, async (obj) => {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        if (getObject('openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein') == true) {
          setState('unifi.0.default.devices.74:ac:b9:ae:38:26.port_table.port_6.port_poe_enabled' /* switch poe power */, false);
        }
        if (getObject('openknx.0.Rückmeldungen.Zentral.Urlaub_Status_1=ja_0=nein') == false) {
          setState('unifi.0.default.devices.74:ac:b9:ae:38:26.port_table.port_6.port_poe_enabled' /* switch poe power */, true, true);
        }
        console.log('test');
      });
      

      Bildschirmfoto 2023-10-27 um 08.01.08.png

      CodierknechtC Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      wrote on last edited by Codierknecht
      #2

      @memberx
      Du musst nicht das ganze Objekt prüfen, sondern "Wert von Objekt" verwenden.

      Edit:
      Geht auch noch deutlich einfacher ... ohne "Falls" usw.
      Habe gerade keinen ioBroker da, darum ohne Screenshots:

      Falls Objekt XYZ wurde geändert (nicht aktualisiert)
      => steuere Switch mit WERT

      Den Block "Wert" findest Du unter "Trigger".
      Er heißt dort noch "Objekt ID" - das kann man dann nach "Wert" ändern.

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      SchmakusS 1 Reply Last reply
      1
      • M Offline
        M Offline
        memberx
        wrote on last edited by memberx
        #3

        @codierknecht vielen Dank

        Und nehme ich dann aktualisiere oder steuere?

        CodierknechtC 1 Reply Last reply
        0
        • M memberx

          @codierknecht vielen Dank

          Und nehme ich dann aktualisiere oder steuere?

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #4

          @memberx sagte in Blockly Objekt ID auf True/False setzen:

          Und nehme ich dann aktualisiere oder steuere?

          Grundregel:
          Alle DP von Adaptern werden mit steuere geschrieben.
          Alle eigenen DP (unterhalb von 0_userdata.0) mit aktualisiere.

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          1 Reply Last reply
          1
          • CodierknechtC Codierknecht

            @memberx
            Du musst nicht das ganze Objekt prüfen, sondern "Wert von Objekt" verwenden.

            Edit:
            Geht auch noch deutlich einfacher ... ohne "Falls" usw.
            Habe gerade keinen ioBroker da, darum ohne Screenshots:

            Falls Objekt XYZ wurde geändert (nicht aktualisiert)
            => steuere Switch mit WERT

            Den Block "Wert" findest Du unter "Trigger".
            Er heißt dort noch "Objekt ID" - das kann man dann nach "Wert" ändern.

            SchmakusS Offline
            SchmakusS Offline
            Schmakus
            Developer
            wrote on last edited by
            #5

            @codierknecht sagte in Blockly Objekt ID auf True/False setzen:

            @memberx
            Du musst nicht das ganze Objekt prüfen, sondern "Wert von Objekt" verwenden.

            Edit:
            Geht auch noch deutlich einfacher ... ohne "Falls" usw.
            Habe gerade keinen ioBroker da, darum ohne Screenshots:

            Falls Objekt XYZ wurde geändert (nicht aktualisiert)
            => steuere Switch mit WERT

            Den Block "Wert" findest Du unter "Trigger".
            Er heißt dort noch "Objekt ID" - das kann man dann nach "Wert" ändern.

            In seinem Fall: steuere Switch mit nicht Wert

            Er will ja bei Urlaub true, den switch mit false setzen und umgekehrt.

            Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

            CodierknechtC M 2 Replies Last reply
            1
            • SchmakusS Schmakus

              @codierknecht sagte in Blockly Objekt ID auf True/False setzen:

              @memberx
              Du musst nicht das ganze Objekt prüfen, sondern "Wert von Objekt" verwenden.

              Edit:
              Geht auch noch deutlich einfacher ... ohne "Falls" usw.
              Habe gerade keinen ioBroker da, darum ohne Screenshots:

              Falls Objekt XYZ wurde geändert (nicht aktualisiert)
              => steuere Switch mit WERT

              Den Block "Wert" findest Du unter "Trigger".
              Er heißt dort noch "Objekt ID" - das kann man dann nach "Wert" ändern.

              In seinem Fall: steuere Switch mit nicht Wert

              Er will ja bei Urlaub true, den switch mit false setzen und umgekehrt.

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by
              #6

              @schmakus
              Wer lesen kann, ist klar im Vorteil ;-)

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              1 Reply Last reply
              0
              • SchmakusS Schmakus

                @codierknecht sagte in Blockly Objekt ID auf True/False setzen:

                @memberx
                Du musst nicht das ganze Objekt prüfen, sondern "Wert von Objekt" verwenden.

                Edit:
                Geht auch noch deutlich einfacher ... ohne "Falls" usw.
                Habe gerade keinen ioBroker da, darum ohne Screenshots:

                Falls Objekt XYZ wurde geändert (nicht aktualisiert)
                => steuere Switch mit WERT

                Den Block "Wert" findest Du unter "Trigger".
                Er heißt dort noch "Objekt ID" - das kann man dann nach "Wert" ändern.

                In seinem Fall: steuere Switch mit nicht Wert

                Er will ja bei Urlaub true, den switch mit false setzen und umgekehrt.

                M Offline
                M Offline
                memberx
                wrote on last edited by
                #7

                @schmakus nicht ganz, Switch false setzen wenn Urlaub True ist, Urlaub wird aber über KNX bzw. Server gesetzt.

                SchmakusS 1 Reply Last reply
                0
                • M memberx

                  @schmakus nicht ganz, Switch false setzen wenn Urlaub True ist, Urlaub wird aber über KNX bzw. Server gesetzt.

                  SchmakusS Offline
                  SchmakusS Offline
                  Schmakus
                  Developer
                  wrote on last edited by Schmakus
                  #8

                  @memberx Ja, meine Aussage passt doch.
                  Du kannst sogar den Binde-Block nehmen oder dir einen Alias erstellen.
                  Für so einfache "Schaltungen" ist eigentlich ein Alias das idealste.

                  Beim alias wäre dann bei wert für Lesen: !val

                  Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                  M 1 Reply Last reply
                  1
                  • SchmakusS Schmakus

                    @memberx Ja, meine Aussage passt doch.
                    Du kannst sogar den Binde-Block nehmen oder dir einen Alias erstellen.
                    Für so einfache "Schaltungen" ist eigentlich ein Alias das idealste.

                    Beim alias wäre dann bei wert für Lesen: !val

                    M Offline
                    M Offline
                    memberx
                    wrote on last edited by
                    #9

                    @schmakus muss ich mir mal anschauen. Kenne die Befehle noch nicht, noch viel Neuland bei mir 😁

                    CodierknechtC 1 Reply Last reply
                    0
                    • M memberx

                      @schmakus muss ich mir mal anschauen. Kenne die Befehle noch nicht, noch viel Neuland bei mir 😁

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      wrote on last edited by
                      #10

                      @memberx
                      Du gehst im Objektbaum nach alias.0.
                      Dort kannst Du Dir Ordner und Datenpunkte nach Deinen Anforderungen anlegen.
                      Einen DP vom Typ "Bool" anlegen, den auf Deinen DP mit Urlaub "gucken" lassen und in der Konvertierungsfunktion - wie von @Schmakus vorgeschlagen - !val eintragen.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      M 1 Reply Last reply
                      0
                      • CodierknechtC Codierknecht

                        @memberx
                        Du gehst im Objektbaum nach alias.0.
                        Dort kannst Du Dir Ordner und Datenpunkte nach Deinen Anforderungen anlegen.
                        Einen DP vom Typ "Bool" anlegen, den auf Deinen DP mit Urlaub "gucken" lassen und in der Konvertierungsfunktion - wie von @Schmakus vorgeschlagen - !val eintragen.

                        M Offline
                        M Offline
                        memberx
                        wrote on last edited by
                        #11

                        @codierknecht was genau ist der Vorteil davon gegenüber falls dann?

                        CodierknechtC 1 Reply Last reply
                        0
                        • M memberx

                          @codierknecht was genau ist der Vorteil davon gegenüber falls dann?

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #12

                          @memberx
                          Du sparst Dir ein Script.

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          M 1 Reply Last reply
                          0
                          • CodierknechtC Codierknecht

                            @memberx
                            Du sparst Dir ein Script.

                            M Offline
                            M Offline
                            memberx
                            wrote on last edited by
                            #13

                            @codierknecht

                            Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!

                            Oder wieso spare ich mir in meinem Fall ein Script?

                            paul53P SchmakusS 2 Replies Last reply
                            0
                            • M memberx

                              @codierknecht

                              Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!

                              Oder wieso spare ich mir in meinem Fall ein Script?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by paul53
                              #14

                              @memberx sagte: wieso spare ich mir in meinem Fall ein Script?

                              Um den Unifi-Datenpunkt zu steuern, wird natürlich ein Skript benötigt:

                              Blockly_temp.JPG

                              Der Block "nicht" wandelt 1 in false und 0 in true.

                              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

                              M 2 Replies Last reply
                              1
                              • paul53P paul53

                                @memberx sagte: wieso spare ich mir in meinem Fall ein Script?

                                Um den Unifi-Datenpunkt zu steuern, wird natürlich ein Skript benötigt:

                                Blockly_temp.JPG

                                Der Block "nicht" wandelt 1 in false und 0 in true.

                                M Offline
                                M Offline
                                memberx
                                wrote on last edited by
                                #15

                                @paul53 muss dann wirklich nur nicht wert rein? Nicht mehr spezifisch Wert von Objekt Urlaub?

                                paul53P CodierknechtC 2 Replies Last reply
                                0
                                • M memberx

                                  @paul53 muss dann wirklich nur nicht wert rein? Nicht mehr spezifisch Wert von Objekt Urlaub?

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #16

                                  @memberx sagte: muss dann wirklich nur nicht wert rein?

                                  Ja, Wert (findet man unter "Trigger") enthält den Wert des Trigger-Datenpunktes.

                                  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 Reply Last reply
                                  0
                                  • M memberx

                                    @paul53 muss dann wirklich nur nicht wert rein? Nicht mehr spezifisch Wert von Objekt Urlaub?

                                    CodierknechtC Offline
                                    CodierknechtC Offline
                                    Codierknecht
                                    Developer Most Active
                                    wrote on last edited by Codierknecht
                                    #17

                                    @memberx

                                    Wie @paul53 schon schreibt:

                                    Ja, Wert (findet man unter "Trigger") enthält den Wert des Trigger-Datenpunktes.

                                    Es wäre unsinnig, den Wert nochmal aus dem Objekt zu lesen. Wenn der Trigger zum Objekt feuert, sind alle Eigenschaften des auslösenden Objektes längst bekannt.

                                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                    HmIP|ZigBee|Tasmota|Unifi
                                    Zabbix Certified Specialist
                                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                    1 Reply Last reply
                                    1
                                    • M memberx

                                      @codierknecht

                                      Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!

                                      Oder wieso spare ich mir in meinem Fall ein Script?

                                      SchmakusS Offline
                                      SchmakusS Offline
                                      Schmakus
                                      Developer
                                      wrote on last edited by
                                      #18

                                      @memberx sagte in Blockly Objekt ID auf True/False setzen:

                                      @codierknecht

                                      Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!

                                      Oder wieso spare ich mir in meinem Fall ein Script?

                                      Weil man mit einem Alias nicht nur, wie du beschreibst, ein Replacement ist, sondern man kann damit auch Werte des Quelldatenpunkts manipulieren (verändern, berechnen, usw) und andersrum.

                                      Beispiel: mein Quelldatenpunkt liefert Watt und ich möchte aber Kilowatt, dann erstelle ich einen Alias und füge als Formel zum Lesen val * 1000 ein. Somit benötige ich kein Script, weil alles der Alias macht.

                                      Beispiel 2:
                                      Ich habe einen Quelldatenpunkt, welcher als String ON oder OFF hat. Ich möchte aber woanders in irgendwelchen Scripten nur true/falseverwenden.
                                      Dann einen Alias des typs boolean. Für lesen: val === "ON" ? true : false Für schreiben: val ? "ON" : "OFF"

                                      Somit habe ich eigene Datenpunkte ohne ein Script.

                                      Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                                      paul53P 1 Reply Last reply
                                      1
                                      • SchmakusS Schmakus

                                        @memberx sagte in Blockly Objekt ID auf True/False setzen:

                                        @codierknecht

                                        Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!

                                        Oder wieso spare ich mir in meinem Fall ein Script?

                                        Weil man mit einem Alias nicht nur, wie du beschreibst, ein Replacement ist, sondern man kann damit auch Werte des Quelldatenpunkts manipulieren (verändern, berechnen, usw) und andersrum.

                                        Beispiel: mein Quelldatenpunkt liefert Watt und ich möchte aber Kilowatt, dann erstelle ich einen Alias und füge als Formel zum Lesen val * 1000 ein. Somit benötige ich kein Script, weil alles der Alias macht.

                                        Beispiel 2:
                                        Ich habe einen Quelldatenpunkt, welcher als String ON oder OFF hat. Ich möchte aber woanders in irgendwelchen Scripten nur true/falseverwenden.
                                        Dann einen Alias des typs boolean. Für lesen: val === "ON" ? true : false Für schreiben: val ? "ON" : "OFF"

                                        Somit habe ich eigene Datenpunkte ohne ein Script.

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by paul53
                                        #19

                                        @schmakus sagte: Formel zum Lesen val * 1000

                                        val / 1000
                                        oder mit Runden auf 2 Nachkommastellen
                                        Math.round(val / 10) / 100

                                        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 Reply Last reply
                                        0
                                        • paul53P paul53

                                          @memberx sagte: wieso spare ich mir in meinem Fall ein Script?

                                          Um den Unifi-Datenpunkt zu steuern, wird natürlich ein Skript benötigt:

                                          Blockly_temp.JPG

                                          Der Block "nicht" wandelt 1 in false und 0 in true.

                                          M Offline
                                          M Offline
                                          memberx
                                          wrote on last edited by
                                          #20

                                          @paul53 Und wie könnte folgendes man es angehen:

                                          Vor dem Urlaub ist ser Unifi AP AUS (aus irgendeinen Grund)

                                          Wenn Urlaub True -> Unifi AP POE AUSSCHALTEN

                                          Wenn Urlaub dann geändert auf FALSE -> Status wie vorher wiederherstellen, also wenn er vorher AN war wieder an, wenn er AUS war, wieder aus

                                          paul53P 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          422

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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