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

Ich will doch einfach nur das was in node-red ankommt an die HA Integration weiterleiten, damit ich das was aus der Froggit kommt sowohl in node-red als auch in HA nutzen kann. Muss ich mich dafür wirklich noch in mqqtt einarbeiten?

Was für ein Integration? Ich kenn keine Nod Red Home Assistant Integration

Musst Du nicht.
Kannst ja wie schon beschrieben auch einfach die Ecowitt Integration in Home Assistant verwenden. :wink:

Btw. Es gibt eine Home Assistant Palette für Node Red. Über diese hast Du zugriff und Kontrolle über alle Geräte die Du in Home Assistant integriert hast.

Gruß
Osorkon

Sehr witzig…

Drücke ich mich wirklich so blöd aus?

  • Ich will keine Alternative
  • Ich möchte meine bestehende Installation behalten
  • Ich suche eine pragmatische Lösung um 2 Zentralen die die gleiche Schnittstelle verwenden zu bedienen, da ich in Ecowitt eben nur eine IP angeben kann und das ist die IP von node-red. Also will ich das was an node-red ankommt einfach an die IP mit der HA-Ecowitt-Integration weiterleiten.

Weil mein Skill aber nicht ausreicht habe ich die Frage hier im Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread gestellt.
Wenn das nicht möglich ist, gut kann ich mit leben - kann ich mir aber nicht vorstellen.

Ich denke @Osorkon versucht nur dir zu helfen…

Das ist ja auch ganz lieb von Ihm, aber es ist keine Hilfe wenn man nach einer speziellen Lösung sucht und irgendwelche Alternativen vorgeschlagen bekommt, die einen ja nicht weiterbringen.

Wenn ich einen Stau umfahren will, will ich das doch mit meinem Auto tun und nicht auf Bus, Bahn oder Taxi verwiesen werden… :frowning:

1 „Gefällt mir“

Sendet die Wetterstation Intervall mäßig oder wie sieht es mit dem senden aus ? Wie kommt die Nachricht der Wetterstation bei Node red an ?
Grundsätzlich kannst du die eingehenden Nachrichten auch weiterleiten.

Habe Dir angeboten die Überholspur zu nutzen. Hast ja endlich ein Gefährt das schneller als 120 läuft. :wink:

z.B. an einem MQTT Broker.

Aber ich ziehe mich hier mal unauffällig zurück.
Und lasse die Node Red Gurus arbeiten.

Gruß
Osorkon

Gurus hört sich leicht negativ behaftet an.
:joy:

Genau das möchte er sich ja scheinbar nicht antun.

Wie arbeitet denn die Ecowitt Integration?

Ja genau, alle 16 Sekunden wird eine (ich glaube) .json gesendet, die etwa so aussieht:

{"PASSKEY":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","stationtype":"GW1000A_V1.6.8","dateutc":"2024-10-03 20:58:12","tempinf":"78.8","humidityin":"50","baromrelin":"29.935","baromabsin":"29.196","tempf":"48.2","humidity":"96","winddir":"13","windspeedmph":"0.00","windgustmph":"0.00","maxdailygust":"8.05","solarradiation":"0.00","uv":"0","rainratein":"0.000","eventrainin":"0.000","hourlyrainin":"0.000","dailyrainin":"0.020","weeklyrainin":"1.512","monthlyrainin":"1.331","yearlyrainin":"35.051","totalrainin":"35.051","temp1f":"44.60","pm25_ch2":"4.0","pm25_avg_24h_ch2":"6.3","lightning_time":"1726762456","lightning_num":"0","lightning":"31","wh65batt":"0","batt1":"0","pm25batt2":"4","wh57batt":"5","freq":"868M","model":"GW1000_Pro"}

Jaaaa, jetzt müsste ich nur noch wissen wie, bzw was ich falsch mache :smiley:

Du verstehst es wirklich nicht, oder?

Aber trotzdem danke, ich weiß deine Hilfestellung zu schätzen, Smarthomenutzer sind nun mal nicht alle gleich und der Weg der für dich logisch und einfach scheint ist für andere (um es in deinen Worten auszudrücken) eine Qual… :beers:

Keine Ahnung, aber es sollte ihr doch egal sein ob sie die Daten von der Froggit oder node-red bekommt, oder?

In der Ecowitt App schicke ich in der benutzerdefinierten Wetterapp die Daten an

Server IP: http://IP
Pfad: weather
Port: 1880

Protokolltyp ist Ecowitt

Tausche ich IP, Pfad und Port für HA aus kommen die Daten auch dort an.
Darum dachte ich mir ich leite das was in nodered ankommt einfach an HA weiter. Aber etnweder node-red verändert mir die Daten oder schickt nichts weiter :frowning:

Dann passt das doch super,
Die Daten die am http_in in Node red ankommen dann an ein http_out weiterleiten dann sollten die Daten an HA weitergeleitet werden.

Es gibt ja keinen http_out :frowning:
Und bei http-request z.b. bekomme ich keine, bzw. eine veränderte Ausgabe :frowning:

[
    {
        "id": "ce94fd79911c194f",
        "type": "http in",
        "z": "184c1c8357d5f4f2",
        "name": "",
        "url": "/api",
        "method": "put",
        "upload": false,
        "swaggerDoc": "",
        "x": 220,
        "y": 180,
        "wires": [
            [
                "2691a13cd1c496cd"
            ]
        ]
    },
    {
        "id": "2691a13cd1c496cd",
        "type": "http request",
        "z": "184c1c8357d5f4f2",
        "name": "",
        "method": "PUT",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "192.168.178.61:1880/api",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 410,
        "y": 260,
        "wires": [
            []
        ]
    }
]

Ja du hast Recht , war mein Fehler.
Du kannst die Nachricht mit dem Request Node weiterleiten.

Habe das getestet und es funktioniert 1:1 .

2 „Gefällt mir“

Bei mir leider nicht, kommt nur eine leere msg raus. Keine Ahnung was da schief läuft. Vielleicht bin ich für solche Coder-Zentralen einfach nicht smart genug… Aber trotzdem Danke @Micha

An welcher Stelle kommt denn eine leere msg ?

Ich glaube nicht das es bei dir nicht funktionieren soll.
Die Nachricht von der Wetterstation kommt in node red an und genau an dieser stelle fängst du selbige ab und sendet die in ein request zum HA.

Ich habe einen debug-node dahinter gesetzt, da steht nichts drin. Dann habe ich die IP:port von Node-red mit einem anderen Pfad genommen und dahin weitergeleitet, dort kommt auch nichts an.

Ich stell dir mal ein Beispiel zusammen und du schaust mal ob es klappt.

[
    {
        "id": "72bd38d95d97ef31",
        "type": "inject",
        "z": "b0fa15c342fc217c",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{\"Name\":\"franz\"}",
        "payloadType": "json",
        "x": 200,
        "y": 140,
        "wires": [
            [
                "dc5cc6205adfb716"
            ]
        ]
    },
    {
        "id": "dc5cc6205adfb716",
        "type": "http request",
        "z": "b0fa15c342fc217c",
        "name": "",
        "method": "PUT",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "localhost:1880/put1",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 390,
        "y": 140,
        "wires": [
            [
                "1d86bcf69c44770c"
            ]
        ]
    },
    {
        "id": "5456989bd55d0772",
        "type": "http in",
        "z": "b0fa15c342fc217c",
        "name": "",
        "url": "/put1",
        "method": "put",
        "upload": false,
        "swaggerDoc": "",
        "x": 180,
        "y": 220,
        "wires": [
            [
                "adf3a6fd2d9297be",
                "990e9e6113c609a7",
                "92c1e50c5345cc88"
            ]
        ]
    },
    {
        "id": "adf3a6fd2d9297be",
        "type": "debug",
        "z": "b0fa15c342fc217c",
        "name": "debug 98",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 360,
        "y": 220,
        "wires": []
    },
    {
        "id": "990e9e6113c609a7",
        "type": "http request",
        "z": "b0fa15c342fc217c",
        "name": "",
        "method": "PUT",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "localhost:1880/put2",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 370,
        "y": 260,
        "wires": [
            [
                "5dd71d8c366933ee"
            ]
        ]
    },
    {
        "id": "1d86bcf69c44770c",
        "type": "debug",
        "z": "b0fa15c342fc217c",
        "name": "debug 99",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 580,
        "y": 140,
        "wires": []
    },
    {
        "id": "5dd71d8c366933ee",
        "type": "debug",
        "z": "b0fa15c342fc217c",
        "name": "debug 100",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 590,
        "y": 260,
        "wires": []
    },
    {
        "id": "be7d6938439e1ef8",
        "type": "http in",
        "z": "b0fa15c342fc217c",
        "name": "",
        "url": "/put2",
        "method": "put",
        "upload": false,
        "swaggerDoc": "",
        "x": 180,
        "y": 340,
        "wires": [
            [
                "48f0ea8bb81ab90e",
                "40460cb78a8ed43c"
            ]
        ]
    },
    {
        "id": "48f0ea8bb81ab90e",
        "type": "debug",
        "z": "b0fa15c342fc217c",
        "name": "debug 101",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 370,
        "y": 340,
        "wires": []
    },
    {
        "id": "92c1e50c5345cc88",
        "type": "http response",
        "z": "b0fa15c342fc217c",
        "name": "",
        "statusCode": "",
        "headers": {},
        "x": 350,
        "y": 300,
        "wires": []
    },
    {
        "id": "40460cb78a8ed43c",
        "type": "http response",
        "z": "b0fa15c342fc217c",
        "name": "",
        "statusCode": "",
        "headers": {},
        "x": 350,
        "y": 380,
        "wires": []
    }
]

Teste das mal bitte so wie es ist.

So sollte es dann bei dir ausschauen.

2 „Gefällt mir“

Ja, das sieht genau so aus. Beim weiterleiten der Wetterstation kommt aber:

grafik

Warum wird das überhaupt überprüft? Es soll doch nur weitergeleitet werden…
Und an Position 31 und 32 ist noch der Passkey…

Um dir hier genauer zu helfen könntest du mir mal die gesamte eingehende Nachricht von der Wetterstation zusenden. Gerne kannst du einige Sachen verfremden jedoch nicht den Part der den Fehler verursacht.
Hast du denn beim Testen direkt die Werte von der Wetterstation genommen oder eine Kopie dieser Werte?

Ich habe direkt die Werte der Wetterstation genommen, also das was von der Wetterstation an node-red geschickt wird.

reicht das so, habe nur ein paar stellen des Keys ausgeschwärzt oder brauchst du es als Text?