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. ioBroker Allgemein
  4. Mqtt best practice

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    322

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Mqtt best practice

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
mosquittoshellysmqtt
136 Beiträge 6 Kommentatoren 13.3k Aufrufe 11 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.
  • D dos1973

    @mickym

    jetzt habe ich doch ein mittelschwere Problem in meiner VIS.

    Bildschirmfoto 2021-09-23 um 23.38.13.png

    Ich benutze den DP zum schalten

    mqtt.0.shellies.Küche_Lichtschalter.relay.0.command
    

    aber die Werte Syncen sich nicht zueinander

    mqtt.0.shellies.Küche_Lichtschalter.relay.0
    

    d.h, wenn jemand das Licht am Schalter ausmacht, wird mein State nicht aktualisiert... das wäre für mich ein NoGo.

    irgendeine Idee?

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #58

    @dos1973 Wie gesagt, dass kann nicht der gleiche Datenpunkt sein.

    Wenn Du den Status UND das Kommando in einem Datenpunkt behandeln willst musst Du das über einen selbst erstellten Datenpunkt machen. Das hat aber mit mqtt-Adapter nichts zu tun, sondern da hättest Du immer ein Problem. Wichtig ist, dass der Status auch bei dem Schalter immer den Status des relays wiedergibt. Ich hab es mit dem Flow sauber mit dem ACK Flag gemacht. Man kann auch nur die Änderungen filtern, aber dann läuft die Schleife logisch 2 mal durch

    Der aktuelle State steht immer (also egal ob Du den Shelly am Schalter oder logisch schaltest) in

    mqtt.0.shellies.Küche_Lichtschalter.relay.0
    

    das commando ist was anderes und ist nur zum Setzen eines Kommandos da.

    Sprich wenn Du einen eigen Datenpunkt erstellst, dann kannst Du es in einem eigenen Datenpunkt machen und mit dem ACK-Flag arbeiten.

    VIS schickt immer ohne ACK Flag und nur auf das darfst Du dann reagieren:

    Diesen DP bindest Du in Deine VIS ein.

    Wenn Du mit NodeRed arbeitest kannst Du dann folgenden Flow nutzen:

    624c3372-2bb4-4822-9535-cf9ede66d0f9-image.png

    [
       {
           "id": "3e9c2889.5dd6e8",
           "type": "ioBroker in",
           "z": "169f5b00.a13415",
           "name": "",
           "topic": "0_userdata.0.Lichtschalter",
           "payloadType": "value",
           "onlyack": "",
           "func": "rbe",
           "gap": "",
           "fireOnStart": "false",
           "x": 280,
           "y": 480,
           "wires": [
               [
                   "39d2398d.c05576"
               ]
           ]
       },
       {
           "id": "39d2398d.c05576",
           "type": "switch",
           "z": "169f5b00.a13415",
           "name": "Nur ACK = False",
           "property": "acknowledged",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "false"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 1,
           "x": 550,
           "y": 480,
           "wires": [
               [
                   "68e40785.91af98",
                   "f19094f3.f5a0a8"
               ]
           ]
       },
       {
           "id": "68e40785.91af98",
           "type": "ioBroker out",
           "z": "169f5b00.a13415",
           "name": "",
           "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0.command",
           "ack": "false",
           "autoCreate": "false",
           "stateName": "",
           "role": "",
           "payloadType": "",
           "readonly": "",
           "stateUnit": "",
           "stateMin": "",
           "stateMax": "",
           "x": 910,
           "y": 480,
           "wires": []
       },
       {
           "id": "8c63547a.3b2288",
           "type": "ioBroker in",
           "z": "169f5b00.a13415",
           "name": "",
           "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0",
           "payloadType": "value",
           "onlyack": "",
           "func": "all",
           "gap": "",
           "fireOnStart": "false",
           "x": 320,
           "y": 580,
           "wires": [
               [
                   "6587948d.dc03bc"
               ]
           ]
       },
       {
           "id": "6587948d.dc03bc",
           "type": "ioBroker out",
           "z": "169f5b00.a13415",
           "name": "",
           "topic": "0_userdata.0.Lichtschalter",
           "ack": "true",
           "autoCreate": "false",
           "stateName": "",
           "role": "",
           "payloadType": "",
           "readonly": "",
           "stateUnit": "",
           "stateMin": "",
           "stateMax": "",
           "x": 720,
           "y": 580,
           "wires": []
       },
       {
           "id": "f19094f3.f5a0a8",
           "type": "debug",
           "z": "169f5b00.a13415",
           "name": "",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "false",
           "statusVal": "",
           "statusType": "auto",
           "x": 790,
           "y": 440,
           "wires": []
       },
       {
           "id": "9c870f79.6d6f5",
           "type": "inject",
           "z": "169f5b00.a13415",
           "name": "",
           "props": [
               {
                   "p": "payload"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payload": "off",
           "payloadType": "str",
           "x": 430,
           "y": 620,
           "wires": [
               [
                   "6587948d.dc03bc"
               ]
           ]
       },
       {
           "id": "56ee62e6.5a107c",
           "type": "comment",
           "z": "169f5b00.a13415",
           "name": "Aktualisierung durch VIS - wenn ACK false",
           "info": "",
           "x": 340,
           "y": 420,
           "wires": []
       },
       {
           "id": "b137c5d6.0ccff8",
           "type": "comment",
           "z": "169f5b00.a13415",
           "name": "Aktualisierung durch den Shelly",
           "info": "",
           "x": 310,
           "y": 540,
           "wires": []
       }
    ]
    

    Die Visualisierung sollte also von der eigentlichen Steuerung getrennt werden. Beim Shelly Adapter hat der Adapter einen Datenpunkt nutzen können, weil er selbst über das ACK Flag gearbeitet hat. Sprich das ACK Flag von VIS wurde nicht gesetzt und der Adapter wusste, er musste schalten.
    Wenn der Shelly hingegen gemeldet hat, dass er geschaltet hat, hat er das mit ACK Flag gesetzt und somit konnte er selbst eine Endlosschleife verhindern. Du baust nun diese Logik mach.

    Das ist grundsätzlich so. Auch wenn Du mit Tasmota arbeitest sind die Kommandodatenpunkte und die Zustandsdatenpunkte immer verschieden, sonst würdest Du immer in einer Endlosschleife landen.

    In der iobroker-out Node setzt Du das ACK Flag durch den Type:

    0dfaa83a-4b95-4b29-a589-0bb1609f2bb5-image.png

    Type value = ACK gesetzt also Wert bestätigt

    388b6b00-75b9-40a1-8372-585a18a248f8-image.png

    Type command = ACK nicht gesetzt. also Wert unbestätigt

    7d0e0761-709d-4ed4-b41b-170aef2c9134-image.png

    In diesem Fall ist es halt deshalb nötig über einen eigenen Datenpunkt zu arbeiten, weil Du 2 verschiedene Möglichkeiten zum Schalten hast. Würdest Du nur über die VIS schalten, wäre der Status ja in der Regel immer mit der Schalterstellung identisch.
    Ich schalte sogar über 3 Möglichkeiten

    • über meine Visualisierung (Dashboard)
    • über den physischen Schalter
    • über Siri - bzw. Yahka Adapter (oder Alexa etc.)

    Insofern nimmt der Adapter schon einiges an Arbeit ab, aber es sind keine unüberwindlichen Hindernisse. :innocent: :grin:

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    D mickymM 2 Antworten Letzte Antwort
    0
    • mickymM mickym

      @dos1973 Wie gesagt, dass kann nicht der gleiche Datenpunkt sein.

      Wenn Du den Status UND das Kommando in einem Datenpunkt behandeln willst musst Du das über einen selbst erstellten Datenpunkt machen. Das hat aber mit mqtt-Adapter nichts zu tun, sondern da hättest Du immer ein Problem. Wichtig ist, dass der Status auch bei dem Schalter immer den Status des relays wiedergibt. Ich hab es mit dem Flow sauber mit dem ACK Flag gemacht. Man kann auch nur die Änderungen filtern, aber dann läuft die Schleife logisch 2 mal durch

      Der aktuelle State steht immer (also egal ob Du den Shelly am Schalter oder logisch schaltest) in

      mqtt.0.shellies.Küche_Lichtschalter.relay.0
      

      das commando ist was anderes und ist nur zum Setzen eines Kommandos da.

      Sprich wenn Du einen eigen Datenpunkt erstellst, dann kannst Du es in einem eigenen Datenpunkt machen und mit dem ACK-Flag arbeiten.

      VIS schickt immer ohne ACK Flag und nur auf das darfst Du dann reagieren:

      Diesen DP bindest Du in Deine VIS ein.

      Wenn Du mit NodeRed arbeitest kannst Du dann folgenden Flow nutzen:

      624c3372-2bb4-4822-9535-cf9ede66d0f9-image.png

      [
         {
             "id": "3e9c2889.5dd6e8",
             "type": "ioBroker in",
             "z": "169f5b00.a13415",
             "name": "",
             "topic": "0_userdata.0.Lichtschalter",
             "payloadType": "value",
             "onlyack": "",
             "func": "rbe",
             "gap": "",
             "fireOnStart": "false",
             "x": 280,
             "y": 480,
             "wires": [
                 [
                     "39d2398d.c05576"
                 ]
             ]
         },
         {
             "id": "39d2398d.c05576",
             "type": "switch",
             "z": "169f5b00.a13415",
             "name": "Nur ACK = False",
             "property": "acknowledged",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "false"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 1,
             "x": 550,
             "y": 480,
             "wires": [
                 [
                     "68e40785.91af98",
                     "f19094f3.f5a0a8"
                 ]
             ]
         },
         {
             "id": "68e40785.91af98",
             "type": "ioBroker out",
             "z": "169f5b00.a13415",
             "name": "",
             "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0.command",
             "ack": "false",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 910,
             "y": 480,
             "wires": []
         },
         {
             "id": "8c63547a.3b2288",
             "type": "ioBroker in",
             "z": "169f5b00.a13415",
             "name": "",
             "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "x": 320,
             "y": 580,
             "wires": [
                 [
                     "6587948d.dc03bc"
                 ]
             ]
         },
         {
             "id": "6587948d.dc03bc",
             "type": "ioBroker out",
             "z": "169f5b00.a13415",
             "name": "",
             "topic": "0_userdata.0.Lichtschalter",
             "ack": "true",
             "autoCreate": "false",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 720,
             "y": 580,
             "wires": []
         },
         {
             "id": "f19094f3.f5a0a8",
             "type": "debug",
             "z": "169f5b00.a13415",
             "name": "",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "statusVal": "",
             "statusType": "auto",
             "x": 790,
             "y": 440,
             "wires": []
         },
         {
             "id": "9c870f79.6d6f5",
             "type": "inject",
             "z": "169f5b00.a13415",
             "name": "",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "off",
             "payloadType": "str",
             "x": 430,
             "y": 620,
             "wires": [
                 [
                     "6587948d.dc03bc"
                 ]
             ]
         },
         {
             "id": "56ee62e6.5a107c",
             "type": "comment",
             "z": "169f5b00.a13415",
             "name": "Aktualisierung durch VIS - wenn ACK false",
             "info": "",
             "x": 340,
             "y": 420,
             "wires": []
         },
         {
             "id": "b137c5d6.0ccff8",
             "type": "comment",
             "z": "169f5b00.a13415",
             "name": "Aktualisierung durch den Shelly",
             "info": "",
             "x": 310,
             "y": 540,
             "wires": []
         }
      ]
      

      Die Visualisierung sollte also von der eigentlichen Steuerung getrennt werden. Beim Shelly Adapter hat der Adapter einen Datenpunkt nutzen können, weil er selbst über das ACK Flag gearbeitet hat. Sprich das ACK Flag von VIS wurde nicht gesetzt und der Adapter wusste, er musste schalten.
      Wenn der Shelly hingegen gemeldet hat, dass er geschaltet hat, hat er das mit ACK Flag gesetzt und somit konnte er selbst eine Endlosschleife verhindern. Du baust nun diese Logik mach.

      Das ist grundsätzlich so. Auch wenn Du mit Tasmota arbeitest sind die Kommandodatenpunkte und die Zustandsdatenpunkte immer verschieden, sonst würdest Du immer in einer Endlosschleife landen.

      In der iobroker-out Node setzt Du das ACK Flag durch den Type:

      0dfaa83a-4b95-4b29-a589-0bb1609f2bb5-image.png

      Type value = ACK gesetzt also Wert bestätigt

      388b6b00-75b9-40a1-8372-585a18a248f8-image.png

      Type command = ACK nicht gesetzt. also Wert unbestätigt

      7d0e0761-709d-4ed4-b41b-170aef2c9134-image.png

      In diesem Fall ist es halt deshalb nötig über einen eigenen Datenpunkt zu arbeiten, weil Du 2 verschiedene Möglichkeiten zum Schalten hast. Würdest Du nur über die VIS schalten, wäre der Status ja in der Regel immer mit der Schalterstellung identisch.
      Ich schalte sogar über 3 Möglichkeiten

      • über meine Visualisierung (Dashboard)
      • über den physischen Schalter
      • über Siri - bzw. Yahka Adapter (oder Alexa etc.)

      Insofern nimmt der Adapter schon einiges an Arbeit ab, aber es sind keine unüberwindlichen Hindernisse. :innocent: :grin:

      D Offline
      D Offline
      dos1973
      schrieb am zuletzt editiert von dos1973
      #59

      @mickym

      ich stehe eben auf dem Schlauch.
      ich habe dein Flow importiert, habe einen DP "0_userdata.0.Wohnung.Status.Shellys.Küche" angelegt und die Flows verbunden.

      Bildschirmfoto 2021-09-24 um 00.23.28.png

      der DP aktualisiert sich wie der Shelly On/off , aber ich kann darüber nicht schalten?

      Das mit dem ACK - wo finde ich diese Einstellung?

      mickymM 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @dos1973 Wie gesagt, dass kann nicht der gleiche Datenpunkt sein.

        Wenn Du den Status UND das Kommando in einem Datenpunkt behandeln willst musst Du das über einen selbst erstellten Datenpunkt machen. Das hat aber mit mqtt-Adapter nichts zu tun, sondern da hättest Du immer ein Problem. Wichtig ist, dass der Status auch bei dem Schalter immer den Status des relays wiedergibt. Ich hab es mit dem Flow sauber mit dem ACK Flag gemacht. Man kann auch nur die Änderungen filtern, aber dann läuft die Schleife logisch 2 mal durch

        Der aktuelle State steht immer (also egal ob Du den Shelly am Schalter oder logisch schaltest) in

        mqtt.0.shellies.Küche_Lichtschalter.relay.0
        

        das commando ist was anderes und ist nur zum Setzen eines Kommandos da.

        Sprich wenn Du einen eigen Datenpunkt erstellst, dann kannst Du es in einem eigenen Datenpunkt machen und mit dem ACK-Flag arbeiten.

        VIS schickt immer ohne ACK Flag und nur auf das darfst Du dann reagieren:

        Diesen DP bindest Du in Deine VIS ein.

        Wenn Du mit NodeRed arbeitest kannst Du dann folgenden Flow nutzen:

        624c3372-2bb4-4822-9535-cf9ede66d0f9-image.png

        [
           {
               "id": "3e9c2889.5dd6e8",
               "type": "ioBroker in",
               "z": "169f5b00.a13415",
               "name": "",
               "topic": "0_userdata.0.Lichtschalter",
               "payloadType": "value",
               "onlyack": "",
               "func": "rbe",
               "gap": "",
               "fireOnStart": "false",
               "x": 280,
               "y": 480,
               "wires": [
                   [
                       "39d2398d.c05576"
                   ]
               ]
           },
           {
               "id": "39d2398d.c05576",
               "type": "switch",
               "z": "169f5b00.a13415",
               "name": "Nur ACK = False",
               "property": "acknowledged",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "false"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 1,
               "x": 550,
               "y": 480,
               "wires": [
                   [
                       "68e40785.91af98",
                       "f19094f3.f5a0a8"
                   ]
               ]
           },
           {
               "id": "68e40785.91af98",
               "type": "ioBroker out",
               "z": "169f5b00.a13415",
               "name": "",
               "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0.command",
               "ack": "false",
               "autoCreate": "false",
               "stateName": "",
               "role": "",
               "payloadType": "",
               "readonly": "",
               "stateUnit": "",
               "stateMin": "",
               "stateMax": "",
               "x": 910,
               "y": 480,
               "wires": []
           },
           {
               "id": "8c63547a.3b2288",
               "type": "ioBroker in",
               "z": "169f5b00.a13415",
               "name": "",
               "topic": "mqtt.0.shellies.Küche_Lichtschalter.relay.0",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "false",
               "x": 320,
               "y": 580,
               "wires": [
                   [
                       "6587948d.dc03bc"
                   ]
               ]
           },
           {
               "id": "6587948d.dc03bc",
               "type": "ioBroker out",
               "z": "169f5b00.a13415",
               "name": "",
               "topic": "0_userdata.0.Lichtschalter",
               "ack": "true",
               "autoCreate": "false",
               "stateName": "",
               "role": "",
               "payloadType": "",
               "readonly": "",
               "stateUnit": "",
               "stateMin": "",
               "stateMax": "",
               "x": 720,
               "y": 580,
               "wires": []
           },
           {
               "id": "f19094f3.f5a0a8",
               "type": "debug",
               "z": "169f5b00.a13415",
               "name": "",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "false",
               "statusVal": "",
               "statusType": "auto",
               "x": 790,
               "y": 440,
               "wires": []
           },
           {
               "id": "9c870f79.6d6f5",
               "type": "inject",
               "z": "169f5b00.a13415",
               "name": "",
               "props": [
                   {
                       "p": "payload"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "off",
               "payloadType": "str",
               "x": 430,
               "y": 620,
               "wires": [
                   [
                       "6587948d.dc03bc"
                   ]
               ]
           },
           {
               "id": "56ee62e6.5a107c",
               "type": "comment",
               "z": "169f5b00.a13415",
               "name": "Aktualisierung durch VIS - wenn ACK false",
               "info": "",
               "x": 340,
               "y": 420,
               "wires": []
           },
           {
               "id": "b137c5d6.0ccff8",
               "type": "comment",
               "z": "169f5b00.a13415",
               "name": "Aktualisierung durch den Shelly",
               "info": "",
               "x": 310,
               "y": 540,
               "wires": []
           }
        ]
        

        Die Visualisierung sollte also von der eigentlichen Steuerung getrennt werden. Beim Shelly Adapter hat der Adapter einen Datenpunkt nutzen können, weil er selbst über das ACK Flag gearbeitet hat. Sprich das ACK Flag von VIS wurde nicht gesetzt und der Adapter wusste, er musste schalten.
        Wenn der Shelly hingegen gemeldet hat, dass er geschaltet hat, hat er das mit ACK Flag gesetzt und somit konnte er selbst eine Endlosschleife verhindern. Du baust nun diese Logik mach.

        Das ist grundsätzlich so. Auch wenn Du mit Tasmota arbeitest sind die Kommandodatenpunkte und die Zustandsdatenpunkte immer verschieden, sonst würdest Du immer in einer Endlosschleife landen.

        In der iobroker-out Node setzt Du das ACK Flag durch den Type:

        0dfaa83a-4b95-4b29-a589-0bb1609f2bb5-image.png

        Type value = ACK gesetzt also Wert bestätigt

        388b6b00-75b9-40a1-8372-585a18a248f8-image.png

        Type command = ACK nicht gesetzt. also Wert unbestätigt

        7d0e0761-709d-4ed4-b41b-170aef2c9134-image.png

        In diesem Fall ist es halt deshalb nötig über einen eigenen Datenpunkt zu arbeiten, weil Du 2 verschiedene Möglichkeiten zum Schalten hast. Würdest Du nur über die VIS schalten, wäre der Status ja in der Regel immer mit der Schalterstellung identisch.
        Ich schalte sogar über 3 Möglichkeiten

        • über meine Visualisierung (Dashboard)
        • über den physischen Schalter
        • über Siri - bzw. Yahka Adapter (oder Alexa etc.)

        Insofern nimmt der Adapter schon einiges an Arbeit ab, aber es sind keine unüberwindlichen Hindernisse. :innocent: :grin:

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #60

        Du schickst über Deine VIS kein on/off sondern true/false

        c3eeb089-5532-4197-af1e-8a794b1af906-image.png

        ich hab es Dir markiert.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • D dos1973

          @mickym

          ich stehe eben auf dem Schlauch.
          ich habe dein Flow importiert, habe einen DP "0_userdata.0.Wohnung.Status.Shellys.Küche" angelegt und die Flows verbunden.

          Bildschirmfoto 2021-09-24 um 00.23.28.png

          der DP aktualisiert sich wie der Shelly On/off , aber ich kann darüber nicht schalten?

          Das mit dem ACK - wo finde ich diese Einstellung?

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #61

          @dos1973 sagte in Mqtt best practice:

          Das mit dem ACK - wo finde ich diese Einstellung?

          Habe ich Dir doch lange beschrieben. In der iobroker out Node - value (ACK =true) - command (ACK = false).

          VIS schickt nie ein ACK=true sondern immer ACK=false.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          D 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @dos1973 sagte in Mqtt best practice:

            Das mit dem ACK - wo finde ich diese Einstellung?

            Habe ich Dir doch lange beschrieben. In der iobroker out Node - value (ACK =true) - command (ACK = false).

            VIS schickt nie ein ACK=true sondern immer ACK=false.

            D Offline
            D Offline
            dos1973
            schrieb am zuletzt editiert von
            #62

            @mickym
            sorry, ich verstehe momentan gar nicht, was du mir versuchst zu erklären.

            ich hatte gedacht verstanden zu haben, dass ich aus der userdata DP die Schaltung mittels true/ falls machen kann. Das klappt nicht, der DP aktualisiert, aber das hilft mir ja nicht für mein VIS

            mickymM 1 Antwort Letzte Antwort
            0
            • D dos1973

              @mickym
              sorry, ich verstehe momentan gar nicht, was du mir versuchst zu erklären.

              ich hatte gedacht verstanden zu haben, dass ich aus der userdata DP die Schaltung mittels true/ falls machen kann. Das klappt nicht, der DP aktualisiert, aber das hilft mir ja nicht für mein VIS

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #63

              @dos1973 Ich verstehe Dich nicht:

              c6fc4608-39ff-44ce-95e2-1b6d98eeabe4-image.png

              Du schaltest doch mit on und off hier? Du musst nur als Object ID den 0_userdata DP eintragen.

              Ansonsten wenn vis nur mit true und false umgehen kann, was ich aber nicht glaube - dann kannst natürlich übersetzen - aber eigentlich dachte ich, dass Du über die VIS direkt on und off schickst.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              D 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @dos1973 Ich verstehe Dich nicht:

                c6fc4608-39ff-44ce-95e2-1b6d98eeabe4-image.png

                Du schaltest doch mit on und off hier? Du musst nur als Object ID den 0_userdata DP eintragen.

                Ansonsten wenn vis nur mit true und false umgehen kann, was ich aber nicht glaube - dann kannst natürlich übersetzen - aber eigentlich dachte ich, dass Du über die VIS direkt on und off schickst.

                D Offline
                D Offline
                dos1973
                schrieb am zuletzt editiert von dos1973
                #64

                @mickym
                ich habe es gefunden, war fast richtig...

                ich hatte den DP

                0_userdata.0.Wohnung.Status.Shellys.Küche
                

                als Logikwert angelegt, damit ging es nicht. Ich hab den jetzt als Zeichenkette angelegt und kann dort mit on/ off jetzt de state schalten und der wird auch gesynct

                mickymM 2 Antworten Letzte Antwort
                0
                • D dos1973

                  @mickym
                  ich habe es gefunden, war fast richtig...

                  ich hatte den DP

                  0_userdata.0.Wohnung.Status.Shellys.Küche
                  

                  als Logikwert angelegt, damit ging es nicht. Ich hab den jetzt als Zeichenkette angelegt und kann dort mit on/ off jetzt de state schalten und der wird auch gesynct

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #65

                  @dos1973 sagte in Mqtt best practice:

                  @mickym
                  ich habe es gefunden, war fast richtig...

                  ich hatte den DP

                  0_userdata.0.Wohnung.Status.Shellys.Küche
                  

                  als Logikwert angelegt, damit ging es nicht. Ich hab den jetzt als Zeichenkette angelegt und kann dort mit on/ off jetzt de state schalten und der wird auch gesynct

                  :+1: :+1: :+1:

                  Tja ein Logikwert kennt kein on oder off. ;) - Aber ich habs ja zum Glück an der Statusmeldung der iobroker out Node erkannt, dass Du ein true sendest. ;) - Ist ja immer etwas schwierig - Fehlersuche aus der Ferne zu machen. ;)

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • D dos1973

                    @mickym
                    ich habe es gefunden, war fast richtig...

                    ich hatte den DP

                    0_userdata.0.Wohnung.Status.Shellys.Küche
                    

                    als Logikwert angelegt, damit ging es nicht. Ich hab den jetzt als Zeichenkette angelegt und kann dort mit on/ off jetzt de state schalten und der wird auch gesynct

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #66

                    @dos1973 Im Übrigen kannst Du generell auch alles auf true/false übersetzen - das ist unter Umständen später einfacher, wenn Du Massenauswertungen machen willst - alla ist alles ausgeschaltet etc.

                    Wenn Du also den userdata_0 Datenpunkt lieber als Logikwert haben willst dann setzt halt 2 Change Nodes in den Flow:

                    152b96b5-f19c-4a0c-a22d-8825adc36812-image.png

                    d10bb7fb-e45f-46a9-b57e-83c50f42079e-image.png acb3e6d0-af0c-45c9-a9d4-e7bf477d04a0-image.png

                    Wichtig ist halt das die Stringkonvertierung im Adapter ausgeschaltet ist - aber das haben wir ja schon früher im Thread besprochen und gemacht. :)

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    D 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @dos1973 Im Übrigen kannst Du generell auch alles auf true/false übersetzen - das ist unter Umständen später einfacher, wenn Du Massenauswertungen machen willst - alla ist alles ausgeschaltet etc.

                      Wenn Du also den userdata_0 Datenpunkt lieber als Logikwert haben willst dann setzt halt 2 Change Nodes in den Flow:

                      152b96b5-f19c-4a0c-a22d-8825adc36812-image.png

                      d10bb7fb-e45f-46a9-b57e-83c50f42079e-image.png acb3e6d0-af0c-45c9-a9d4-e7bf477d04a0-image.png

                      Wichtig ist halt das die Stringkonvertierung im Adapter ausgeschaltet ist - aber das haben wir ja schon früher im Thread besprochen und gemacht. :)

                      D Offline
                      D Offline
                      dos1973
                      schrieb am zuletzt editiert von
                      #67

                      @mickym
                      das ist ja heute mein ALLER erster Kontakt mit node-red... muss eigentlich für alle ein neuen "flow" anlegen, oder kann ich zum Beispiel für das Vis schalten alle in ein flow machend

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • D dos1973

                        @mickym
                        das ist ja heute mein ALLER erster Kontakt mit node-red... muss eigentlich für alle ein neuen "flow" anlegen, oder kann ich zum Beispiel für das Vis schalten alle in ein flow machend

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #68

                        @dos1973 Kannst alles in einen Flow machen.

                        c7e3b3e5-aa4a-4863-926e-e761d35dda88-image.png

                        Ich habe mein Flows halt bissi thematisch gegliedert - damit man es später wieder findet. Zum Beispiel Lampen etc. Im Gegenteil über einen gemeinsamen Flow - kannst Du dann über Variablen zwischen den verschieden triggern und flows (also etwas von links nach rechts ;) ) - bestimmte Dinge gemeinsam steuern.

                        Du kannst auch mit Gruppe arbeiten, um das dann auch noch optisch etwas hervorzuheben, wie ich in dem anderen Beispiel gezeigt habe.

                        Ich wollte Dich aber nicht überreden - vielleicht hätte Dir ein Blockly- Fan das auch alles implementiert.

                        Aber - wenn Du Dich darauf einlässt, was Du ja tust :+1: :+1: :+1: - dann kannst ja selbst entscheiden, welches Tool für Dich einfacher ist.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        D 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @dos1973 Kannst alles in einen Flow machen.

                          c7e3b3e5-aa4a-4863-926e-e761d35dda88-image.png

                          Ich habe mein Flows halt bissi thematisch gegliedert - damit man es später wieder findet. Zum Beispiel Lampen etc. Im Gegenteil über einen gemeinsamen Flow - kannst Du dann über Variablen zwischen den verschieden triggern und flows (also etwas von links nach rechts ;) ) - bestimmte Dinge gemeinsam steuern.

                          Du kannst auch mit Gruppe arbeiten, um das dann auch noch optisch etwas hervorzuheben, wie ich in dem anderen Beispiel gezeigt habe.

                          Ich wollte Dich aber nicht überreden - vielleicht hätte Dir ein Blockly- Fan das auch alles implementiert.

                          Aber - wenn Du Dich darauf einlässt, was Du ja tust :+1: :+1: :+1: - dann kannst ja selbst entscheiden, welches Tool für Dich einfacher ist.

                          D Offline
                          D Offline
                          dos1973
                          schrieb am zuletzt editiert von
                          #69

                          @mickym
                          ich versuche mich einfach dran... wie alles andere. ich hoff du bleibst weiter so hilfsbereit und geduldig ;-) ;-)

                          mickymM 2 Antworten Letzte Antwort
                          0
                          • D dos1973

                            @mickym
                            ich versuche mich einfach dran... wie alles andere. ich hoff du bleibst weiter so hilfsbereit und geduldig ;-) ;-)

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #70

                            @dos1973 Ach - wenn Du manche Threads hier durchliest - dann wirst Du sehen, dass es lange braucht bis mir der Geduldsfaden reißt, außer jemand gibt sich keine Mühe oder ich schreibe Dinge 10 mal. ;)

                            Wenn das Dein erster Kontakt mit NodeRed ist (importieren) und solche Dinge konntest Du ja anscheinend problemlos,
                            dann achte mal unten bei den Flow auf diese Schaltflächen.

                            253c647f-420d-4f5b-b81f-6e836cd75ef8-image.png

                            Mit dem aufgeschlagenen Buch siehst Du quasi die ganze Flowseite als Übersicht - siehtst bei mir ist der Lampenflow schon ziemlich voll. ;) Dann siehst Du links oben so ein weißen Fenster mit dem Du Dich durch den Flow bewegen kannst.

                            Mit dem + und - kannst Du den Flow zoomen oder verkleinern - das ist praktisch um Flows zu kopieren - gerade wenn die Logik identisch ist. Das Zoomen wirkt sich aber nur auf das Flowfenster aus und nicht auf den gesamten Browser - was in diesem Fall sehr praktisch ist.

                            Mit O stellst dann wieder auf 100%.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • D dos1973

                              @mickym
                              ich versuche mich einfach dran... wie alles andere. ich hoff du bleibst weiter so hilfsbereit und geduldig ;-) ;-)

                              mickymM Online
                              mickymM Online
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #71

                              @dos1973 Was ich selbst viel zuwenig mache, ist die Gruppierfunktion zu benutzen.

                              7c6bfd29-d8aa-4f97-8248-37659c5db5f0-image.png

                              Damit kannst zugehörige Nodes mit einem Rahmen zusammenfassen und dann beschriften und mit einer Hintergrundfarbe belegen. Damit findet man sich auf so einer Flowseite später leichter zurecht.

                              Man kann dann z.Bsp. für bestimmte Räume immer die gleiche Farbe verwenden usw.

                              Aussderdem kann man so eine Gruppe anklicken und dann einfach mit Strg+C und Strg+V die Gruppe kopieren und dann nur noch die entsprechenden Datenpunkte anpassen.

                              Über die Kommentar Nodes - kannst auch etwas Übersicht gewinnen.

                              522e7611-d285-4f88-b518-191b30297870-image.png

                              In der Kommentar-Node kannst Du dann eigene Notizen schreiben, um später vielleicht auch noch zu verstehen, warum Du was wie gemacht hast.

                              Wenn Du später auf das i (information Icon) klickst,
                              b9ead695-5201-4b62-9696-495071209e47-image.png

                              dann kannst Du Dir diese Beschreibung ansehen:

                              a98afc7e-532e-4c07-81ae-8c8b1a074d82-image.png

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              D 2 Antworten Letzte Antwort
                              0
                              • mickymM mickym

                                @dos1973 Was ich selbst viel zuwenig mache, ist die Gruppierfunktion zu benutzen.

                                7c6bfd29-d8aa-4f97-8248-37659c5db5f0-image.png

                                Damit kannst zugehörige Nodes mit einem Rahmen zusammenfassen und dann beschriften und mit einer Hintergrundfarbe belegen. Damit findet man sich auf so einer Flowseite später leichter zurecht.

                                Man kann dann z.Bsp. für bestimmte Räume immer die gleiche Farbe verwenden usw.

                                Aussderdem kann man so eine Gruppe anklicken und dann einfach mit Strg+C und Strg+V die Gruppe kopieren und dann nur noch die entsprechenden Datenpunkte anpassen.

                                Über die Kommentar Nodes - kannst auch etwas Übersicht gewinnen.

                                522e7611-d285-4f88-b518-191b30297870-image.png

                                In der Kommentar-Node kannst Du dann eigene Notizen schreiben, um später vielleicht auch noch zu verstehen, warum Du was wie gemacht hast.

                                Wenn Du später auf das i (information Icon) klickst,
                                b9ead695-5201-4b62-9696-495071209e47-image.png

                                dann kannst Du Dir diese Beschreibung ansehen:

                                a98afc7e-532e-4c07-81ae-8c8b1a074d82-image.png

                                D Offline
                                D Offline
                                dos1973
                                schrieb am zuletzt editiert von dos1973
                                #72

                                @mickym
                                ich bekomme das mit true/false nicht geregelt.
                                eigentlich ...müsste doch der rote Pfeil, jetzt Konvertierung von true nach on machen???

                                Bildschirmfoto 2021-09-24 um 01.33.12.png

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • D dos1973

                                  @mickym
                                  ich bekomme das mit true/false nicht geregelt.
                                  eigentlich ...müsste doch der rote Pfeil, jetzt Konvertierung von true nach on machen???

                                  Bildschirmfoto 2021-09-24 um 01.33.12.png

                                  mickymM Online
                                  mickymM Online
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #73

                                  @dos1973 Hast Du den Datenpunkt von String wieder auf Logikwert umgestellt?

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @dos1973 Hast Du den Datenpunkt von String wieder auf Logikwert umgestellt?

                                    D Offline
                                    D Offline
                                    dos1973
                                    schrieb am zuletzt editiert von
                                    #74

                                    @mickym

                                    ja.

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • D dos1973

                                      @mickym

                                      ja.

                                      mickymM Online
                                      mickymM Online
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #75

                                      @dos1973 In der Adapterkonfiguration die Konvertierung ausgeschaltet?

                                      aeaf9a16-776c-47f2-a375-48724d3bb477-image.png

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @dos1973 In der Adapterkonfiguration die Konvertierung ausgeschaltet?

                                        aeaf9a16-776c-47f2-a375-48724d3bb477-image.png

                                        D Offline
                                        D Offline
                                        dos1973
                                        schrieb am zuletzt editiert von
                                        #76

                                        @mickym

                                        ja
                                        Bildschirmfoto 2021-09-24 um 01.41.06.png

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • D dos1973

                                          @mickym

                                          ja
                                          Bildschirmfoto 2021-09-24 um 01.41.06.png

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #77

                                          @dos1973 Dann poste doch bitte mal Dein Debugfenster was aus der DebugNode rauskommt, Vorher Inhalt löschen und dann mit der VIS ein und ausschalten.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          D 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          767

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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