Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Pumpe steuern über Tempdifferenz

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Pumpe steuern über Tempdifferenz

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rudolf1957 @mickym last edited by rudolf1957

      @mickym
      Moin, dann schicke ich dir mal das Object!

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @rudolf1957 last edited by

        @rudolf1957 Du solltest das noch in Code Tags einbinden und über die Schaltfläche "Wert kopieren hier rein kopieren und nicht in dem Du den Text markierst und hierher kopierst. 😞
        Deswegen habe ich Dir doch das Bild geschickt. Warum machst Du das nicht?

        Also bitte direkt auf die Schaltfläche rechts

        a4cd3259-a71f-4b9f-be7f-a698274027a5-image.png

        Wert kopieren und den Inhalt dann hier zwischen Code-Tags reinkopieren:

        dc8d5f85-d98e-4cde-94da-a8487ee4c23a-image.png

        Code-Tags.gif

        R 1 Reply Last reply Reply Quote 0
        • R
          rudolf1957 @mickym last edited by

          @mickym
          Sorry, ich hoffe das ist jetzt besser!
          Allerdings Topic + Payload sind nicht in dem Object enthalten. Ich habe keine Ahnung wo Topic + Payload zu finden sind.

          Da die Sensoren bereits eingebaut sind, bekomme ich nur eine Ausgabe über eine DeviceNode wenn der darin angegebene Wert über, oder unterschritten wird. Jedes Mal muss ich warten, bis dies geschieht. Bisher bin ich daran gescheitert, die DeviceNode anders zur Ausgabe zu zwingen.

          Warum machst Du das nicht? - Sorry, war keine Absicht, ich muss mich einfach noch zurecht finden!

          code_text
          1.Object:
          
          {"id":"0","idx":"0","alias":null,"platform":"device","entity_id":"sensor.28_ff641f5989ef_temperature","below":33,"above":32,"from_state":{"entity_id":"sensor.28_ff641f5989ef_temperature","state":"33.0","attributes":{"state_class":"measurement","device_file":"/28.FF641F5989EF/temperature","raw_value":33,"unit_of_measurement":"°C","device_class":"temperature","friendly_name":"Fußbodenheizung Vorlauf"},"last_changed":"2023-03-16T12:38:38.001968+00:00","last_updated":"2023-03-16T12:38:38.001968+00:00","context":{"id":"01GVN6VV5H0P7ZS7T0QC4BHGS1","parent_id":null,"user_id":null}},"to_state":{"entity_id":"sensor.28_ff641f5989ef_temperature","state":"32.8","attributes":{"state_class":"measurement","device_file":"/28.FF641F5989EF/temperature","raw_value":32.8125,"unit_of_measurement":"°C","device_class":"temperature","friendly_name":"Fußbodenheizung Vorlauf"},"last_changed":"2023-03-16T12:39:37.933096+00:00","last_updated":"2023-03-16T12:39:37.933096+00:00","context":{"id":"01GVN6XNPDPBVZ0F663B75G2Y4","parent_id":null,"user_id":null}},"for":null,"description":"numeric state of sensor.28_ff641f5989ef_temperature"}
          
          mickym 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @rudolf1957 last edited by

            @rudolf1957 Na gut ist das immer noch nicht - ausser dass es in den CodeTags eingebunden ist. 😉 Das ist gut.

            Schau mal ob Deinen Nachricht in etwa so aussieht:

            2c15610e-1ae6-49e4-ae1f-81f1fea3be2a-image.png

            So was kopiert man - in dem man mit der Maus direkt in die erste Zeile unter der roten Schrift msg.payload fährt und dann auf die Schaltfläche Wert kopieren drückt:

            3ca6a53f-db12-4a59-b1ef-a6dc90527c3f-image.png

            Jedenfalls sieht es so aus, als ob Du da ja bereits irgendwelche Alerts oder Temperaturbereiche eingeben kannst.

            Ansonsten das topic und die Eigenschaften zu sehen, musst Du halt das ganze Nachrichtenobjekt ausgeben lassen. (kannst Du in der Debug Node einstellen).

            880e08ad-baf4-4d3a-bf3e-19917832f069-image.png

            Was mich wundert sind diese Grenzen - keine Ahnung - ob die was mit der Benachrichtigung zu tun haben:

            de4834d9-c72d-4a41-ba17-01bda12de1b8-image.png

            Jedenfalls um einzelne Werte zu extrahieren oder zu überprüfen gehst Du auf den Pfad:

            Um zum Beispiel zu selektieren, dass nur Temperatur rauskommt, könnte man vielleicht dieses Element nehmen:

            0080b0fd-bb3e-4f3c-beeb-5299feff692a-image.png

            Diesen Pfad gibst Du dann in der Eigenschaft einer Switch Node ein und filterst dann nur noch auf den Wert temperature - dann kommen nur Temperaturwerte durch:

            9bb3fff1-de1c-4eef-943a-a1035e8c9d03-image.png

            Die aktuelle Temperatur selektierst Du in dem Du die payload eben auf den Pfad setzt der die aktuelle Temperatur ausgibt:

            Ich habe jetzt mal folgenden Wert genommen:

            0f649203-15c8-4a1b-8427-577c164a7b8c-image.png

            darauf setzt Du nun die payload in einer ChangeNode:

            0b67b039-fcad-41dc-9886-2f70f8c06ae5-image.png

            Schon bekommst du die Temperaturwerte in Reinform:

            e0930930-ac49-4483-89d6-609c931c31fb-image.png

            Hier Flow zum Testen:

            [
               {
                   "id": "456a76eef9daf45a",
                   "type": "inject",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       },
                       {
                           "p": "topic",
                           "vt": "str"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "{\"id\":\"0\",\"idx\":\"0\",\"alias\":null,\"platform\":\"device\",\"entity_id\":\"sensor.28_ff641f5989ef_temperature\",\"below\":33,\"above\":32,\"from_state\":{\"entity_id\":\"sensor.28_ff641f5989ef_temperature\",\"state\":\"33.0\",\"attributes\":{\"state_class\":\"measurement\",\"device_file\":\"/28.FF641F5989EF/temperature\",\"raw_value\":33,\"unit_of_measurement\":\"°C\",\"device_class\":\"temperature\",\"friendly_name\":\"Fußbodenheizung Vorlauf\"},\"last_changed\":\"2023-03-16T12:38:38.001968+00:00\",\"last_updated\":\"2023-03-16T12:38:38.001968+00:00\",\"context\":{\"id\":\"01GVN6VV5H0P7ZS7T0QC4BHGS1\",\"parent_id\":null,\"user_id\":null}},\"to_state\":{\"entity_id\":\"sensor.28_ff641f5989ef_temperature\",\"state\":\"32.8\",\"attributes\":{\"state_class\":\"measurement\",\"device_file\":\"/28.FF641F5989EF/temperature\",\"raw_value\":32.8125,\"unit_of_measurement\":\"°C\",\"device_class\":\"temperature\",\"friendly_name\":\"Fußbodenheizung Vorlauf\"},\"last_changed\":\"2023-03-16T12:39:37.933096+00:00\",\"last_updated\":\"2023-03-16T12:39:37.933096+00:00\",\"context\":{\"id\":\"01GVN6XNPDPBVZ0F663B75G2Y4\",\"parent_id\":null,\"user_id\":null}},\"for\":null,\"description\":\"numeric state of sensor.28_ff641f5989ef_temperature\"}",
                   "payloadType": "json",
                   "x": 310,
                   "y": 2800,
                   "wires": [
                       [
                           "193ec6e90595f42c"
                       ]
                   ]
               },
               {
                   "id": "13d00a2d4b97ba4a",
                   "type": "debug",
                   "z": "7e6af0015415146d",
                   "name": "Temperatur",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 890,
                   "y": 2800,
                   "wires": []
               },
               {
                   "id": "193ec6e90595f42c",
                   "type": "switch",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "property": "payload.to_state.attributes.device_class",
                   "propertyType": "msg",
                   "rules": [
                       {
                           "t": "eq",
                           "v": "temperature",
                           "vt": "str"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 470,
                   "y": 2800,
                   "wires": [
                       [
                           "7aaeeae6e7750723"
                       ]
                   ]
               },
               {
                   "id": "7aaeeae6e7750723",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.to_state.attributes.raw_value",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 670,
                   "y": 2800,
                   "wires": [
                       [
                           "13d00a2d4b97ba4a"
                       ]
                   ]
               }
            ]
            

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @rudolf1957 last edited by mickym

              @rudolf1957 sagte in Pumpe steuern über Tempdifferenz:

              Da die Sensoren bereits eingebaut sind, bekomme ich nur eine Ausgabe über eine DeviceNode wenn der darin angegebene Wert über, oder unterschritten wird. Jedes Mal muss ich warten, bis dies geschieht. Bisher bin ich daran gescheitert, die DeviceNode anders zur Ausgabe zu zwingen.

              Wie heissen den diese Nodes die Du da installiert hast?

              Schau mal im Paletten- Manager nach.

              R 1 Reply Last reply Reply Quote 0
              • R
                rudolf1957 @mickym last edited by

                @mickym Danke, für die vielen Infos! Damit sollte ich meiner DifferenzSteuerung näher kommen!

                Was mich wundert sind diese Grenzen<< Die gesetzten TempWerte kannst du vernachlässigen, sie dienen nur zum Schnellen Auslösen der Wertübergabe.

                Das NoteModul, das die Temperatur aus dem RS485 TempFühler ausliest, heißt Device, aus der Pallette "Home Assistant"

                Die Einstellmöglichkeiten von der DeviceNote habe ich unten in das Fenster eingestellt, mit der Einschränkung, dass bei "Values: trigger | action" , nur Trigger funktioniert. Wenn ich "action" aktiviere, bekommt das Modul einen Eingang, schließe ich dann eine InjectNote am Eingang an und löse eine Aktion aus, bekomme ich aber nur Fehlermeldungen - {"code":"unknown_error","message":"Integration 'sensor' does not support device automation actions"}" Alpha version: At this point anything could change or not work.

                Found an issue? Post it in issues . Have questions or comments? Post them here".

                Hier die Einstellmöglichkeiten vom der DeviceNote

                device
                Configuration
                
                Typestring
                
                    Values: trigger | action
                
                Devicestring
                    Id of the device
                Triggerobject
                    Home Assistant object of the trigger
                Actionobject
                    Home Assistant object of the action
                Capabilitiesobject
                
                Outputs
                
                    Value types:
                
                    config: config properties of the node
                    device id: device id that triggered the node
                    event data: event data received from Home Assistant
                    sent data: data sent to Home Assistant
                code_text
                

                Deine Vorschläge probiere ich später aus, jetzt muss ich erst einem raus in die Sonne ☺ und einkaufen.

                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active last edited by

                  @rudolf1957 sagte in Pumpe steuern über Tempdifferenz:

                  Home Assistant

                  Ja OK - aber dann denke ich bin ich erst mal raus - das sind Dinge die aus der Device Node kommen, die stammen von Home Assistant.

                  https://zachowj.github.io/node-red-contrib-home-assistant-websocket/node/trigger-state.html#entity-id-filter-types

                  und da kenn ich mich nicht aus. Da solltest Du deine Fragen doch lieber in einem HomeAssistant Forum stellen, das hat mit NodeRed erst mal nichts zu tun. 😉

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    rudolf1957 @mickym last edited by

                    @mickym
                    Guten Abend, ganz herzlichen Dank für deine Hilfe!
                    Ebenso auch danke allen anderen die geantwortet haben.
                    Ich bin zwar noch nicht am Ziel aber zu mindest etwas näher gekommen.
                    VG
                    Rudi🙂 🙏

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      stefan14 @rudolf1957 last edited by

                      @rudolf1957
                      Versuche es mal mit diesem flow

                      [
                          {
                              "id": "899599b8f9de1378",
                              "type": "tab",
                              "label": "Flow 2",
                              "disabled": false,
                              "info": "",
                              "env": []
                          },
                          {
                              "id": "458e3bc802ffa358",
                              "type": "api-current-state",
                              "z": "899599b8f9de1378",
                              "name": "",
                              "server": "2a08017d41c42a0a",
                              "version": 3,
                              "outputs": 1,
                              "halt_if": "",
                              "halt_if_type": "str",
                              "halt_if_compare": "is",
                              "entity_id": "sensor.28_ff641f598ee0_temperature",
                              "state_type": "num",
                              "blockInputOverrides": false,
                              "outputProperties": [
                                  {
                                      "property": "payload",
                                      "propertyType": "msg",
                                      "value": "",
                                      "valueType": "entityState"
                                  },
                                  {
                                      "property": "topic",
                                      "propertyType": "msg",
                                      "value": "Temp1",
                                      "valueType": "str"
                                  }
                              ],
                              "for": "0",
                              "forType": "num",
                              "forUnits": "minutes",
                              "override_topic": false,
                              "state_location": "payload",
                              "override_payload": "msg",
                              "entity_location": "data",
                              "override_data": "msg",
                              "x": 550,
                              "y": 540,
                              "wires": [
                                  [
                                      "c9415f769ea20817"
                                  ]
                              ]
                          },
                          {
                              "id": "fce1376ac4483678",
                              "type": "inject",
                              "z": "899599b8f9de1378",
                              "name": "",
                              "props": [
                                  {
                                      "p": "payload"
                                  },
                                  {
                                      "p": "topic",
                                      "vt": "str"
                                  }
                              ],
                              "repeat": "1",
                              "crontab": "",
                              "once": false,
                              "onceDelay": 0.1,
                              "topic": "",
                              "payload": "",
                              "payloadType": "date",
                              "x": 210,
                              "y": 560,
                              "wires": [
                                  [
                                      "458e3bc802ffa358",
                                      "e562b1ee38ae590c"
                                  ]
                              ]
                          },
                          {
                              "id": "e562b1ee38ae590c",
                              "type": "api-current-state",
                              "z": "899599b8f9de1378",
                              "name": "",
                              "server": "2a08017d41c42a0a",
                              "version": 3,
                              "outputs": 1,
                              "halt_if": "",
                              "halt_if_type": "str",
                              "halt_if_compare": "is",
                              "entity_id": "sensor.solis_temperature",
                              "state_type": "num",
                              "blockInputOverrides": false,
                              "outputProperties": [
                                  {
                                      "property": "payload",
                                      "propertyType": "msg",
                                      "value": "",
                                      "valueType": "entityState"
                                  },
                                  {
                                      "property": "topic",
                                      "propertyType": "msg",
                                      "value": "Temp2",
                                      "valueType": "str"
                                  }
                              ],
                              "for": "0",
                              "forType": "num",
                              "forUnits": "minutes",
                              "override_topic": false,
                              "state_location": "payload",
                              "override_payload": "msg",
                              "entity_location": "data",
                              "override_data": "msg",
                              "x": 520,
                              "y": 600,
                              "wires": [
                                  [
                                      "c9415f769ea20817"
                                  ]
                              ]
                          },
                          {
                              "id": "80b539375074cdfd",
                              "type": "function",
                              "z": "899599b8f9de1378",
                              "name": "function 5",
                              "func": "msg.topic = \"diff\"\nmsg.payload = msg.payload.Temp2 - msg.payload.Temp1;\nreturn msg;",
                              "outputs": 1,
                              "noerr": 0,
                              "initialize": "",
                              "finalize": "",
                              "libs": [],
                              "x": 1080,
                              "y": 560,
                              "wires": [
                                  [
                                      "19dc43570ca9090f",
                                      "61e394b2b1d96a82"
                                  ]
                              ]
                          },
                          {
                              "id": "c9415f769ea20817",
                              "type": "join",
                              "z": "899599b8f9de1378",
                              "name": "",
                              "mode": "custom",
                              "build": "object",
                              "property": "payload",
                              "propertyType": "msg",
                              "key": "topic",
                              "joiner": "\\n",
                              "joinerType": "str",
                              "accumulate": false,
                              "timeout": "",
                              "count": "2",
                              "reduceRight": false,
                              "reduceExp": "",
                              "reduceInit": "",
                              "reduceInitType": "",
                              "reduceFixup": "",
                              "x": 890,
                              "y": 560,
                              "wires": [
                                  [
                                      "80b539375074cdfd",
                                      "847e8baca31e6b10"
                                  ]
                              ]
                          },
                          {
                              "id": "19dc43570ca9090f",
                              "type": "debug",
                              "z": "899599b8f9de1378",
                              "name": "debug 6",
                              "active": true,
                              "tosidebar": true,
                              "console": true,
                              "tostatus": true,
                              "complete": "payload",
                              "targetType": "msg",
                              "statusVal": "payload",
                              "statusType": "auto",
                              "x": 1310,
                              "y": 620,
                              "wires": []
                          },
                          {
                              "id": "847e8baca31e6b10",
                              "type": "debug",
                              "z": "899599b8f9de1378",
                              "name": "debug 7",
                              "active": false,
                              "tosidebar": true,
                              "console": true,
                              "tostatus": true,
                              "complete": "payload",
                              "targetType": "msg",
                              "statusVal": "payload",
                              "statusType": "auto",
                              "x": 1070,
                              "y": 640,
                              "wires": []
                          },
                          {
                              "id": "61e394b2b1d96a82",
                              "type": "switch",
                              "z": "899599b8f9de1378",
                              "name": "",
                              "property": "payload",
                              "propertyType": "msg",
                              "rules": [
                                  {
                                      "t": "gt",
                                      "v": "1",
                                      "vt": "num"
                                  },
                                  {
                                      "t": "lt",
                                      "v": "1",
                                      "vt": "num"
                                  }
                              ],
                              "checkall": "true",
                              "repair": false,
                              "outputs": 2,
                              "x": 1390,
                              "y": 460,
                              "wires": [
                                  [
                                      "316918699f3ea2ea"
                                  ],
                                  [
                                      "0c942921a06f0cb7"
                                  ]
                              ]
                          },
                          {
                              "id": "316918699f3ea2ea",
                              "type": "api-call-service",
                              "z": "899599b8f9de1378",
                              "name": "Pumpe Ein",
                              "server": "2a08017d41c42a0a",
                              "version": 5,
                              "debugenabled": false,
                              "domain": "switch",
                              "service": "turn_on",
                              "areaId": [],
                              "deviceId": [],
                              "entityId": [
                                  "switch.hm_flur_statusanzeige_state_ch3"
                              ],
                              "data": "",
                              "dataType": "jsonata",
                              "mergeContext": "",
                              "mustacheAltTags": false,
                              "outputProperties": [],
                              "queue": "none",
                              "x": 1610,
                              "y": 400,
                              "wires": [
                                  []
                              ]
                          },
                          {
                              "id": "0c942921a06f0cb7",
                              "type": "api-call-service",
                              "z": "899599b8f9de1378",
                              "name": "Pumpe Aus",
                              "server": "2a08017d41c42a0a",
                              "version": 5,
                              "debugenabled": false,
                              "domain": "switch",
                              "service": "turn_off",
                              "areaId": [],
                              "deviceId": [],
                              "entityId": [
                                  "switch.hm_flur_statusanzeige_state_ch3"
                              ],
                              "data": "",
                              "dataType": "jsonata",
                              "mergeContext": "",
                              "mustacheAltTags": false,
                              "outputProperties": [],
                              "queue": "none",
                              "x": 1610,
                              "y": 480,
                              "wires": [
                                  []
                              ]
                          },
                          {
                              "id": "2a08017d41c42a0a",
                              "type": "server",
                              "name": "Home Assistant",
                              "version": 5,
                              "addon": false,
                              "rejectUnauthorizedCerts": true,
                              "ha_boolean": "y|yes|true|on|home|open",
                              "connectionDelay": true,
                              "cacheJson": true,
                              "heartbeat": false,
                              "heartbeatInterval": "30",
                              "areaSelector": "friendlyName",
                              "deviceSelector": "friendlyName",
                              "entitySelector": "friendlyName",
                              "statusSeparator": ": ",
                              "statusYear": "hidden",
                              "statusMonth": "short",
                              "statusDay": "numeric",
                              "statusHourCycle": "default",
                              "statusTimeFormat": "h:m",
                              "enableGlobalContextStore": false
                          }
                      ]
                      
                      R 1 Reply Last reply Reply Quote 0
                      • R
                        rudolf1957 @stefan14 last edited by

                        @stefan14
                        Hallo Stefan14, es funktioniert, nachdem ich die Geräte angepasst habe!
                        Herzlichen Dank ☺ 🙏

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        897
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        5
                        21
                        865
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo