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

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    492

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Blockly Objekt ID auf True/False setzen

Geplant Angeheftet Gesperrt Verschoben Blockly
21 Beiträge 4 Kommentatoren 2.9k Aufrufe 3 Watching
  • Ä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.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    1
    • M Offline
      M Offline
      memberx
      schrieb am zuletzt editiert von memberx
      #3

      @codierknecht vielen Dank

      Und nehme ich dann aktualisiere oder steuere?

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • M memberx

        @codierknecht vielen Dank

        Und nehme ich dann aktualisiere oder steuere?

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antworten Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #7

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

              SchmakusS 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #9

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

                  CodierknechtC 1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #11

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

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • M memberx

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

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @memberx
                          Du sparst Dir ein Script.

                          M Offline
                          M Offline
                          memberx
                          schrieb am zuletzt editiert von
                          #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 Antworten Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #15

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

                              paul53P CodierknechtC 2 Antworten Letzte Antwort
                              0
                              • M memberx

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

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • M memberx

                                          @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 Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #21

                                          @memberx sagte: Status wie vorher wiederherstellen

                                          Blockly_temp.JPG

                                          Während des Urlaubs sollte es keinen Skript-Neustart geben, denn den überlebt die Variable warEin nicht.

                                          EDIT: Sonst muss man sich den Wert in einem eigenen Datenpunkt merken:

                                          Blockly_temp.JPG

                                          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
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          336

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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