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.
    • 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

                          426
                          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