2-Kanal-WiFi Tasmota Relay schalten

Ich habe ein Zweikanal Wifi Relay Board nach dem Tutorial auf der Webseite angebunden. Ich kann das erste Relais auf Anhieb aus der PeKaWay-Oberfläche schalten. Gibt es eine Möglichkeit, die Topics irgendiwe so einzurichten, dass man auch das zweite schalten kann? Die Tasmota Seite selbst sagt dazu:

“For Sonoff Dual or Sonoff 4CH the relays need to be addressed with cmnd/tasmota/POWER, where {x} is the relay number from 1 to 2 (Sonoff Dual) or from 1 to 4 (Sonoff 4CH). cmnd/tasmota/POWER4 off turns off the 4th relay on a Sonoff 4CH.”

Ich weiß aber nicht, ob / wie sich das über die Web-Confi umsetzen lässt.

Hey,

In Tasmota kann man doch normalerweise die Topics umstellen.
Kannst du diese auf “pkw/cmnd/wrelay1/POWER” stellen (bzw. die jeweilige Zahl für das jeweilige Relay).

Dann kannst du einfach im Frontend unter Config > Switches die Wifi-Relays aktivieren und dann schalten.

EDIT: Ok, Hab nicht richtig gelesen :smiley: Also, du musst das Node-RED BAckend aufrufen (<RPI-IP>:1880), dann wechselt du in den Flow “MQTT API”. Dort findest du die Topics für die Wifi-Relays

Dort kannst du einfach in der markierten MQTT-Node das Topic entsprechend anpassen.
Also das Topic müsste ja dann “pkw/cmnd/wrelay1/POWER2” sein, wenn du wrelay1 als Topic bei Tasmota angegeben hast.

Dann noch rechts oben auf den roten Deploy Button, um das Ganze zu übernehmen.

1 Like

Cool, das hat geklappt! Vielen Dank! :star_struck: :beers:

moin!

folgende Situation: Habe ein 4Kanal Wifi Relais erfolgreich auf Tasmota geflasht, entsprechend eine Regel erstellt, MQTT angepasst und den flow in NodeRed verändert.
In VanPi kann ich die Relais auch entsprechend ihrer Bezeichnung steuern. Leider jedoch zieht das Wifi Relais 1 auch immer mit wenn ich die Relais auf dem VanPi Relayboard ansteuere und zwar egal welches.
Vermutlich was simples, aber ich komme nicht drauf.

Moin,

wie sehen denn deine Topics in Tasmota aus? Und was hast du verändert in den Flows?
WRelay1 bekommt ja jetzt anscheinend irgendwie einen Input von den normalen Relays

moin,
also unter MQTT und im flow habe ich das Tutorial umgesetzt, die Topics im flow von 1-8 durchgesetzt bzw. ergänzt, obwohl es nur eine 4 Kanal Relaiplatine ist, vorher reagierte Relais 1 auf Wifi Switch 5-8 wenn da nur “Power” stand.


Zuerst musst du das Full Topic in Tasmota auf “pkw/%prefix%/%topic%” setzen.

Ich geh mal davon aus, dass es ein “Sonoff 4CH” Modul ist, bzw genau so funktioniert.
Dann muss du die Topics in den MQTT-Nodes im Node-RED Backend einfach wie oben beschrieben anpassen

Also das Topic müsste ja dann “pkw/cmnd/wrelay1/POWER2” sein, wenn du wrelay1 als Topic bei Tasmota angegeben hast.

Für das dritte Relay dann “pkw/cmnd/wrelay1/POWER3" usw.

ah, jetzt, ja! Jetzt hab ich das verstanden! Somit konnte auch meine Folgefrage beantwortet werden :hugs:

Und ja, das Problem wurde gelöst! Das Modul hab ich auf Generic(18) eingestellt, da kein Sonoff und die GPIO´s 12/13/14/15 den Relais 1/2/3/4 zugeordnet.

Allerdings werden die Wifi Relais in der config (ui) als “not connected” angezeigt, was ja nicht stimmt, im Node listet er das ja als “verbunden”

vielen Dank soweit!

Hey Vincent,

ist es möglich 2 Relais des Relayboards zusammenzufassen, also Relay1 schaltet immer Relay2 dazu und umgekehrt? Idealerweise als Bedarfsschaltung mit frei wählbaren Kombinationen (Szenenschaltung) Es sind in meinem Fall 2 Arbeitsscheinwerfer angeschlossen, die in der Regel zusammen in Betrieb gehen und hier nur zur Entlastung des Laststromkreises auf 2 Relais aufgeteilt sind.

Am einfachsten sollte da so gehen

Danke und Sorry, ich habe mich undeutlich ausgedrückt :see_no_evil:, ich meinte das normale VanPi Relayboard, bei den Wifi Relais funktioniert das exakt so wie du es beschrieben hast, bei den normalen Relays hab ich auch schon im flow rumgestrickt, aber er will nicht…

Versuchs damit :thinking:

[
    {
        "id": "763f4f1d4d634f73",
        "type": "ui_button",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "group": "ccad5801a0091caa",
        "order": 6,
        "width": 0,
        "height": 0,
        "passthru": false,
        "label": "Reset Scheinwerfer Relay",
        "tooltip": "",
        "color": "",
        "bgcolor": "",
        "className": "",
        "icon": "",
        "payload": "0",
        "payloadType": "str",
        "topic": "topic",
        "topicType": "msg",
        "x": 330,
        "y": 2400,
        "wires": [
            [
                "2315c8470b818770",
                "5e7a50d13782d2f6"
            ]
        ]
    },
    {
        "id": "a894b50a570a1f04",
        "type": "ui_text_input",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "label": "Scheinwerfer Relay Connect Relay",
        "tooltip": "mit komma getrennt Relaisnummer - \"1,4\" Schaltet Relay 1 mit Heizungstimer an",
        "group": "ccad5801a0091caa",
        "order": 5,
        "width": 0,
        "height": 0,
        "passthru": false,
        "mode": "text",
        "delay": "600",
        "topic": "",
        "sendOnBlur": true,
        "className": "",
        "topicType": "str",
        "x": 360,
        "y": 2460,
        "wires": [
            [
                "2315c8470b818770",
                "5e7a50d13782d2f6"
            ]
        ]
    },
    {
        "id": "5e7a50d13782d2f6",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "set global",
        "func": " var str = msg.payload;\n\n global.set(\"ScheinwerferRelay\", str);\n  \n ",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 580,
        "y": 2400,
        "wires": [
            []
        ]
    },
    {
        "id": "2315c8470b818770",
        "type": "file",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "filename": "pekaway/Scheinwerfer ",
        "appendNewline": false,
        "createDir": true,
        "overwriteFile": "true",
        "encoding": "none",
        "x": 660,
        "y": 2460,
        "wires": [
            [
                "55a182d50e2e6db2"
            ]
        ]
    },
    {
        "id": "55a182d50e2e6db2",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "func": "msg.payload =\"Setze ein neues Scheinwerfer  Relay\"\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 880,
        "y": 2460,
        "wires": [
            [
                "b600941275ecda36"
            ]
        ]
    },
    {
        "id": "b600941275ecda36",
        "type": "ui_toast",
        "z": "d7c2753f2fc39af9",
        "position": "dialog",
        "displayTime": "3",
        "highlight": "",
        "sendall": false,
        "outputs": 1,
        "ok": "OK",
        "cancel": "",
        "raw": false,
        "className": "",
        "topic": "",
        "name": "",
        "x": 1030,
        "y": 2460,
        "wires": [
            []
        ]
    },
    {
        "id": "f816916703a946ec",
        "type": "ui_switch",
        "z": "d7c2753f2fc39af9",
        "name": "ON/OFF Scheinwerfer ",
        "label": "",
        "tooltip": "",
        "group": "ccad5801a0091caa",
        "order": 1,
        "width": 2,
        "height": 1,
        "passthru": true,
        "decouple": "false",
        "topic": "topic",
        "topicType": "msg",
        "style": "",
        "onvalue": "true",
        "onvalueType": "bool",
        "onicon": "",
        "oncolor": "",
        "offvalue": "false",
        "offvalueType": "bool",
        "officon": "",
        "offcolor": "",
        "animate": false,
        "className": "",
        "x": 340,
        "y": 2520,
        "wires": [
            [
                "97239651fd07d7bf"
            ]
        ]
    },
    {
        "id": "97239651fd07d7bf",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "set Global",
        "func": "global.set(\"Scheinwerferonoff\", msg.payload);\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 550,
        "y": 2520,
        "wires": [
            [
                "78200d9f2f87c691"
            ]
        ]
    },
    {
        "id": "9e70de03f9c486bc",
        "type": "ui_switch",
        "z": "d7c2753f2fc39af9",
        "name": "LED on/off",
        "label": "",
        "tooltip": "",
        "group": "ccad5801a0091caa",
        "order": 4,
        "width": 1,
        "height": 1,
        "passthru": false,
        "decouple": "true",
        "topic": "topic",
        "topicType": "msg",
        "style": "",
        "onvalue": "true",
        "onvalueType": "bool",
        "onicon": "radio_button_checked",
        "oncolor": "lightGreen",
        "offvalue": "false",
        "offvalueType": "bool",
        "officon": "radio_button_unchecked",
        "offcolor": "Grey",
        "animate": false,
        "className": "",
        "x": 850,
        "y": 2520,
        "wires": [
            []
        ]
    },
    {
        "id": "9cf4bf55515293ed",
        "type": "switch",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            },
            {
                "t": "false"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 750,
        "y": 2620,
        "wires": [
            [
                "0529c0b8f6b32834"
            ],
            [
                "593a274e0ebbfa42"
            ]
        ]
    },
    {
        "id": "0529c0b8f6b32834",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "get connected relay",
        "func": "msg.payload=global.get(\"ScheinwerferRelay\");\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 980,
        "y": 2620,
        "wires": [
            [
                "a8cafd67b5ece404"
            ]
        ]
    },
    {
        "id": "593a274e0ebbfa42",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "get connected relay",
        "func": "msg.payload=global.get(\"ScheinwerferRelay\");\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 980,
        "y": 2660,
        "wires": [
            [
                "b959df49122f633b",
                "a894b50a570a1f04"
            ]
        ]
    },
    {
        "id": "78200d9f2f87c691",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "Regler",
        "func": "\nvar onoff = global.get(\"Scheinwerferonoff\");\n\n\n    \n\n\nreturn msg;\n\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 650,
        "y": 2580,
        "wires": [
            [
                "9cf4bf55515293ed",
                "9e70de03f9c486bc"
            ]
        ]
    },
    {
        "id": "a8cafd67b5ece404",
        "type": "link out",
        "z": "d7c2753f2fc39af9",
        "name": "Scheinwerfer true",
        "mode": "link",
        "links": [
            "d9f49e6d5ae17958",
            "a5f7be5c4192e50f"
        ],
        "x": 1255,
        "y": 2620,
        "wires": []
    },
    {
        "id": "b959df49122f633b",
        "type": "link out",
        "z": "d7c2753f2fc39af9",
        "name": "Scheinwerfer false",
        "mode": "link",
        "links": [
            "3fe2b2c1d74d6831",
            "b0e15fb5116cca3d"
        ],
        "x": 1255,
        "y": 2660,
        "wires": []
    },
    {
        "id": "b6c4b8b9baf32cec",
        "type": "file in",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "filename": "pekaway/Scheinwerfer ",
        "format": "utf8",
        "chunk": false,
        "sendError": false,
        "encoding": "none",
        "allProps": false,
        "x": 580,
        "y": 2340,
        "wires": [
            [
                "5e7a50d13782d2f6"
            ]
        ]
    },
    {
        "id": "54c3490df1b7f032",
        "type": "inject",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": "5",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 330,
        "y": 2340,
        "wires": [
            [
                "b6c4b8b9baf32cec"
            ]
        ]
    },
    {
        "id": "9dea5f02dc2c6cc4",
        "type": "switch",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "3",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "4",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "5",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "6",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "7",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "8",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "9",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "10",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 10,
        "x": 1750,
        "y": 2580,
        "wires": [
            [
                "45e780c28cda85d5"
            ],
            [
                "f16a3c690e39fcc3"
            ],
            [
                "e3b14481ba4414f6"
            ],
            [
                "4da6707ec9fed1e1"
            ],
            [
                "6227f098c4452173"
            ],
            [
                "aa67b75277078908"
            ],
            [
                "2c5469e0bfcb972f"
            ],
            [
                "db635d1dad0d1f2a"
            ],
            [],
            []
        ]
    },
    {
        "id": "e3b14481ba4414f6",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"three\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2460,
        "wires": [
            []
        ]
    },
    {
        "id": "4da6707ec9fed1e1",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"four\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2500,
        "wires": [
            []
        ]
    },
    {
        "id": "6227f098c4452173",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"five\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2540,
        "wires": [
            []
        ]
    },
    {
        "id": "aa67b75277078908",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"six\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2580,
        "wires": [
            []
        ]
    },
    {
        "id": "2c5469e0bfcb972f",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"seven\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2620,
        "wires": [
            []
        ]
    },
    {
        "id": "db635d1dad0d1f2a",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"eight\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2660,
        "wires": [
            []
        ]
    },
    {
        "id": "8cbec441227b4316",
        "type": "switch",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "2",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "3",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "4",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "5",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "6",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "7",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "8",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "9",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "10",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 10,
        "x": 1750,
        "y": 2760,
        "wires": [
            [
                "2931f2a3562fc413"
            ],
            [
                "62d26a8be5418dd3"
            ],
            [
                "781206757f091f01"
            ],
            [
                "2cddc6c109ab012f"
            ],
            [
                "5bd25bf859c21150"
            ],
            [
                "0c02474aa17b934f"
            ],
            [
                "7f09366876ffd002"
            ],
            [
                "c8a615f017a6f857"
            ],
            [],
            []
        ]
    },
    {
        "id": "2931f2a3562fc413",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"one\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2700,
        "wires": [
            []
        ]
    },
    {
        "id": "62d26a8be5418dd3",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"two\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 2050,
        "y": 2740,
        "wires": [
            [
                "6b16829bb0f4c049"
            ]
        ]
    },
    {
        "id": "781206757f091f01",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"three\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2780,
        "wires": [
            []
        ]
    },
    {
        "id": "2cddc6c109ab012f",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"four\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2820,
        "wires": [
            []
        ]
    },
    {
        "id": "5bd25bf859c21150",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"five\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2860,
        "wires": [
            []
        ]
    },
    {
        "id": "0c02474aa17b934f",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"six\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2900,
        "wires": [
            []
        ]
    },
    {
        "id": "7f09366876ffd002",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"seven\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2940,
        "wires": [
            []
        ]
    },
    {
        "id": "c8a615f017a6f857",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"eight\", false);\n",
        "outputs": 1,
        "noerr": 0,
        "x": 2050,
        "y": 2980,
        "wires": [
            []
        ]
    },
    {
        "id": "45e780c28cda85d5",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"one\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 2050,
        "y": 2380,
        "wires": [
            []
        ]
    },
    {
        "id": "f16a3c690e39fcc3",
        "type": "function",
        "z": "d7c2753f2fc39af9",
        "name": "globalVariable set",
        "func": "\nglobal.set(\"two\", true);\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 2050,
        "y": 2420,
        "wires": [
            [
                "1227a303fe5eb6f0"
            ]
        ]
    },
    {
        "id": "b27b623e8417b0f1",
        "type": "split",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "splt": ",",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "x": 1550,
        "y": 2620,
        "wires": [
            [
                "9dea5f02dc2c6cc4"
            ]
        ]
    },
    {
        "id": "9d611d035d6306a2",
        "type": "split",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "splt": ",",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "x": 1550,
        "y": 2660,
        "wires": [
            [
                "8cbec441227b4316"
            ]
        ]
    },
    {
        "id": "a5f7be5c4192e50f",
        "type": "link in",
        "z": "d7c2753f2fc39af9",
        "name": "Relay EIN",
        "links": [
            "2980e8dc5f9221cc",
            "4573a473dc8c9722",
            "b164ca7196e54754",
            "a8cafd67b5ece404"
        ],
        "x": 1435,
        "y": 2620,
        "wires": [
            [
                "b27b623e8417b0f1"
            ]
        ]
    },
    {
        "id": "b0e15fb5116cca3d",
        "type": "link in",
        "z": "d7c2753f2fc39af9",
        "name": "Relay AUS",
        "links": [
            "0f6a4c30a94ebfc4",
            "1e7f9f1e25a3b0cf",
            "85b4ba79912be7a7",
            "b959df49122f633b"
        ],
        "x": 1435,
        "y": 2660,
        "wires": [
            [
                "9d611d035d6306a2"
            ]
        ]
    },
    {
        "id": "1227a303fe5eb6f0",
        "type": "debug",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 2250,
        "y": 2420,
        "wires": []
    },
    {
        "id": "6b16829bb0f4c049",
        "type": "debug",
        "z": "d7c2753f2fc39af9",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 2250,
        "y": 2740,
        "wires": []
    },
    {
        "id": "ccad5801a0091caa",
        "type": "ui_group",
        "name": "Scheinwerfer",
        "tab": "87822ed60f29be33",
        "order": 4,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "87822ed60f29be33",
        "type": "ui_tab",
        "name": "Test",
        "icon": "build",
        "order": 20,
        "disabled": false,
        "hidden": false
    }
]


grafik

Im Linken Teil des Flow werden die Relays konfiguriert, und eingeschaltet.
im Rechten Teil an die Relays übergeben.
Wenn du im UI 1,2,3,4,5 eintägst schalten alle 5 Relays.

Fett! Danke! Ich setz das mal ein! Ich bin noch nicht ganz so weit mit verstehen und “koche” noch nach Rezept :wink:
Wenn ich nicht weiterkomme meld ich mich noch mal… :stuck_out_tongue:

Geht mir anders. Ich schmeisse alles in einen topf was schmekt, und schaue was rauskommt “experimentelle Küche” :rofl:

Dank tatkräftiger Unterstützung hier im Forum bin ich ein großes Stück weiter gekommen, dafür nochmals vielen Dank!
Hat noch jemand einen Tip für ein Tasmotafähiges 2 oder 4 fach bistabiles Wifi Relais was eine direkte analoge Steuerung mittels Taster zulässt? Die Dinger mit 8285 Chip nerven schon beim flashen und lassen sich nur unwillig einbinden, am besten ging das mit dem 8266.Hier klappt das jedoch nicht mit einem normalen Taster (falls die WLAN Verbindung mal streikt und ein Bypass nötig ist.
Hab schon 5 Varianten durch und nur das LC-Technology 4ch mit 8266 überzeugt bislang (Leider ohne externe Tastmöglichkeit)

Hast du dir mal die Relaysboards von Lilygo angeschaut? Die sind sehr gut von der Qualität und die GPIOS sind rausgeführt.

Die sehen tatsächlich vielversprechend aus, probiere ich mal aus… :+1:

Ich habe mir mal son 8. Relay-Bord organisiert.
Man sollte darauf achten das man direkt den USB Converter mit bestellt.
Es gibt so einige Seiten auf denen man sehen kann wie man das Board mit Tasmota flasht.

Dort findet man auch ein Tamplete für das 8er, aber auch für das 4er Relay-Board

{"NAME":"LilyGo ESP32 Relay 8","GPIO":[1,1,1,1,1,231,1,1,227,226,1,1,1,1,230,229,0,228,1,1,0,544,1,1,0,0,0,0,225,224,1,1,1,0,0,1],"FLAG":0,"BASE":1}

Da auf dem Board noch so einige IO´s ausgeführt sind, habe ich natürlich wieder Taster-Eingänge daraus gemacht :wink: und zwar 12 an der Zahl. Die ersten 8 sind für die Relais, und die anderen 4 für???, digitale Eingänge hat man ja nie zu viel. (Eingang von der Zündung, elektrische Trittstufe ausgefahren, Landstrom vorhanden,………)
grafik
Die Taster 1-8 werden gegen Masse geschalt, 9-12 gegen +3,3V schalten.
An 9-12 muss je ein pulldown Widerstand 10KOhm gehängt werden, da die Eingänge undefinierte zustände annehmen. Bei 1-8 warte ich mal ab ob sich das ändert wenn längere Leitungen daran sind, zurzeit funktioniert es ohne pullup wiederstand.
Leider hab ich keinen Drucker, daher musste ich mir ein Gehäuse aus Plexiglas bauen.
Konfiguration für ESP32:
In Einstellungen / Sonstige Konfiguration das Tamplete kopieren
in Einstellungen/Vorlage Konfigurieren die übreigen IO`s als Switch konfigurieren
GPIO0= Switch1 (ein Dummi), GPIO2= Switch2, GPIO5= Switch3, GPIO14= Switch4, GPIO15= Switch5, GPIO22= Switch6, GPIO23= Switch7
GPIO26= Switch8, GPIO27= Switch, GPIO34= Switch10, GPIO35= Switch11, GPIO36= Switch12, GPIO39= Switch13,
In der Konsole: Switchmode1-13 15, eingeben // Switchmode1 15 / Switchmode2 15 / Switchmode3 15 / usw. einzeln eingeben (das ist zum Trennen der Schalter von den Relais, jetzt werden nur noch MQTT Nachrichten übermittelt.)
Nach der Konfiguration von Tasmota, habe ich mir dann das Tamplete anzeigen lassen. Das könnte man dann auch einspielen

{"NAME":"LilyGo8mota","GPIO":[160,1,161,1,162,231,1,1,227,226,163,164,1,1,230,229,0,228,165,166,0,544,167,168,0,0,0,0,225,224,169,170,171,0,0,172],"FLAG":0,"BASE":1}

Der Node Red-Code passt leider hier nicht rein 115377 Zeichen. Könnte ich nur Privat verschicken
Auf einer Konfig Seite lassen sich die Namen eintragen.


Und auf der Seite Switches wie üblich geschaltet.
grafik
Im Programm sind zusätzlich Eingänge von Telegram, um die Relais und 4 Eingänge auch von dort aus zu schalten.
grafik
Viel Spass beim nachbauen :wink:
Der Upload von json Dateien funktioniert.
LilyGo8mota.json (112.7 KB)

1 Like

Sehr cool! So viele Relais benötige ich zwar( vorerst) nicht, aber die lilygo Platinen sollen ja sehr gut sein.Die Idee mit den Eingängen gefällt mir!
Ich hab noch n Tip für die Verkabelung: es gibt Platinen mit RJ45 Ruchse auf Löt bzw.Schraubterminals.Dose nutze ich um z.B. die MCU Lötpads rauszuführen. Dann reicht ein einfaches umpinnen an den Terminals um die Belegung zu verändern ohne jedes mal die Lötaugen auf der Platine des Relaisbordes zu strapazieren.Ausserdem kann man mit normalen farbigen Netzwerkkabeln überall im Fahrzeug rumspielen ohne viele Strippen zu schmeißen. Nur der Übersicht wegen…
Viele Grüße!

Hey Mischa
Das mit den RJ45 Platinen ist ne coole Idee, und da gibts ja richtig tolle Versionen
Gruß Arno