Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. mark_in dark

    NEWS

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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 5
    • Best 0
    • Groups 1

    mark_in dark

    @mark_in dark

    Starter

    0
    Reputation
    2
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    mark_in dark Follow
    Starter

    Latest posts made by mark_in dark

    • RE: function-node aktivieren/deaktivieren

      @OliverIO

      Super! Herzlichen Dank, ich schaue es mir mal an.
      Schönen Abend!

      posted in Node-Red
      M
      mark_in dark
    • RE: function-node aktivieren/deaktivieren

      @oliverio
      Danke, iobroker kenne ich noch weniger, Du meinst damit wäre es einfacher meine Wünsch zu erfüllen, darf ruhige etwas kosten...

      posted in Node-Red
      M
      mark_in dark
    • RE: function-node aktivieren/deaktivieren

      @oliverio
      ja da hast du auch wieder recht. Sehe aber in Node-Red den Vorteil, dass ich ein Lauzeitplattform, eine Webseite habe und meine KNX-Anbindung fertig funktionsfähig ist.
      Kann meine Gewünschte Anwesenheitssimulation gerne mit grafischen Nodes machen. Bin froh im irgendwelche Tipps. Vielleicht wäre eine andere Lösung als Node-Red besser geeignet für mein Vorhaben?

      posted in Node-Red
      M
      mark_in dark
    • RE: function-node aktivieren/deaktivieren

      @mickym
      Danke für die Antwort.
      Auch wenn ich gerade noch nicht konkret duchblicke, muss ich wohl noch etwas Grundlagenforschung machen, obwohl ich eher ein einmaliges Projekt habe und darum nicht zu viel Zeit in die Einarbeitung in Node-Red stecken möchte.

      function-Node finde ich eigentlich praktisch, denn da hätte ich in den einen noch mehr hineingepackt, eben auch die Uhrzeitabfrage. Warum man functions-nodes nicht unbedingt verwenden soll, verstehe ich gerade nicht.

      posted in Node-Red
      M
      mark_in dark
    • function-node aktivieren/deaktivieren

      Hallo,
      bin neu in Node-Red.
      Ich will eine Anwesenheitssimulation machen. Letztendlich gehn die "Daten" an KNX-Geräte. Das funktioniert schon mal.

      Meine "Hauptproblem" boolsche Logiken/Nodes vermisse ich in Node-Red im Vergleich zu andern Systemen.
      Ich will, dass der Funktionsnode nur dann ausgeführt wird, wenn eine externe boolsche Bedingung erfüllt ist. z.B. ein Schalter oder bestimmte Uhrzeiten um die Anwesenheitssimulation zu aktivieren.

      Mein Code funktioniert ja nicht, weil am Eingang der Funktion der Payload zyklisch durch den Taktgeber wieder überschrieben wird. Chat GPT hat zwar Vorschläge, die funktionieren aber nicht oder ich verstehe sie nicht.

      Danke schon mal.... 😊

      [
          {
              "id": "db744027d9c55da8",
              "type": "tab",
              "label": "Anwesenheitssimulation",
              "disabled": false,
              "info": ""
          },
          {
              "id": "6e26b231fd24ccf9",
              "type": "inject",
              "z": "db744027d9c55da8",
              "name": "Taktgeber",
              "props": [],
              "repeat": "1",
              "crontab": "",
              "once": true,
              "onceDelay": "0.1",
              "topic": "",
              "x": 330,
              "y": 260,
              "wires": [
                  [
                      "cddee6fc22707fa6",
                      "9571faaa2cace06b"
                  ]
              ]
          },
          {
              "id": "cddee6fc22707fa6",
              "type": "function",
              "z": "db744027d9c55da8",
              "name": "Zufällige Lampe",
              "func": "// Überprüfen, ob die Anwesenheitssimulation aktiv ist\nif (msg.payload) { // msg.payload ist true, wenn aktiv\n    // Zufällige Lampe auswählen\n    let randomLamp = Math.floor(Math.random() * 3); // Zufällige Lampe (0, 1 oder 2)\n\n    // Zufällige Lampe und Zustand initialisieren\n    let lampStates = [\"OFF\", \"OFF\", \"OFF\"]; // Standardmäßig sind alle Lampen aus\n\n    // Eine zufällige Lampe auf \"ON\" setzen\n    lampStates[randomLamp] = \"ON\";\n\n    // Sicherstellen, dass mindestens eine Lampe \"ON\" ist\n    if (Math.random() < 0.5) { // 50% Chance, eine andere Lampe ebenfalls \"ON\" zu setzen\n        let secondLamp = (randomLamp + 1) % 3; // Eine andere Lampe auswählen\n        lampStates[secondLamp] = \"ON\"; // Diese Lampe auf \"ON\" setzen\n    }\n\n    // Die Lampenstatus in die Payload einfügen\n    msg.payload = [\n        { lamp: 0, state: lampStates[0] },\n        { lamp: 1, state: lampStates[1] },\n        { lamp: 2, state: lampStates[2] }\n    ];\n\n    return msg; // Nachricht zurückgeben, wenn aktiv\n} else {\n    // Wenn nicht aktiv, keine Veränderung an den Lampen\n    return null; // Nachricht nicht zurückgeben\n}\n",
              "outputs": 1,
              "timeout": "",
              "noerr": 0,
              "initialize": "",
              "finalize": "",
              "libs": [],
              "x": 620,
              "y": 260,
              "wires": [
                  [
                      "f1c40d8b.b6d9e"
                  ]
              ]
          },
          {
              "id": "c1d9777a0b7e722d",
              "type": "switch",
              "z": "db744027d9c55da8",
              "name": "Lampensteuerung",
              "property": "payload.lamp",
              "propertyType": "msg",
              "rules": [
                  {
                      "t": "eq",
                      "v": "0",
                      "vt": "num"
                  },
                  {
                      "t": "eq",
                      "v": "1",
                      "vt": "num"
                  },
                  {
                      "t": "eq",
                      "v": "2",
                      "vt": "num"
                  }
              ],
              "checkall": "true",
              "repair": false,
              "outputs": 3,
              "x": 1210,
              "y": 260,
              "wires": [
                  [
                      "acd34ee251bf299d"
                  ],
                  [
                      "1a1e642005d4f084"
                  ],
                  [
                      "d56321d052bed130"
                  ]
              ]
          },
          {
              "id": "acd34ee251bf299d",
              "type": "change",
              "z": "db744027d9c55da8",
              "name": "Status für Lampe 1",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload.state",
                      "tot": "msg"
                  }
              ],
              "action": "",
              "property": "",
              "x": 1570,
              "y": 260,
              "wires": [
                  [
                      "97f2e503ce554a63"
                  ]
              ]
          },
          {
              "id": "97f2e503ce554a63",
              "type": "ui-led",
              "z": "db744027d9c55da8",
              "name": "Lampe 11",
              "group": "eae2e6e4e2b30e79",
              "order": 3,
              "width": 0,
              "height": 0,
              "label": "Lampe 11",
              "labelPlacement": "left",
              "labelAlignment": "flex-end",
              "states": [
                  {
                      "value": "ON",
                      "valueType": "str",
                      "color": "#ffff00"
                  },
                  {
                      "value": "OFF",
                      "valueType": "str",
                      "color": "#808000"
                  }
              ],
              "shape": "square",
              "showBorder": true,
              "showGlow": true,
              "x": 1960,
              "y": 260,
              "wires": []
          },
          {
              "id": "1a1e642005d4f084",
              "type": "change",
              "z": "db744027d9c55da8",
              "name": "Status für Lampe 2",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload.state",
                      "tot": "msg"
                  }
              ],
              "action": "",
              "property": "",
              "x": 1570,
              "y": 320,
              "wires": [
                  [
                      "9f4c1f52e7edc3cc"
                  ]
              ]
          },
          {
              "id": "d56321d052bed130",
              "type": "change",
              "z": "db744027d9c55da8",
              "name": "Status für Lampe 3",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "payload.state",
                      "tot": "msg"
                  }
              ],
              "action": "",
              "property": "",
              "x": 1570,
              "y": 380,
              "wires": [
                  [
                      "3412a2106c836d52"
                  ]
              ]
          },
          {
              "id": "9f4c1f52e7edc3cc",
              "type": "ui-led",
              "z": "db744027d9c55da8",
              "name": "Lampe 12",
              "group": "eae2e6e4e2b30e79",
              "order": 4,
              "width": 0,
              "height": 0,
              "label": "Lampe 12",
              "labelPlacement": "left",
              "labelAlignment": "flex-end",
              "states": [
                  {
                      "value": "ON",
                      "valueType": "str",
                      "color": "#ffff00"
                  },
                  {
                      "value": "OFF",
                      "valueType": "str",
                      "color": "#808000"
                  }
              ],
              "shape": "square",
              "showBorder": true,
              "showGlow": true,
              "x": 1960,
              "y": 320,
              "wires": []
          },
          {
              "id": "3412a2106c836d52",
              "type": "ui-led",
              "z": "db744027d9c55da8",
              "name": "Lampe 13",
              "group": "eae2e6e4e2b30e79",
              "order": 5,
              "width": 0,
              "height": 0,
              "label": "Lampe 13",
              "labelPlacement": "left",
              "labelAlignment": "flex-end",
              "states": [
                  {
                      "value": "ON",
                      "valueType": "str",
                      "color": "#ffff00"
                  },
                  {
                      "value": "OFF",
                      "valueType": "str",
                      "color": "#808000"
                  }
              ],
              "shape": "square",
              "showBorder": true,
              "showGlow": true,
              "x": 1960,
              "y": 380,
              "wires": []
          },
          {
              "id": "f1c40d8b.b6d9e",
              "type": "split",
              "z": "db744027d9c55da8",
              "name": "Split Lampenstatus",
              "splt": "\\n",
              "spltType": "auto",
              "arraySplt": "1",
              "arraySpltType": "len",
              "stream": false,
              "addname": "",
              "property": "payload",
              "x": 890,
              "y": 260,
              "wires": [
                  [
                      "c1d9777a0b7e722d"
                  ]
              ]
          },
          {
              "id": "9571faaa2cace06b",
              "type": "function",
              "z": "db744027d9c55da8",
              "name": "Uhrzeit prüfen",
              "func": "const currentTime = new Date();\nconst hours = currentTime.getHours();\n\nif (hours >= 18 && hours < 23) {\n    // Zwischen 18 und 23 Uhr\n    msg.payload = \"Lampen einschalten\"; // oder eine spezifische Steuerung für die Lampen\n} else {\n    // Außerhalb der erlaubten Zeiten\n    msg.payload = \"Lampen ausschalten\"; // oder eine spezifische Steuerung für die Lampen\n}\n\nreturn msg;\n",
              "outputs": 1,
              "timeout": 0,
              "noerr": 0,
              "initialize": "",
              "finalize": "",
              "libs": [],
              "x": 620,
              "y": 360,
              "wires": [
                  []
              ]
          },
          {
              "id": "cc2b6675dc1a6ce3",
              "type": "ui-switch",
              "z": "db744027d9c55da8",
              "name": "",
              "label": "switch",
              "group": "eae2e6e4e2b30e79",
              "order": 0,
              "width": 0,
              "height": 0,
              "passthru": false,
              "decouple": false,
              "topic": "payload",
              "topicType": "msg",
              "style": "",
              "className": "",
              "layout": "row-spread",
              "clickableArea": "switch",
              "onvalue": "{\"simulation\": true}",
              "onvalueType": "json",
              "onicon": "",
              "oncolor": "",
              "offvalue": "{\"simulation\": false}",
              "offvalueType": "json",
              "officon": "",
              "offcolor": "",
              "x": 310,
              "y": 160,
              "wires": [
                  [
                      "cddee6fc22707fa6"
                  ]
              ]
          },
          {
              "id": "eae2e6e4e2b30e79",
              "type": "ui-group",
              "name": "Group 1",
              "page": "a3e6081f6177718a",
              "width": "2",
              "height": 1,
              "order": 1,
              "showTitle": true,
              "className": "",
              "visible": "true",
              "disabled": "false",
              "groupType": "default"
          },
          {
              "id": "a3e6081f6177718a",
              "type": "ui-page",
              "name": "Page 1",
              "ui": "e0f1fa3c5c6ad564",
              "path": "/page1",
              "icon": "home",
              "layout": "grid",
              "theme": "8077bd265499d558",
              "breakpoints": [
                  {
                      "name": "Default",
                      "px": "0",
                      "cols": "3"
                  },
                  {
                      "name": "Tablet",
                      "px": "576",
                      "cols": "6"
                  },
                  {
                      "name": "Small Desktop",
                      "px": "768",
                      "cols": "9"
                  },
                  {
                      "name": "Desktop",
                      "px": "1024",
                      "cols": "12"
                  }
              ],
              "order": 1,
              "className": "",
              "visible": "true",
              "disabled": "false"
          },
          {
              "id": "e0f1fa3c5c6ad564",
              "type": "ui-base",
              "name": "My Dashboard",
              "path": "/dashboard",
              "appIcon": "",
              "includeClientData": true,
              "acceptsClientConfig": [
                  "ui-notification",
                  "ui-control"
              ],
              "showPathInSidebar": false,
              "headerContent": "page",
              "navigationStyle": "default",
              "titleBarStyle": "default",
              "showReconnectNotification": true,
              "notificationDisplayTime": 1,
              "showDisconnectNotification": true,
              "allowInstall": true
          },
          {
              "id": "8077bd265499d558",
              "type": "ui-theme",
              "name": "Default Theme",
              "colors": {
                  "surface": "#ffffff",
                  "primary": "#0094CE",
                  "bgPage": "#eeeeee",
                  "groupBg": "#ffffff",
                  "groupOutline": "#cccccc"
              },
              "sizes": {
                  "density": "default",
                  "pagePadding": "12px",
                  "groupGap": "12px",
                  "groupBorderRadius": "4px",
                  "widgetGap": "12px"
              }
          },
          {
              "id": "1bc863875cde0fe8",
              "type": "global-config",
              "env": [],
              "modules": {
                  "@flowfuse/node-red-dashboard-2-ui-led": "1.1.0",
                  "@flowfuse/node-red-dashboard": "1.26.0"
              }
          }
      ]
      
      posted in Node-Red
      M
      mark_in dark
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo