Mal wieder virtuelle Geräte - jetzt aber richtig!

So, jetzt hab ich gleich die nächste Frage an die NodeRed-Experten.

Ich hab auf meinem Pi einen kleinen Server laufen, der mir den Status meines Automowers anzeigen kann und diesem Befehle senden kann (via API).

Nun hätte ich gerne ein Gerät in Homee, das mir den Status anzeigt:

Schalter an: Mäher mäht
Schalter aus: Mäher parkt

Ich bräuchte also einen Flow, der mir ein hih-Gerät anlegt. Der Status des Mähers kann über folgende URL abgerufen werden:
http://192.168.178.50:2345/status

In der JSON-Response finde ich dann den Status des Mähers unter „mowerStatus“:

{
batteryPercent: 99,
connected: true,
lastErrorCode: 0,
lastErrorCodeTimestamp: 0,
mowerStatus: "OK_CUTTING",
nextStartSource: "NO_SOURCE",
nextStartTimestamp: 0,
operatingMode: "AUTO",
storedTimestamp: 1602770468312,
showAsDisconnected: false,
valueFound: true,
cachedSettingsUUID: "2f535fd3-8d73-3bde-8444-6b45debfe8ab",
...
}

Der Flow sollte regelmäßig (alle 10 Sekunden) den Status prüfen und den Schalter in homee dann wie folgt umlegen:

mowerStatus ist „OK_CUTTING“ => Schalter an
mowerStatus ist „PARKED_TIMER“ oder „PARKED_PARKED_SELECTED“ => Schalter aus

Wenn der Schalter in homee eingeschaltet wird soll die folgende URL aufgerufen werden (Mower wird gestartet):
http://192.168.178.50:2345/start

Wenn der Schalter in homee ausgeschaltet wird soll die folgende URL aufgerufen werden (Mower wird geparkt):
http://192.168.178.50:2345/park

Vielleicht kann mir da jmd. nen entsprechenden Flow basteln? Der kann dann auch gerne zu den Beispielflows hinzugefügt werden. Nachdem mir @medicus07 im anderen Thread so gut geholfen hat, bin ich guter Dinge, das mein Vorhaben für die Node Red Experten hier keine große Sache ist.

Hat leider nichts gebracht :thinking:

Viel Spaß damit.

[
    {
        "id": "e312f3e4.1c445",
        "type": "http request",
        "z": "7831de18.bde6e",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "http://192.168.178.50:2345/status",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "x": 310,
        "y": 300,
        "wires": [
            [
                "b9dbb538.c94238"
            ]
        ]
    },
    {
        "id": "5d44e6d6.a0d548",
        "type": "inject",
        "z": "7831de18.bde6e",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "10",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 100,
        "y": 300,
        "wires": [
            [
                "e312f3e4.1c445"
            ]
        ]
    },
    {
        "id": "b9dbb538.c94238",
        "type": "function",
        "z": "7831de18.bde6e",
        "name": "",
        "func": "if(msg.payload.mowerStatus ===\"OK_CUTTING\"){return {payload:{\"attribute\":{\"id\":194,\"value\":1}}}}\nelse if((msg.payload.mowerStatus ===\"PARKED_TIMER\")||(msg.payload.mowerStatus ===\"PARKED_PARKED_SELECTED\")){return{payload:{\"attribute\":{\"id\":194,\"value\":0}}}}\nreturn \n\n\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 500,
        "y": 300,
        "wires": [
            [
                "fddba93.86f8e58"
            ]
        ]
    },
    {
        "id": "fddba93.86f8e58",
        "type": "homeeDevice",
        "z": "7831de18.bde6e",
        "virtual-homee": "",
        "name": "194",
        "nodeId": "194",
        "profile": "10",
        "icon": "default",
        "attributes": "[{\"id\":194,\"node_id\":194,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":0,\"target_value\":0,\"last_value\":0,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":1,\"type\":1,\"state\":1,\"last_changed\":1573065521,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"}]",
        "x": 650,
        "y": 300,
        "wires": [
            [
                "1424e8db.ff3427"
            ]
        ]
    },
    {
        "id": "1424e8db.ff3427",
        "type": "function",
        "z": "7831de18.bde6e",
        "name": "",
        "func": "if (msg.payload.targetValue === 1){return{url:\"http://192.168.178.50:2345/start\"}}\nelse if(msg.payload.targetValue ===0){return{url:\"http://192.168.178.50:2345/park\"}}\nelse\nreturn",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 820,
        "y": 300,
        "wires": [
            [
                "81eee321.6bae8"
            ]
        ]
    },
    {
        "id": "81eee321.6bae8",
        "type": "http request",
        "z": "7831de18.bde6e",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": false,
        "url": "",
        "persist": false,
        "authType": "",
        "x": 990,
        "y": 300,
        "wires": [
            []
        ]
    }
]
2 „Gefällt mir“

Super! Vielen Dank! Habs gleich importiert und funktioniert. :slight_smile:

1 „Gefällt mir“

Na das hatte ich gehofft, konnte es ja nicht sauber testen da ich ja den mover nicht habe.:crazy_face:

2 „Gefällt mir“

Ist jetzt sogar in Homekit: :slightly_smiling_face:

Vielen Dank. Hab ich eben erfolgreich auch hier für meine Frau und mich umgesetzt. :slight_smile:

So hier mal eine kleine Idee für die Sonos Anlage.

Jetzt sieht man also auch noch den Sender bzw. den Titel im Dashboard.

:wink::+1:

9 „Gefällt mir“

Ich wollte das jetzt mal so übernehmen. Hatte vorher schon den SONOS Player in der Küche nur mit Schalter und Lautstärkeregler gehabt und wollte den jetzt um Bass und Treble erweitern.

In Node Red wird mir auch alles ordentlich angezeigt, aber im homee fehlen mir die beiden Schieber für Bass und Treble. Hab das Gerät auch schon gelöscht und neu gesucht.

Hast du ne Idee woran das liegen könnte?

So, hier mal mein kleines Projekt.

Da es mir jetzt schon mehrfach passiert ist, dass ich nach dem Ausladen der Einkäufe vergessen habe den Kofferraum zu schließen, hab ich kurzerhand mal nen Flow gebaut, der sich mit meinem BMW verbindet, den Status von Kofferraum und Türen prüft und mir das dann in homee als Schalter anzeigt.

Hier mal mein Flow:

Benutzt habe ich folgendes Node Red Plugin:

Funktioniert soweit auch alles, aber ich hab noch ein kleines Problem und hoffe ihr könnt mir da auf die Sprünge helfen. In homee hab ich nur einen Schalter, obwohl ich einen Doppelschalter angelegt habe:

Hier die Konfig des homee-Nodes:

Was mach ich falsch? Wäre super wenn die beiden Schalter auch entsprechend in homee angezeigt werden.

Vielen Dank im Voraus für eure Hilfe.

1 „Gefällt mir“

Ok, ich vermute Doppelschalter geht vielleicht aktuell noch nicht.

Aber da ich das ja eigentlich eh nur als Sensoren einbinden will, hab ich die Profile entsprechend angepasst.

Jetzt hab ich die zwei Sensoren für meinen BMW in homee:

Und in Homekit wird es auch richtig dargestellt:

So passt es. :slightly_smiling_face:

Edit:
Jetzt sind auch die Fenster drin. :slightly_smiling_face:

Doch das geht ohne Probleme.
Wie hast du es probiert ? Kannst ja mal dein virtuelles Gerät hier posten.( Export und dann als json hier einstellen )

Habs inzwischen ja auf Sensoren umgestellt was für den Anwendungsfall ja sinnvoller ist.

Guck mal zwei Posts über deinem. Da ist noch ein Screenshot meines Versuchs nen Doppelschalter zu machen. Interessiert mich schon wie das geht. Für die Zukunft.

Hast du vielleicht auch ne Lösung für mein hier beschriebenes Problem?

Hast Du für jeden Schalter eine eigene Instanz Nummer vergeben, also Schalter 1 Instanz 1, Schalter 2 Instanz 2?

1 „Gefällt mir“

Wo meinst du? Bei den homee-Gerätenodes? Da hab ich alles so eingestellt wie auf dem Screenshot oben zu sehen. Wo vergebe ich denn die Instanznummern?

Du musst neben dem Attribut auf den Stift klicken und dort die Instanzen hochzählen wenn du gleiche Attribute verwendest.

2 „Gefällt mir“

Ah, jetzt hab ichs gefunden. Danke euch. Hat geklappt. :slightly_smiling_face:

Und gleich mal die HGs aufgesetzt, die mich warnen wenn der Zustand länger als 10 Minuten offen ist.

Hier am Beispiel vom Kofferraum:

Leider scheint es in der aktuellen Version einen Bug bzgl. Ausführen der Webhooks zu geben. Hab hier mal ein Ticket für den @Support erstellt.

@Micha:
Ich habe auch nochmal eine Frage zu einem Flow, der aus deiner Feder stammt soweit ich weiss.
Bei dem Flow erhalte ich eine Push Benachrichtigung, wenn noch eine Tür oder ein Fenster geöffnet sind sobald ich meine Haustür öffne. Der Flow beinhaltet auch die Möglichkeit eine ID zu filtern, die nicht in der Push angezeigt wird. Das ist bei mir natürlich die Haustür. Funktioniert aber leider nicht. Ich erhalte immer die Meldung, dass neben den anderen Fenstern und Türen auch die Haustür geöffnet wurde.

Hier ist der Flow, den ich verwendet habe.

Ich ersetze die ID „0“ durch die meiner Haustür, was leider nicht funktioniert. Hast du hier eine Idee?

Welche Id hast du da genommen ? Es muss die Attribute Id des Sensors sein.
Ich schaue mir aber gerne den Flow nochmal an.