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. Skripten / Logik
  4. Node-Red
  5. Node Red: Zeit Badfenster offen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Node Red: Zeit Badfenster offen

Geplant Angeheftet Gesperrt Verschoben Node-Red
20 Beiträge 3 Kommentatoren 4.9k Aufrufe 4 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.
  • R rewenode

    Ist eine etwas verkorkste Object structure.
    Du kannst aber einfach change-nodes nehmen und das ganze mit einem kleinen JSONata Ausdruck machen.

    2019-11-27_20-52-08.png

    hier der Flow:

    [
        {
            "id": "d62d0d87.9561f8",
            "type": "inject",
            "z": "ce726243.5a5778",
            "name": "",
            "topic": "",
            "payload": "{\"values\":{\"heating_temperature\":0,\"warmwater_temperature\":51,\"heating_operation_mode\":0,\"warmwater_operation_mode\":0,\"heating_operation_mode_string\":\"Automatik\",\"warmwater_operation_mode_string\":\"Automatik\",\"heating_curve_end_point\":46,\"heating_curve_parallel_offset\":20,\"deltaHeatingReduction\":0,\"heatSourcedefrostAirThreshold\":7,\"hotWaterTemperatureHysteresis\":3,\"returnTemperatureHysteresis\":2,\"heatSourcedefrostAirEnd\":6,\"temperature_hot_water_target\":52,\"cooling_operation_mode\":0,\"cooling_release_temperature\":20,\"thresholdTemperatureSetBack\":-20,\"cooling_inlet_temp\":20,\"hotWaterCircPumpDeaerate\":\"off\",\"heatingLimit\":1,\"thresholdHeatingLimit\":14,\"cooling_start_after_hours\":120,\"cooling_stop_after_hours\":120,\"typeSerial\":\"2509/22-83\",\"returnTemperatureTargetMin\":15}}",
            "payloadType": "json",
            "repeat": "",
            "crontab": "",
            "once": false,
            "onceDelay": 0.1,
            "x": 160,
            "y": 100,
            "wires": [
                [
                    "94a117c0.f92528",
                    "5ae32f5d.bd16d8"
                ]
            ]
        },
        {
            "id": "918f1b7f.3aa788",
            "type": "debug",
            "z": "ce726243.5a5778",
            "name": "",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": false,
            "complete": "payload",
            "targetType": "msg",
            "x": 790,
            "y": 100,
            "wires": []
        },
        {
            "id": "94a117c0.f92528",
            "type": "change",
            "z": "ce726243.5a5778",
            "name": "heating_temperature",
            "rules": [
                {
                    "t": "set",
                    "p": "payload",
                    "pt": "msg",
                    "to": "{\t   \"heating_temperature\": payload.values.heating_temperature\t}",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 440,
            "y": 100,
            "wires": [
                [
                    "918f1b7f.3aa788"
                ]
            ]
        },
        {
            "id": "eb70ea5a.6e6738",
            "type": "comment",
            "z": "ce726243.5a5778",
            "name": "und so weiter",
            "info": "",
            "x": 410,
            "y": 180,
            "wires": []
        },
        {
            "id": "5ae32f5d.bd16d8",
            "type": "change",
            "z": "ce726243.5a5778",
            "name": "warmwater_temperature",
            "rules": [
                {
                    "t": "set",
                    "p": "payload",
                    "pt": "msg",
                    "to": "{\t   \"warmwater_temperature\": payload.values.warmwater_temperature\t}",
                    "tot": "jsonata"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 450,
            "y": 140,
            "wires": [
                [
                    "d8070b65.88a4b"
                ]
            ]
        },
        {
            "id": "d8070b65.88a4b",
            "type": "debug",
            "z": "ce726243.5a5778",
            "name": "",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": false,
            "complete": "false",
            "x": 790,
            "y": 140,
            "wires": []
        },
        {
            "id": "124c73d6.4623ac",
            "type": "comment",
            "z": "ce726243.5a5778",
            "name": "payload.values - object",
            "info": "",
            "x": 160,
            "y": 60,
            "wires": []
        }
    ]
    

    Ersetze dann einfach deine function-nodes durch die change-nodes.

    Homer.J.H Offline
    Homer.J.H Offline
    Homer.J.
    schrieb am zuletzt editiert von
    #10

    @rewenode Lässt sich leider nicht importieren.

    R 1 Antwort Letzte Antwort
    0
    • Homer.J.H Homer.J.

      @rewenode Lässt sich leider nicht importieren.

      R Offline
      R Offline
      rewenode
      schrieb am zuletzt editiert von
      #11

      @Homer-J Sollte jetzt gehen. Der Export muss wohl in Code-Tags stehen.

      Homer.J.H 1 Antwort Letzte Antwort
      0
      • R rewenode

        @Homer-J Sollte jetzt gehen. Der Export muss wohl in Code-Tags stehen.

        Homer.J.H Offline
        Homer.J.H Offline
        Homer.J.
        schrieb am zuletzt editiert von
        #12

        @rewenode Steht jetzt das im Debug.Screenshot_2019-11-27 Node-RED 192 168 178 33.png

        R 1 Antwort Letzte Antwort
        0
        • Homer.J.H Homer.J.

          @rewenode Steht jetzt das im Debug.Screenshot_2019-11-27 Node-RED 192 168 178 33.png

          R Offline
          R Offline
          rewenode
          schrieb am zuletzt editiert von
          #13

          Wie genau hast du den change-node konfiguriert?

          Homer.J.H 1 Antwort Letzte Antwort
          0
          • R rewenode

            Wie genau hast du den change-node konfiguriert?

            Homer.J.H Offline
            Homer.J.H Offline
            Homer.J.
            schrieb am zuletzt editiert von Homer.J.
            #14

            @rewenode im Debug wir der Wert jetzt eingetragen aber nicht in die variable die ich im Java angelegt habe
            als was müssen diese angelegt sein als String. ?Screenshot_2019-11-27 Node-RED 192 168 178 33.png

            R 1 Antwort Letzte Antwort
            0
            • Homer.J.H Homer.J.

              @rewenode im Debug wir der Wert jetzt eingetragen aber nicht in die variable die ich im Java angelegt habe
              als was müssen diese angelegt sein als String. ?Screenshot_2019-11-27 Node-RED 192 168 178 33.png

              R Offline
              R Offline
              rewenode
              schrieb am zuletzt editiert von
              #15

              @Homer-J Dazu kann ich nichts sagen. Dazu müsste ich wissen, wie genau dein nachfolgender ioBroker-In node die Daten haben will. Name/Path/Type

              Homer.J.H 1 Antwort Letzte Antwort
              0
              • R rewenode

                @Homer-J Dazu kann ich nichts sagen. Dazu müsste ich wissen, wie genau dein nachfolgender ioBroker-In node die Daten haben will. Name/Path/Type

                Homer.J.H Offline
                Homer.J.H Offline
                Homer.J.
                schrieb am zuletzt editiert von
                #16

                @rewenode hab mal einen anderen Knoten vom iobroker genommen jetzt geht es danke dir.

                R 2 Antworten Letzte Antwort
                0
                • Homer.J.H Homer.J.

                  @rewenode hab mal einen anderen Knoten vom iobroker genommen jetzt geht es danke dir.

                  R Offline
                  R Offline
                  rewenode
                  schrieb am zuletzt editiert von
                  #17

                  @Homer-J Alles klar :+1:
                  Feierabend ;-)

                  1 Antwort Letzte Antwort
                  0
                  • Homer.J.H Homer.J.

                    @rewenode hab mal einen anderen Knoten vom iobroker genommen jetzt geht es danke dir.

                    R Offline
                    R Offline
                    rewenode
                    schrieb am zuletzt editiert von
                    #18

                    @Homer-J Der Vollständigkeit halber. So gehts auch mit deinen function-nodes:

                    return {"payload": {"heating_temperature": msg.payload.values.heating_temperature}};
                    
                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      HomeSweetHome
                      schrieb am zuletzt editiert von HomeSweetHome
                      #19

                      Hallo,

                      danke für die Antwort. Zurück nochmal zum Badfenster.

                      Wo bekomme ich die Zeit her, bzw. die steckt doch nicht in msg.payload.lc oder?

                      Habe ich noch nicht ganz verstanden.

                      Beim Schließen wird die Funktion immer hier beendet "if (typeof flow.get("FensterAufStart") === "undefined") return false;" und Debug Node noch dahinter wird nicht "stimuliert"

                      Wo ist mein Denkfehler?

                      Gruß HomeSweetHome

                      R 1 Antwort Letzte Antwort
                      0
                      • H HomeSweetHome

                        Hallo,

                        danke für die Antwort. Zurück nochmal zum Badfenster.

                        Wo bekomme ich die Zeit her, bzw. die steckt doch nicht in msg.payload.lc oder?

                        Habe ich noch nicht ganz verstanden.

                        Beim Schließen wird die Funktion immer hier beendet "if (typeof flow.get("FensterAufStart") === "undefined") return false;" und Debug Node noch dahinter wird nicht "stimuliert"

                        Wo ist mein Denkfehler?

                        Gruß HomeSweetHome

                        R Offline
                        R Offline
                        rewenode
                        schrieb am zuletzt editiert von rewenode
                        #20

                        @HomeSweetHome sagte in Node Red: Zeit Badfenster offen:

                        Wo bekomme ich die Zeit her, bzw. die steckt doch nicht in msg.payload.lc oder?

                        genau. Ist die Unix-Zeit. Die Umrechnung in Sekunden geschieht dann hier:

                        // (gespeicherte UNIX Zeit in ms - aktuelle Zeit in ms) / 1000 = Differenz in Sekunden
                        ... Math.floor((msg.payload.lc - flow.get("FensterAufStart"))/1000)
                        

                        Beim Schließen wird die Funktion immer hier beendet "if (typeof flow.get("FensterAufStart") === "undefined") return false;" und Debug Node noch dahinter wird nicht "stimuliert"

                        Dass passiert, wenn die Flow-Variable "FensterAufStart" noch nicht angelegt ist, was wiederum dann der Fall ist, wenn beim ersten feuern des ioBroker-in-nodes das Fender schließt. Weil die Variable ja beim Öffnen angelegt wird.
                        Kann es sein, dass dein ioBroker-In-Node nicht auf Object steht?2019-12-01_16-43-22.png

                        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

                        843

                        Online

                        32.4k

                        Benutzer

                        81.6k

                        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