Variablenzustand über ein Intervall überwachen

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Benutzeravatar
Henke
Beiträge: 1500
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 304 Mal

Re: Variablenzustand über ein Intervall überwachen

Beitrag von Henke » 05.02.2023, 10:22

Kopieren,Node Red Import, EInfügen
Damit werden die Nodes, in meinem Fall Testnodes, eingefügt.

Shawn26
Beiträge: 55
Registriert: 21.10.2017, 18:10
Hat sich bedankt: 19 Mal
Danksagung erhalten: 1 Mal

Re: Variablenzustand über ein Intervall überwachen

Beitrag von Shawn26 » 05.02.2023, 11:05

@Henke

Ahhh Ok. Das war mir nicht klar. Aber wofür brauche ich denn die Injects (True/False)? Dafür habe ich doch meine Variable die entweder auf "true" oder "false" steht.
In diesem Fall werden aber die 10 Sekunden Wartezeit auch auf den Fall "true" angewandt, oder?

Also ich möchte ja "nur" das er bei Anwesenheit (Variable=false : sprich Abwesenheit) X Minuten wartet und dann den Status auf Abwesend setzt und eine Sprachausgabe erfolgt.
Bei Anwesenheit (Variable=true) soll er direkt den Status auf Anwesenheit setzten und mit einem Delay von 2 Minuten die Sprachausgabe erfolgen.

Ich habe es mal importiert und getestet.
Nachdem ich Abwesend bin wartet er in meinem Fall 60 Sekunden und es kommt die Sprachausgabe das ich Abwesend bin und der Dashboard Eintrag wird auf Abwesend gesetzt.
Stelle ich danach mich wieder sofort auf Anwesend passiert nichts mehr. Das Dashboard ändert sich nicht und die Sprachausgabe kommt auch nicht.

Das sehe ich in diesem Beispiel nicht oder ich habe ein Verständnisproblem.

Shawn26
Dateianhänge
The_Flow.jpg

Benutzeravatar
Henke
Beiträge: 1500
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 304 Mal

Re: Variablenzustand über ein Intervall überwachen

Beitrag von Henke » 05.02.2023, 12:17

Code: Alles auswählen

[
    {
        "id": "344f11e5506b2f49",
        "type": "trigger",
        "z": "dfdb2036.ae7008",
        "name": "",
        "op1": "",
        "op2": "",
        "op1type": "nul",
        "op2type": "payl",
        "duration": "10",
        "extend": false,
        "overrideDelay": false,
        "units": "s",
        "reset": "true",
        "bytopic": "all",
        "topic": "channel",
        "outputs": 1,
        "x": 1670,
        "y": 4200,
        "wires": [
            [
                "dc941377acff44f7"
            ]
        ]
    },
    {
        "id": "10cd093ecfa8200b",
        "type": "inject",
        "z": "dfdb2036.ae7008",
        "name": "true",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "true",
        "payloadType": "bool",
        "x": 1290,
        "y": 4180,
        "wires": [
            [
                "c11fca3be84be581"
            ]
        ]
    },
    {
        "id": "e1f50cfa6fda79f5",
        "type": "inject",
        "z": "dfdb2036.ae7008",
        "name": "false",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "false",
        "payloadType": "bool",
        "x": 1290,
        "y": 4240,
        "wires": [
            [
                "c11fca3be84be581"
            ]
        ]
    },
    {
        "id": "ef1c78518583094e",
        "type": "debug",
        "z": "dfdb2036.ae7008",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "counter",
        "x": 1945,
        "y": 4180,
        "wires": [],
        "l": false
    },
    {
        "id": "7f9f857b0a01bc70",
        "type": "switch",
        "z": "dfdb2036.ae7008",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 1650,
        "y": 4160,
        "wires": [
            [
                "dc941377acff44f7"
            ]
        ]
    },
    {
        "id": "c11fca3be84be581",
        "type": "rbe",
        "z": "dfdb2036.ae7008",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 1510,
        "y": 4180,
        "wires": [
            [
                "7f9f857b0a01bc70",
                "344f11e5506b2f49"
            ]
        ]
    },
    {
        "id": "dc941377acff44f7",
        "type": "rbe",
        "z": "dfdb2036.ae7008",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 1830,
        "y": 4180,
        "wires": [
            [
                "ef1c78518583094e"
            ]
        ]
    }
]

Shawn26
Beiträge: 55
Registriert: 21.10.2017, 18:10
Hat sich bedankt: 19 Mal
Danksagung erhalten: 1 Mal

Re: Variablenzustand über ein Intervall überwachen

Beitrag von Shawn26 » 05.02.2023, 15:15

@Henke

Vielen Dank. Das war es. Ich bin ganz ehrlich da wäre ich nie so hinter gekommen, aber es macht wieder Einiges deutlicher.

Habe da noch einen Wunsch an dem ich arbeite, aber das betrifft die Dokumentation von Zeit wie lang eine "Aktion" gebraucht hat. Das schreibe ich mal woanders.

Shawn26

Antworten

Zurück zu „RedMatic“