Mal wieder virtuelle Geräte - jetzt aber richtig!

ok.
Schau ich mir morgen mal genauer an.

Danke!

Uhh fein :blush: wollte auch schon danach fragen.

Hallo zusammen,
Ich habe eine vermutliche einfache Frage an die Profis, kriege es aber selbst gerade nicht hin:

Ich habe mittlerweile diverse Geräte mit Tasmota über hih/mqtt/ioBroker in meinen homee eingebunden.
Seit kurzem auch eine schicke Gosund P1-Steckdosenleiste (3 Steckdosen & 1 usb) mit vier Schaltern.
Alles funktioniert via iOS-App und mit der webapp wie gewünscht, heißt ich habe vier Schalter im (virtuellen) Gerät zum bedienen.
Meine Frau hat aber ein Android-phone und somit die Android-App. In dieser werden mir bei dem Gerät leider nur zwei der vier Schalter angezeigt.
Dasselbe habe ich auf nem Android-tablet :confused:.

Kann ich den Flow irgendwie modifizieren oder kennt die Android-App tatsächlich nur Geräte mit zwei Schaltern?

Wenn gewünscht kann Ich auch gerne mal den Flow einstellen.

Vielen Dank schonmal für Tipps🙂

Wenn es in der Webapp passt und Android nicht dann ist das ein Android Problem.

Hi Micha,
Das habe ich schon fast befürchtet! :unamused:
Dann bleibt mir wohl nichts anderes übrig, als auf die (von vielen geforderte) Verbesserung der Android- app zu hoffen bzw. die Steckdosenleiste als Einzelsteckdosen in nodered anzulegen…:face_with_raised_eyebrow: dann habe ich halt vier Geräte gewonnen statt einem …

Vg

Naja - das wäre jetzt eher Zufall, wenn das mit einer zukünftigen Android Version behoben wäre. Poste das doch lieber noch mal in den Android Bereich, damit @Susi eine Chance hat den Fehler zu finden und zu beheben, auch wenn’s im Zusammenhang mit einem virtuellen Device steht und es sicher keinen offiziellen Support gibt. Werde das mit einem Problem mit einem virtuellen HEM auch tun, wenn ich Zeit finde.

Hallo dezebruar.
Nachdem ich jetzt völlig neu im NR-Geschäft bin und die 1k+ Beiträge hier durch habe, würde ich gerne deinen Flow übernehmen… Ich brauche einen Einstieg :upside_down_face:
Leider will sich die PDF bei mir nicht öffnen. Könntest Du Deinen Flow vlt. nochmal anderweitig zur Verfügung stellen.
VG Florian

Die pdf kannst du nicht öffnen sondern nur in NR importieren. Die pdf ist nur eine umbenannte json Datei.

Alternativ kannst du viele flows auch auf github finden.

OMG :man_facepalming:
Danke! Ich werde es gleich morgen testen…

Also ich habe den Flow von @fisch als Vorlage genommen und angefangen, meinen eigenen zu bauen. Dazu habe ich noch folgende Fragen:

  • Kann ich eigentlich noch alle Attribute eines Devices in einem JSON File wie in den früheren Versionen von @stfnhmplr sehen?
  • Ist der Status Text des Profils „Toröffner“ anpassbar?
  • Ist es richtig, dass in diesem Profil keine Schalter angezeigt werden, auch wenn ich die Attribute hinzufüge?
  • Gibt es ein Icon für ein Doppeltor, welches auch einseitig geöffnet angezeigt wird (ich weiß, ist sehr speziell)

Ich bin jetzt soweit, dass ich als Profil „Dimmbare Steckdose“ verwende, somit Schalter und auch einen Dimmer einbauen kann. Über den Dimmer übergebe ich an Data meine eigenen Status Texte. Übrigens bekomme ich es nicht hin, den Dimmer ganz oben noch über den Schaltern zu platzieren :frowning: Auch das ist funktional unwichtig, aber so werden immer die Stati der Schalter als Erstes angezeigt. Die sind hier aber eher unwichtig.

Sobald ich meinen Flow fertig habe, werde ich den hier mal posten.

1 „Gefällt mir“

Hier mein Torantrieb Flow. Gewinnt sicher kein Schönheitswettbewerb.
Nochmals meine Fragen dazu:

[
    {
        "id": "14ec5c5a.50e954",
        "type": "tab",
        "label": "Hörmann Torantrieb",
        "disabled": false,
        "info": ""
    },
    {
        "id": "889c85ce.38f6d8",
        "type": "ioBroker get",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor:1.DOOR_STATE",
        "topic": "hm-rpc.1.00241BE989EDE9.1.DOOR_STATE",
        "attrname": "payload",
        "payloadType": "value",
        "x": 160,
        "y": 180,
        "wires": [
            [
                "e284151.cd4f6e8",
                "eaaa676e.1f7fb8",
                "b2f09f48.469f9"
            ]
        ]
    },
    {
        "id": "3d6e7d9c.5a9c22",
        "type": "ioBroker get",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor:1.DOOR_COMMAND",
        "topic": "hm-rpc.1.00241BE989EDE9.1.DOOR_COMMAND",
        "attrname": "payload",
        "payloadType": "value",
        "x": 180,
        "y": 340,
        "wires": [
            []
        ]
    },
    {
        "id": "3d18b4c9.487e7c",
        "type": "inject",
        "z": "14ec5c5a.50e954",
        "name": "10s",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "10",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 280,
        "wires": [
            [
                "889c85ce.38f6d8",
                "3d6e7d9c.5a9c22"
            ]
        ]
    },
    {
        "id": "eaaec19a.3407",
        "type": "comment",
        "z": "14ec5c5a.50e954",
        "name": "Commands",
        "info": "Nop - 0\nOpen - 1\nStop - 2\nClose - 3\nPArtial Open - 4",
        "x": 170,
        "y": 380,
        "wires": []
    },
    {
        "id": "ee65fe9b.26288",
        "type": "comment",
        "z": "14ec5c5a.50e954",
        "name": "States",
        "info": "Closed - 0\nOpen - 1\nPartial Open - 2\nUnknown (moving) - 3",
        "x": 170,
        "y": 220,
        "wires": []
    },
    {
        "id": "14082a9.8014ad5",
        "type": "homeeDevice",
        "z": "14ec5c5a.50e954",
        "virtual-homee": "",
        "name": "Eingangstor",
        "nodeId": "730",
        "showNodeId": true,
        "profile": "11",
        "icon": "nodeicon_swinggatedouble",
        "attributes": [
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 10,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "unit": "text",
                "step_value": 1,
                "editable": 1,
                "state": 1,
                "last_changed": 1574494369,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "unbekannt",
                "id": 731,
                "type": 2,
                "node_id": 730
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 3,
                "current_value": 1,
                "target_value": 1,
                "last_value": 0,
                "unit": "n/a",
                "step_value": 1,
                "editable": 0,
                "state": 1,
                "last_changed": 1572873723,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "id": 732,
                "type": 10,
                "node_id": 730
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 100,
                "target_value": 100,
                "last_value": 100,
                "unit": "n/a",
                "step_value": 10,
                "editable": 0,
                "state": 1,
                "last_changed": 1597522878,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "unbekannt",
                "name": "",
                "id": 733,
                "type": 15,
                "node_id": 730
            },
            {
                "state": 1,
                "instance": 1,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "unit": "Auf",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1600374131,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 734,
                "type": 1,
                "node_id": 730
            },
            {
                "state": 1,
                "instance": 2,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "unit": "Links auf",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1600374611,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 735,
                "type": 1,
                "node_id": 730
            },
            {
                "state": 1,
                "instance": 3,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "unit": "Stop",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1600374616,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 736,
                "type": 1,
                "node_id": 730
            },
            {
                "state": 1,
                "instance": 4,
                "minimum": 0,
                "maximum": 1,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "unit": "Zu",
                "step_value": 1,
                "editable": 1,
                "last_changed": 1600376661,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 737,
                "type": 1,
                "node_id": 730
            }
        ],
        "statusTemplate": "",
        "x": 690,
        "y": 220,
        "wires": [
            [
                "eae8edcb.8351c"
            ]
        ]
    },
    {
        "id": "b2f09f48.469f9",
        "type": "function",
        "z": "14ec5c5a.50e954",
        "name": "Set Door State value",
        "func": "return {payload:{\"attribute\": {\"id\":732,\"value\": parseInt(msg.payload)}}}\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 440,
        "y": 160,
        "wires": [
            [
                "14082a9.8014ad5"
            ]
        ]
    },
    {
        "id": "e284151.cd4f6e8",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "Set Door state data",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":731,\"value\":0,\"data\":\"geschlossen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":731,\"value\":1,\"data\":\"Beide offen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":731,\"value\":2,\"data\":\"Links offen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "3",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":731,\"value\":3,\"data\":\"Tor fährt\"}}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 430,
        "y": 200,
        "wires": [
            [
                "14082a9.8014ad5"
            ]
        ]
    },
    {
        "id": "eaaa676e.1f7fb8",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "Set Door Position",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "0",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":733,\"value\":100,\"data\":\"geschlossen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "1",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":733,\"value\":0,\"data\":\"Beide offen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "2",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":733,\"value\":80,\"data\":\"Links offen\"}}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "3",
                "fromt": "str",
                "to": "{\"attribute\":{\"id\":733,\"value\":50,\"data\":\"Tor fährt\"}}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 430,
        "y": 240,
        "wires": [
            [
                "14082a9.8014ad5"
            ]
        ]
    },
    {
        "id": "eae8edcb.8351c",
        "type": "switch",
        "z": "14ec5c5a.50e954",
        "name": "ID?",
        "property": "payload.attributeId",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "734",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "735",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "736",
                "vt": "num"
            },
            {
                "t": "eq",
                "v": "737",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 4,
        "x": 870,
        "y": 200,
        "wires": [
            [
                "ab3e974a.3ae838",
                "d596de12.c8423"
            ],
            [
                "d596de12.c8423",
                "fbf75c92.63904"
            ],
            [
                "d596de12.c8423",
                "2264e47.dad691c"
            ],
            [
                "d596de12.c8423",
                "f3abe21c.416e9"
            ]
        ]
    },
    {
        "id": "ab3e974a.3ae838",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "command message ",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1080,
        "y": 120,
        "wires": [
            [
                "29928b43.b799c4"
            ]
        ]
    },
    {
        "id": "d596de12.c8423",
        "type": "function",
        "z": "14ec5c5a.50e954",
        "name": "Reset Switch",
        "func": "var attrid = msg.payload.attributeId\nreturn {payload:{\"attribute\": {\"id\":attrid,\"value\":0 }}}\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 450,
        "y": 60,
        "wires": [
            [
                "14082a9.8014ad5"
            ]
        ]
    },
    {
        "id": "830dfe7a.5096f",
        "type": "inject",
        "z": "14ec5c5a.50e954",
        "name": "test init",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "true",
        "payloadType": "str",
        "x": 1140,
        "y": 380,
        "wires": [
            []
        ]
    },
    {
        "id": "29928b43.b799c4",
        "type": "ioBroker out",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor auf execute",
        "topic": "hm-rega.0.5067.ProgramExecute",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1310,
        "y": 120,
        "wires": []
    },
    {
        "id": "bd74074d.15a608",
        "type": "ioBroker out",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor zu execute",
        "topic": "hm-rega.0.5092.ProgramExecute",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1310,
        "y": 300,
        "wires": []
    },
    {
        "id": "f3abe21c.416e9",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "command message ",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1080,
        "y": 300,
        "wires": [
            [
                "bd74074d.15a608"
            ]
        ]
    },
    {
        "id": "2264e47.dad691c",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "command message ",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1080,
        "y": 240,
        "wires": [
            [
                "af78ab53.7ce868"
            ]
        ]
    },
    {
        "id": "fbf75c92.63904",
        "type": "change",
        "z": "14ec5c5a.50e954",
        "name": "command message ",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1080,
        "y": 180,
        "wires": [
            [
                "11cb2bbf.f7ecc4"
            ]
        ]
    },
    {
        "id": "11cb2bbf.f7ecc4",
        "type": "ioBroker out",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor partial auf execute",
        "topic": "hm-rega.0.5101.ProgramExecute",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1330,
        "y": 180,
        "wires": []
    },
    {
        "id": "af78ab53.7ce868",
        "type": "ioBroker out",
        "z": "14ec5c5a.50e954",
        "name": "Eingangstor stop execute",
        "topic": "hm-rega.0.5110.ProgramExecute",
        "ack": "false",
        "autoCreate": "false",
        "stateName": "",
        "role": "",
        "payloadType": "",
        "readonly": "",
        "stateUnit": "",
        "stateMin": "",
        "stateMax": "",
        "x": 1310,
        "y": 240,
        "wires": []
    }
]

Ich freue mich auf Verbesserungsvorschläge :slight_smile:

Nein das kannst du im Augenblick nicht

Was genau meinst du damit?
Die Attribute sollen irgendwann bearbeitbar sein

Wenn das Profil nicht vorsieht dann wird das auch nicht angezeigt egal was da in den Attributen steht

Ein Zweiflügliges Tor ist glaube ich dabei.

2 „Gefällt mir“

Wie @Micha bereits geantwortet hat, gibt es so etwas nicht mehr. Wofür würdest du so etwas denn haben wollen?

Vielen Dank @Micha für Deine Antworten!

Ich meinte den Status „offen, geschlossen“ und insbesondere „gekippt“. Aber ich interpretiere aus Deinen Antworten, dass diese fest am Profil hängen und aktuell nicht angepasst werden können.

Danke und VG
Möllo

Das mit diesen Attributen müsste man mal testen ob der Text dort zu ändern geht.

Hallo @stfnhmplr,

Für einen schnelleren Überblick der Settings z.B. welche Instanz habe ich an welchem Attribut verwendet. Aber das ist nicht lebenswichtig sondern meinerseits eher Gewohnheit.

Die GUI finde ich ansonsten prima, die Erstellung der Devices geht schneller und einfacher.
Dazu hätte ich ggf. Wünsche bzw. Anregungen:

  • die Attribute in der Reihenfolge verschieben zu können. Natürlich kann ich die IDs ändern, das wird dann nur bei mehreren Attributen unübersichtlich.
  • Auch wäre die alphabetische Anordnung der selektierbaren Profile, Attribute oder Icons hilfreich. Aktuell ist es etwas zeitaufwendiger, einen Eintrag zu suchen bzw. zu finden.

Bitte nicht falsch verstehen, das ist kein Meckern sondern nur mein persönliches Feedback, nachdem ich jetzt wieder mal etwas mehr in NodeRed gearbeitet habe seit dem letzten Update.
Du machst einen super Job :+1:

Du kannst ein Gerät anlegen und dann dieses Gerät exportieren. Der Exportjson enthält die Attribute auf einen Blick.
Nun könntest du diese bearbeiten und wieder importieren und schon ist dein Gerät angepasst.

VG

Stimmt

Den gekippt kannst du ändern indem du das Data Attribut änderst, offen und geschlossen kannst du nicht ändern. Das sollte aber nicht das Problem sein, da du dieses in NR abfangen kannst.

Hier ist es nach den Profilnummern angeordnet, daher wird es aktuell so angezeigt.

Es gibt eine fortlaufende Liste mit den Profilen und Attributen und diese bekommen eine deutsche Übersetzung angehangen, daher ist diese Reihenfolge.

Neue Attribute und Profile mit neuen höheren Nummern kommen entsprechend am Ende.

1 „Gefällt mir“