Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT on und off als true und false interpretieren

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    MQTT on und off als true und false interpretieren

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

      Hallo zusammen
      ich arbeite im ioBroker mit MQTT um Werte zwischen Systrem hin und her zu senden, das funktioniert bis jetzt auch super.
      Per MQTT bekomme ich für ein Objekt "on" und "off" gesendet. leider interpretiert der IOB nur "on" als "true" aber "off" wird niucht als "false" erkannt.
      Wie kann ich das Problem am besten beheben?

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

        @mibr85 sagte: Wie kann ich das Problem am besten beheben?

        Mit einem Alias.
        Doku

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

          @paul53
          sollte "on" und "off" beim lesen nicht automatisch in "true" und "false" gemappt werden?
          bei "on" funktioniert es ja auch

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

            @mibr85 sagte: sollte "on" und "off" beim lesen nicht automatisch in "true" und "false" gemappt werden?

            Bei einem Alias vom Typ "boolean": Ja.
            In einem Skript / Blockly: Nein.

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

              @paul53
              wieso script?
              der wert kommt über MQTT und wird in einen Datenpunkt geschrieben "on" wird automatisch zu "true" gewandelt ein "off" komischerweise nicht in "false"
              ich steh irgendwie auf dem Schlauch

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

                @mibr85 sagte: der wert kommt über MQTT und wird in einen Datenpunkt geschrieben "on" wird automatisch zu "true" gewandelt

                Ist der MQTT-Datenpunkt vom Typ "boolean"? Wenn "on" und "off" empfangen werden, muss er vom Typ "string" sein und die Wandlung nach "boolean" muss per Alias erfolgen.

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

                  @paul53
                  Geht leider nicht, ich denke an der Alias regel ist noch was falsch oder?

                  der Quell Datenpunkt:

                  {
                    "common": {
                      "name": "Fingerscanner Micha",
                      "desc": "Manuell erzeugt",
                      "role": "indicator",
                      "type": "string",
                      "read": true,
                      "write": true,
                      "def": false,
                      "custom": {
                        "mqtt-client.0": {
                          "enabled": true,
                          "publish": false,
                          "pubChangesOnly": false,
                          "pubAsObject": false,
                          "qos": false,
                          "retain": false,
                          "subscribe": true,
                          "subChangesOnly": false,
                          "subAsObject": false,
                          "subQos": false,
                          "setAck": false,
                          "topic": "ekey/Micha"
                        }
                      }
                    },
                    "type": "state",
                    "_id": "0_userdata.0.eKey.Fingerscanner_Micha",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1648981213519
                  }
                  

                  Der Alias Datenpunkt:

                  {
                    "common": {
                      "name": "Fingerscanner Micha",
                      "desc": "Manuell erzeugt",
                      "role": "state",
                      "type": "boolean",
                      "read": true,
                      "write": true,
                      "def": "",
                      "alias": {
                        "id": "0_userdata.0.eKey.Fingerscanner_Micha",
                        "read": "val == 'on'"
                      }
                    },
                    "type": "state",
                    "_id": "alias.0.Fingerscanner_Micha",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "from": "system.adapter.admin.0",
                    "user": "system.user.admin",
                    "ts": 1648981930887
                  }
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @mibr85 last edited by paul53

                    @mibr85
                    Da bei "read" automatisch gewandelt wird, muss man nur "write" vorgeben:

                        "alias": {
                          "id": "0_userdata.0.eKey.Fingerscanner_Micha",
                          "write": "val ? 'on' : 'off'"
                        }
                    

                    Ändere "role" von "state" in "switch". Da jeweils "read" und "write" true sind, nehme ich an, dass der Datenpunkt in beide Richtungen wirkt?

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

                      @paul53
                      muss ich denn noch was neustarten oder der gleichen?
                      weil der Wert von ALias ändert sich leider nicht der bleibt bei "null" egal ob "on" oder "off" im datenpunkt steht???

                      {
                        "common": {
                          "name": "Fingerscanner Micha",
                          "desc": "Manuell erzeugt",
                          "role": "state",
                          "type": "boolean",
                          "read": true,
                          "write": true,
                          "def": "",
                          "alias": {
                            "id": "0_userdata.0.eKey.Fingerscanner_Micha",
                            "write": "val ? 'on' : 'off'"
                          }
                        },
                        "type": "state",
                        "_id": "alias.0.Fingerscanner_Micha",
                        "acl": {
                          "object": 1636,
                          "state": 1636,
                          "owner": "system.user.admin",
                          "ownerGroup": "system.group.administrator"
                        },
                        "from": "system.adapter.admin.0",
                        "user": "system.user.admin",
                        "ts": 1648988101911
                      }
                      

                      123.png

                      wenn ich über die Maske eingebe meckert er:
                      456.png

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

                        @mibr85 sagte: wenn ich über die Maske eingebe meckert er:

                        Nicht unter "Lesen" eingeben, sondern unter "Schreiben".

                        @mibr85 sagte in MQTT on und off als true und false interpretieren:

                        muss ich denn noch was neustarten oder der gleichen?

                        Mach mal einen Browser-Refresh.

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

                          @paul53
                          Leider funktioniert es immer noch nicht wirklich evtl habe ich einen Denkfehler..

                          1. ich lege eine Uservariable an z.B. 0_userdata.0.eKey.Fingerscanner_Micha (Muss die Variable Boolean oder string sein?)

                          2. auf diese Variable aboniere ich mit MQTT subscribe den topic: ekey/Micha (darüber empfange ich on / off)

                          3. ich richte ein Alias ein mit folgenden Parametern, leider kommt dann immer diese Fehlermeldung:
                            alias.png

                          4. das Alias wandelt den Wert der Variable 0_userdata.0.eKey.Fingerscanner_Micha automatisch von on / off in true / false um oder den Wert der Variable alias.0.Fingerscanner_Micha?

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

                            @mibr85 sagte: Uservariable an z.B. 0_userdata.0.eKey.Fingerscanner_Micha (Muss die Variable Boolean oder string sein?)

                            Da der Datenpunkt "on" oder "off" enthält, muss er vom Typ "string" sein.

                            @mibr85 sagte in MQTT on und off als true und false interpretieren:

                            Alias wandelt den Wert der Variable 0_userdata.0.eKey.Fingerscanner_Micha automatisch von on / off in true / false um

                            Ja, wenn der Alias vom Typ "boolean" und das Original vom Typ "string" sind.

                            Bild_2022-04-10_092332288.png

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            855
                            Online

                            32.0k
                            Users

                            80.6k
                            Topics

                            1.3m
                            Posts

                            2
                            12
                            942
                            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