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-Noob - DP wie ansprechen...

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    377

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

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

Blockly-Noob - DP wie ansprechen...

Geplant Angeheftet Gesperrt Verschoben Blockly
11 Beiträge 2 Kommentatoren 138 Aufrufe 1 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.
  • Thomas BraunT Thomas Braun

    Wie spreche ich am besten diesen Datenpunkt in einem Blockly an:
    8657f1ff-03d9-499f-8cbd-f7959937a68f-grafik.png

    Ich experimientiere mit diesem Blockly:

    41a7db88-6950-40df-ba2b-f46086b3c085-grafik.png

    Ist 'aktualisiere mit 100' der beste Ansatz in dem Fall?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #2

    @Thomas-Braun sagte: Ist 'aktualisiere mit 100' der beste Ansatz in dem Fall?

    Nein, Adapter-Datenpunkte müssen mit "steuere" geschrieben werden, damit sie gesendet werden.
    Wie kann ein Datenpunkt mit der Rolle "button" einen Zahlenwert (100) enthalten? Er müsste vom Typ "boolean" und "write only" sein.
    Passen sollte "steuere Trigger press mit wahr".

    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

    Thomas BraunT 1 Antwort Letzte Antwort
    1
    • paul53P paul53

      @Thomas-Braun sagte: Ist 'aktualisiere mit 100' der beste Ansatz in dem Fall?

      Nein, Adapter-Datenpunkte müssen mit "steuere" geschrieben werden, damit sie gesendet werden.
      Wie kann ein Datenpunkt mit der Rolle "button" einen Zahlenwert (100) enthalten? Er müsste vom Typ "boolean" und "write only" sein.
      Passen sollte "steuere Trigger press mit wahr".

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #3

      @paul53 sagte in Blockly-Noob - DP wie ansprechen...:

      Wie kann ein Datenpunkt mit der Rolle "button" einen Zahlenwert (100) enthalten?

      Keine Ahnung. Das wird wohl so vom Adapter/der API kommen...

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      paul53P 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @paul53 sagte in Blockly-Noob - DP wie ansprechen...:

        Wie kann ein Datenpunkt mit der Rolle "button" einen Zahlenwert (100) enthalten?

        Keine Ahnung. Das wird wohl so vom Adapter/der API kommen...

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #4

        @Thomas-Braun sagte: Das wird wohl so vom Adapter/der API kommen...

        ... oder dass du mit "aktualisiere" den Wert 100 geschrieben hast, was allerdings zu einer Warnung geführt haben muss, wenn der DP korrekt konfiguriert ist. Schau mal die OBJEKTDATEN des DP an.

        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

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @Thomas-Braun sagte: Das wird wohl so vom Adapter/der API kommen...

          ... oder dass du mit "aktualisiere" den Wert 100 geschrieben hast, was allerdings zu einer Warnung geführt haben muss, wenn der DP korrekt konfiguriert ist. Schau mal die OBJEKTDATEN des DP an.

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #5

          @paul53
          Ich hab die Datenpunkte jetzt mal alle gelöscht und frisch per Instanzneustart eingelesen:

          {
            "type": "state",
            "common": {
              "name": "Trigger press",
              "type": "number",
              "role": "button",
              "read": true,
              "unit": "",
              "write": true
            },
            "from": "system.adapter.switchbot-hub.0",
            "user": "system.user.admin",
            "ts": 1769287007378,
            "_id": "switchbot-hub.0.DC2BC51B4688.press",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          paul53P 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @paul53
            Ich hab die Datenpunkte jetzt mal alle gelöscht und frisch per Instanzneustart eingelesen:

            {
              "type": "state",
              "common": {
                "name": "Trigger press",
                "type": "number",
                "role": "button",
                "read": true,
                "unit": "",
                "write": true
              },
              "from": "system.adapter.switchbot-hub.0",
              "user": "system.user.admin",
              "ts": 1769287007378,
              "_id": "switchbot-hub.0.DC2BC51B4688.press",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              }
            }
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #6

            @Thomas-Braun
            "type": "number" / "role": "button" widersprechen sich. Was soll der DP bewirken?

            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

            Thomas BraunT 2 Antworten Letzte Antwort
            0
            • paul53P paul53

              @Thomas-Braun
              "type": "number" / "role": "button" widersprechen sich. Was soll der DP bewirken?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #7

              @paul53

              Der löst einen SwitchBot aus:
              https://eu.switch-bot.com/products/switchbot-bot

              Also ein Button. Ich hab jetzt den type auf boolean geändert.
              Jetzt sind zwar die Meldungen dazu weg, dafür löst das Skript nun warum auch immer selber aus:

              2026-01-24 22:03:04.437  - info: javascript.0 (422976) script.js.common.treppenhaus_licht_hub: BWM-Treppenhaus oder Klingel wurde ausgelöst
              2026-01-24 22:03:04.437  - warn: javascript.0 (422976) You are assigning a boolean to the state "switchbot-hub.0.DC2BC51B4688.press" which expects a number. Please fix your code to use a number or change the state type to boolean. This warning might become an error in future versions.
              2026-01-24 22:03:04.440  - warn: javascript.0 (422976)     at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20)
              2026-01-24 22:03:04.440  - warn: javascript.0 (422976)     at Object.<anonymous> (script.js.common.treppenhaus_licht_hub:8:5)
              2026-01-24 22:03:04.441  - warn: javascript.0 (422976)     at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38)
              2026-01-24 22:03:04.441  - warn: javascript.0 (422976)     at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25)
              2026-01-24 22:03:04.441  - warn: javascript.0 (422976)     at JavaScript.emit (node:events:508:28)
              2026-01-24 22:03:04.441  - warn: javascript.0 (422976)     at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11163:53)
              2026-01-24 22:03:04.441  - warn: javascript.0 (422976)     at processImmediate (node:internal/timers:504:21)
              2026-01-24 22:03:04.442  - info: javascript.0 (422976) script.js.common.treppenhaus_licht_hub: Lichtschalter wurde vom ioBroker-Skript ausgelöst
              2026-01-24 22:03:04.453  - info: javascript.0 (422976) State value to set for "switchbot-hub.0.DC2BC51B4688.press" has to be type "number" but received type "boolean" 
              2026-01-24 22:04:48.888  - info: switchbot-hub.0 (768645) Connected to SwitchBot API found 7 devices
              2026-01-24 22:04:49.446  - info: switchbot-hub.0 (768645) All devices and values loaded, adapter ready
              2026-01-24 22:13:03.092  - info: javascript.0 (422976) script.js.common.treppenhaus_licht_hub: BWM-Treppenhaus oder Klingel wurde ausgelöst
              2026-01-24 22:13:03.092  - info: javascript.0 (422976) script.js.common.treppenhaus_licht_hub: Lichtschalter wurde vom ioBroker-Skript ausgelöst
              

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Thomas-Braun
                "type": "number" / "role": "button" widersprechen sich. Was soll der DP bewirken?

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von Thomas Braun
                #8

                @paul53

                Ich hab jetzt die Trigger angepasst:
                bc0b9211-aeb7-44c6-a61f-f07b46a3d26f-grafik.png

                Ergibt das Sinn? Der alte Trigger 'Current ring-state of the Opener' stand immer auf 'true', wurde also nicht 'größer als letztes'. Deswegen nutze ich nun den Timestamp. Der dürfte ja dann 'größer als letztes' sein.

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                paul53P 1 Antwort Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @paul53

                  Ich hab jetzt die Trigger angepasst:
                  bc0b9211-aeb7-44c6-a61f-f07b46a3d26f-grafik.png

                  Ergibt das Sinn? Der alte Trigger 'Current ring-state of the Opener' stand immer auf 'true', wurde also nicht 'größer als letztes'. Deswegen nutze ich nun den Timestamp. Der dürfte ja dann 'größer als letztes' sein.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #9

                  @Thomas-Braun sagte: Der alte Trigger 'Current ring-state of the Opener' stand immer auf 'true'

                  Dann mal mit Trigger auf "ist wahr" versuchen. Der triggert auch dann, wenn nur der Zeitstempel aktualisiert wird.
                  Ein DP, der den Zeitstempel als Wert enthält, ist nur selten verfügbar.

                  Was den Datenpunkt-Typ des DP "press" betrifft, erstelle bitte Issue auf Github.

                  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

                  Thomas BraunT 2 Antworten Letzte Antwort
                  0
                  • paul53P paul53

                    @Thomas-Braun sagte: Der alte Trigger 'Current ring-state of the Opener' stand immer auf 'true'

                    Dann mal mit Trigger auf "ist wahr" versuchen. Der triggert auch dann, wenn nur der Zeitstempel aktualisiert wird.
                    Ein DP, der den Zeitstempel als Wert enthält, ist nur selten verfügbar.

                    Was den Datenpunkt-Typ des DP "press" betrifft, erstelle bitte Issue auf Github.

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von
                    #10

                    @paul53

                    Danke dir! Blockly hab ich angepasst und issue erstellt.

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Thomas-Braun sagte: Der alte Trigger 'Current ring-state of the Opener' stand immer auf 'true'

                      Dann mal mit Trigger auf "ist wahr" versuchen. Der triggert auch dann, wenn nur der Zeitstempel aktualisiert wird.
                      Ein DP, der den Zeitstempel als Wert enthält, ist nur selten verfügbar.

                      Was den Datenpunkt-Typ des DP "press" betrifft, erstelle bitte Issue auf Github.

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb zuletzt editiert von
                      #11

                      @paul53

                      Eine KI hat mir folgendes geflüstert:

                      Die Warnmeldung im ioBroker-Log zeigt an, dass ein boolean-Wert (true/false) an einen State geschrieben wird, der eigentlich einen number-Wert erwartet. Das passiert konkret beim State switchbot-hub.0.DC2BC51B4688.press.
                      Ursache
                      Laut der Dokumentation des Adapters:

                      Der Adapter erstellt für SwitchBot-Geräte zwei States: press (für das Auslösen eines Drucks) und state (für On/Off).
                      Wenn das Gerät im Press-Modus betrieben wird, ist der state-Wert nicht relevant, und der press-State sollte als boolean (true/false) interpretiert werden.
                      Wenn das Gerät im Switch-Modus betrieben wird, sollte der press-State eigentlich als number (z.B. 0/1) interpretiert werden, um den Status korrekt widerzuspiegeln.
                      Lösung
                      Du hast zwei Möglichkeiten, um die Warnung zu beheben:

                      1. State-Typ im ioBroker anpassen

                      Gehe in die ioBroker-Objektverwaltung.
                      Suche den State switchbot-hub.0.DC2BC51B4688.press.
                      Ändere den common.type des States von number auf boolean.
                      Speichere die Änderungen und starte den Adapter neu.

                      1. Skript anpassen (falls du den State selbst setzt)
                        Falls du in einem Skript (z.B. JavaScript) den State switchbot-hub.0.DC2BC51B4688.press setzt, passe den Code so an, dass er einen number-Wert (z.B. 1 für true, 0 für false) statt eines booleans verwendet:
                      // Statt:
                      setState("switchbot-hub.0.DC2BC51B4688.press", true);
                      
                      // Verwende:
                      setState("switchbot-hub.0.DC2BC51B4688.press", 1);
                      
                      1. mache ich ja momentan, aber das muss ich bei einem Neustart ja immer wieder machen. Nervt... :-)
                        Wie kann man denn 2) in einem Blockly verwenden? Oder muss ich dafür ein reines skript laufen lassen?

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      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

                      292

                      Online

                      32.7k

                      Benutzer

                      82.5k

                      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