Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread

Sorry, aber da kommt nur:
image

Edit:
Node Red hatte sich verabschiedet, da kommt das gleiche wie vorher raus
image

Stell mal bitte deinen Flow komplett als Code ein.

Da habe ich noch nicht viel

[
    {
        "id": "79b048b3c2f8bda4",
        "type": "inject",
        "z": "2067bf2b574c26cc",
        "name": "trigger",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "true",
        "payloadType": "bool",
        "x": 390,
        "y": 800,
        "wires": [
            [
                "82b3ff57.2ac61"
            ]
        ]
    },
    {
        "id": "3464b6447e6b2286",
        "type": "debug",
        "z": "2067bf2b574c26cc",
        "name": "Settings",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 940,
        "y": 800,
        "wires": []
    },
    {
        "id": "82b3ff57.2ac61",
        "type": "change",
        "z": "2067bf2b574c26cc",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "homee",
                "tot": "global"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 680,
        "y": 800,
        "wires": [
            [
                "3464b6447e6b2286"
            ]
        ]
    }
]
[
    {
        "id": "3b77d2d5.c204de",
        "type": "function",
        "z": "a00c33f0.c5d9b",
        "name": "homee filtern",
        "func": "if (Object.keys(msg.payload)[0] === \"node\")\n{return [msg]}\nif (Object.keys(msg.payload)[0] === \"user\")\n{return [null,msg];}\nif (Object.keys(msg.payload)[0] === \"homeegram\")\n{return [null,null,msg];}\nif (Object.keys(msg.payload)[0] === \"attribute\")\n{return [null,null,null,msg];}\nif (Object.keys(msg.payload)[0] === \"settings\")\n{return [null,null,null,null,msg];}\nif (Object.keys(msg.payload)[0] === \"all\")\n{return [null,null,null,null,null,msg];}\nif (Object.keys(msg.payload)[0] === \"warning\")\n{return [null,null,null,null,null,null,{payload:msg.payload.warning.message}];}\nif (Object.keys(msg.payload)[0] === \"code\")\n{return [null,null,null,null,null,null,null,msg];}\nif (Object.keys(msg.payload)[0] === \"error\")\n{return [null,null,null,null,null,null,null,null,msg];}\nelse \nreturn [null,null,null,null,null,null,null,null,null,msg];",
        "outputs": 10,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 450,
        "y": 360,
        "wires": [
            [],
            [],
            [],
            [],
            [
                "4bf615b0.35664c"
            ],
            [],
            [],
            [],
            [],
            []
        ],
        "outputLabels": [
            "Node",
            "User",
            "Homeegramm",
            "Attribute",
            "Settings",
            "All",
            "warning",
            "code",
            "",
            ""
        ],
        "icon": "node-red-contrib-homee/homee-logo.png"
    },
    {
        "id": "4bf615b0.35664c",
        "type": "change",
        "z": "a00c33f0.c5d9b",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "homee",
                "tot": "global"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 640,
        "y": 360,
        "wires": [
            []
        ]
    },
    {
        "id": "66947952.d4c29",
        "type": "inject",
        "z": "a00c33f0.c5d9b",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "GET:/settings",
        "payloadType": "str",
        "x": 110,
        "y": 360,
        "wires": [
            [
                "32bb528c.c8d97e"
            ]
        ]
    },
    {
        "id": "32bb528c.c8d97e",
        "type": "homeeApi",
        "z": "a00c33f0.c5d9b",
        "homee": "",
        "name": "homeeApi",
        "messageTypeFilter": [],
        "nodeFilter": "",
        "attributeFilter": "",
        "x": 280,
        "y": 360,
        "wires": [
            [
                "3b77d2d5.c204de"
            ]
        ]
    }
]

Schau dir das mal an.

Klappt leider auch nicht, eigentlich wollte ich nur ein paar Infos, wie UID Nummer und Firmware aus den Infos auslesen und in Datenpunkte von ioBroker schreiben

Dann weiß ich nicht was du da falsch machst. Wenn du teamviewer hast können wir da gerne gemeinsam drauf schauen.

1 „Gefällt mir“

teamviewer nicht aber teams oder skype, kann ich mir aber installieren

Sorry, alles zurück, das Problem saß mal wieder vor der Tastatur.

Ein paar Fragen hätte ich trotzdem noch, hier mal meine Settings:

  1. Unter wlan_enabled und lan_enabled sehe ich ja, mit was er verbunden ist, woran sehe ich, wenn er gar nicht verbunden ist, steht dann überall 0?

  2. Wo sehe ich wenn ein Würfel nicht verbunden ist und welcher es ist?

Ich habe leider kein Testsystem, sonst hätte ich es selbst ausprobiert

Wenn ein Cube fehlt dann wird er auch nicht unter Cube’s angezeigt.

Hallo liebe Noder,

Nach einiger Zeit habe ich wieder den Bedarf, meine HA, HomeKit und Homee-Welt weiter zu verzahnen. Ich habe allerdings keine Ahnung mehr, was ich hier vor ein paar Monaten gemacht habe, es funktioniert aber noch immer! :laughing:

Damals hatte ich Temperatur-Sensoren (Tado) in Home Assistant erfolgreich in Homee gebracht.

Jetzt brauche ich eine Sensitive Strip Tür-Sensor aus Homee in Home Assistant.

Als Alternative würde ich mein Loqed Smart Lock aus HA gerne nach Homee bringen.

Ich stehe vor Node Red und habe keine Ahnung, wie ich das angehe. Kann mir jemand auf die Sprünge helfen?

Code ist für mich wie Kartenspielen, wenn ich es Monate lang nicht mache, verlerne ich alles :face_with_hand_over_mouth: Die schöne UI von Node Red ändert das leider nicht.

Wenn du magst stehe ich dir für ein teamviewer Meeting zur Verfügung.
:wink:

5 „Gefällt mir“

Wow, vielen Dank, das ist sehr nett von dir! Manchmal ist die einfachste Lösung aber die beste, ich habe mein Problem jetzt anders gelöst, da mein Sensor von Homee aus in HomeKit ist, kann ich ihn durch ein iOS Shortcut abfragen, bevor ich das Schloss via HA direkt bediene. HA (und das darin laufende NR) ist bei mir eigentlich nur Middleware, daher will ich dort so wenig wie möglich machen.

1 „Gefällt mir“

Hallo zusammen,
ich habe mit node-red-node-openweathermap zwei virtuelle Netatmo Wetterstationen gefüttert.
Für die aktuellen Werte klappt das ganz gut und ist etwas aktueller und genauer, als die Wetter-Kachel in homee - liegt vermutlich am kürzeren Update-Intervall.

An der Wettervorhersage der nächsten Tage knobele ich allerdings noch etwas und stoße an meine Grenzen.

Der Node openweathermap-in für die 5-Tages-Vorschau liefert die Daten in Arrays von 0-39. Der Zeitabstand dazwischen liegt bei 3 Stunden.

Mit einem function-node kann ich je 10 Pakete so selektieren:

var inmsg = {payload: msg.payload};
var outmsg = [];
for (let i = 0; i <= 9; i++)
{
  outmsg.push(inmsg.payload[i].main.temp_min);
}
return {payload: outmsg};

Ein calculator-node wirft aus dem array das Minimum in ein Template. Das Maximum hole ich genauso und füge es mit join zusammen. Den string übergebe ich dann an das Gerät:

let MinTemp = msg.payload[0].minvalue === undefined ? "": msg.payload[0].minvalue
let MaxTemp = msg.payload[1].maxvalue === undefined ? "": msg.payload[1].maxvalue
var MinMaxStr = `${MaxTemp} °C / ${MinTemp} °C`;
node.send ({payload:{"attribute":{"id":4014,"data":MinMaxStr}}});

Doch jetzt kommt mein Knackpunkt:
Wie kann ich die arrays nach Datum filtern, also „Rest von heute“ (könnte ich auch weglassen, habe ich ja schon als aktuelle Ist-Werte), „morgen“, „übermorgen“, usw…?
Daten liegen als * dt - epoch timestamp und als * dt_text - 2023-03-24 21:00:00 vor.

Der ganze Flow hier:
flows.pdf (36,8 KB)

Wer hat eine Idee?

1 „Gefällt mir“

Hey @Micha oder auch jede(r) Andere der’s weiß.

Gibt es mit node-red die Möglichkeit die Core-Version von homee auszulesen und abzuspeichern?

Hintergrund: Ich lasse mir nach jedem Neustart von homee einen Eintrag in mein Logfile schreiben für die Uptime. Das würde ich nun gerne noch um die Versionsnummer erweitern. Das läuft aber schon so lange, ich habe keinen Plan mehr wie ich das gemacht hab :smiley:

Ja klar geht das. Die Core Version sollte im Settings Enthalten sein.
Edit Abruf mit get:settings und das Ergebnis kommt dann auf msg.payload.settings.version

1 „Gefällt mir“

Am besten ist es die settings in die globale von homee zu speichern. Dann ist diese immer verfügbar. Bei Änderungen einfach auch gleich neu speichern.
Das API Node gibt dir ja alles schön aus.

1 „Gefällt mir“

Das muss ich dann aber immer regelmäßig anfordern über Get:settings oder gibt’s da einen „automatischen“ Weg?
Soll ja automatisch im Log eingetragen werden und die Kleine nicht überlasten

Ich habe in NR über mqtt einen Wasserzähler eingebunden und diesen als virtuellen Wasserzähler in Homee eingebunden.

Dazu hier der Beitrag Opensprinkler wasseruhr mqtt homee

Nun meine Frage, wie ich die Daten in NodeRed unter Homeassistant die sensor entity bekomme.
image

Unter „opensprinkler/sensor/flow“ wirft er am Ende der Laufzeit die Gesamt Wassermenge aus. Bei 10 Litern z.B.:
{„count“:10,„volume“:10.00}

Kann mir jemand helfen, wie ich die Daten in den HA Sensor bekomme?

Hi, spiele eben wieder mit dem Popp Z-Rain als vhih gerät rum…woran ist eigentlich festgemacht welche Werte eines vhih Gerätes als Messwert oder als Gerätestatus angezeigt werden?

VG
Andi :cowboy_hat_face:

Schau doch mal in den flow von der Ecowitt-Anbindung rein. Da ist auch ein Regensensor dabei.

2 „Gefällt mir“