Digitaler Input Zuweisung Wlan Relais

Moin zusammen,
mein Ausbau ging weiter und endlich habe ich ein Bedienfeld für Licht und Wasser, via Taster eingebaut und an die Dig. Eingänge beim Core angeschlossen.
Soweit alles Bestens, Conifg als Taster und Zuweisung der Ausgänge Dimmy oder Core Relais ohne Probleme.
Ein Eingang soll jedoch ein Shelly der via MQTT angesteuert wird schalten.
Jedoch werden meine MQTT Shelly nicht in der Conifg angezeigt. Nur Core Relais und Dimmy.

Habe ich eine Fehler im System oder gibt es die Funktion noch nicht?

Viele Grüße

Moin,

kannst du im backend einfach umsetzen.
Hab hier noch eine Funktion für einen Taster gebaut, der zwischen lang und kurz unterscheidet.
Damit hab ich 2 Ausgänge, sprich 2 Relays die man schalten kann mit einem Taster.

Bei mir habe ich den Input 2 genommen und gehe mit kurzen druck auf Relay 5 und mit langen druck auf ein Wireless Relay 2. Hier mein Code:

[{"id":"b0d41d4b2b96b160","type":"function","z":"d8be6ba2a43f7c48","g":"6534c8572f823597","name":"input 2 Short/Long Push","func":"let timestamp = Date.now();  // Aktuellen Zeitstempel erhalten\nlet lastPushTime2 = context.get('lastPushTime2') || 0;\n\nlet pressDuration = timestamp - lastPushTime2;  //Zeitdifferenz\n\nif (msg.payload.input === 2) { // Input 2\n    if (msg.payload.status === true) {\n        // Taste gedrückt\n        context.set('lastPushTime2', timestamp);\n        msg.payload.type = 'Press started'; // Taste gedrückt\n    } else if (msg.payload.status === false) {\n        // Taste losgelassen\n        if (pressDuration <= 1000) {\n            // Kurz Push erkannt\n            msg.payload.type = 'Short Push';\n            return [msg, null]; //ersten Ausgang\n        } else if (pressDuration > 1000) {\n            // Long Push erkannt\n            msg.payload.type = 'Long Push';\n            return [null, msg]; //zweiten Ausgang\n        }\n    }\n}\n\nreturn [null, null];","outputs":2,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":350,"y":1520,"wires":[["834dbdcbfde4673b"],["302991f09b7b3288"]]},{"id":"8a57109ada5726f2","type":"mqtt in","z":"d8be6ba2a43f7c48","g":"6534c8572f823597","name":"","topic":"pkw/tele/input","qos":"2","datatype":"auto-detect","broker":"0ddb07c65cbb68bc","nl":false,"rap":true,"rh":0,"inputs":0,"x":130,"y":1560,"wires":[["762ed117e2f8ec45","1f94cd6a0ee719c5","b0d41d4b2b96b160"]]},{"id":"302991f09b7b3288","type":"http request","z":"d8be6ba2a43f7c48","g":"6534c8572f823597","name":"wRelay 2 (Boiler)","method":"PUT","ret":"txt","paytoqs":"ignore","url":"http://127.0.0.1:1880/toggle/wrelay/2","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":670,"y":1540,"wires":[[]]},{"id":"834dbdcbfde4673b","type":"http request","z":"d8be6ba2a43f7c48","g":"6534c8572f823597","name":"Relay 5 (Pumpe)","method":"PUT","ret":"txt","paytoqs":"ignore","url":"http://127.0.0.1:1880/toggle/relay/5","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":670,"y":1500,"wires":[[]]},{"id":"0ddb07c65cbb68bc","type":"mqtt-broker","name":"","broker":"http://localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

Wenn du das alles in einen Tab machst der userflow heißt, bleibt es bei einem Online Update erhalten

Danke für Deine Lösung.
Könntest du mir bitte einen Screeshot von deinem Backend machen, wie es dann aussehen soll?
Mache da eingentlich nichts, da ich mich damit nicht auskenne.
Der code erzeugt dann die ganzen Blöcke? wie beim Blockly script?

Gruß Alex

So sieht es dann aus :wink:

Vielen Danke,

Importiert, angepasst und funktioniert .

Gruß Alex

1 Like