Mal wieder virtuelle Geräte - jetzt aber richtig!

Hi, ich bin grad am verzweifeln. Ich wollte die Anwesenheit meiner Frau und mir mittels FritzBox in homee nutzbar machen. Es wird auch richtig erkannt, aber wie zum Teufel bekomme ich nun das virtuelle homee Device geschalten?


1 „Gefällt mir“

@stretzms

Habe ich mich noch nicht getraut, war grad viel Arbeit, aber im Moment läuft die Sonos http API sowieso nicht richtig, wenn alles läuft und ich die einzelnen Schritte im Schlaf erledigen kann. Werde ich einmal neu starten. Ich nehme jedoch an, dass es auch bei mir weg ist…

Was genau steht in Deiner Funktion?

node.send({payload:{„id“:90,“value“:msg.payload}})

oder du nutzt einen Change node und setzt den Wert für ID 90 jeweils auf 0 oder 1.

Genau, ich nutze einen Change node.
grafik
Dann habe ich 2 Function nodes, jeweils für anwesend/abwesend, 1/0.
grafik
Im Debug node sehe ich auch die Änderung wenn ich nicht im WLAN bin, nur bekomme im homee Device nicht den entsprechenden Status.

Wie lautet die Debug Ausgabe?

ChangeNode Beispiel:

grafik

Den Change node habe ich nach ner Anleitung auf heise.de erstellt. Ich bekomme value: 1 bei im WLAN angemeldetem Handy und value: 0 bei nicht angemeldet. Wenn ich aber die ID und den Wert an den homee Device node sende passiert nix, keine Änderung des Status.

Sorry, aber so kommen wir nicht weiter.
Im Debugfenster (voller Debug) wird doch ein Text ausgegeben. Zeig den doch bitte einmal.
Evtl. ist es ein Formatfehler o.ä.

Ja, da hast du wohl Recht.

Das hier ist der gesamte Flow.

[
{
“id”: “83f5bf47.85de68”,
“type”: “tab”,
“label”: “Anwesenheit FritzBox Handy MAC”,
“disabled”: false,
“info”: “”
},
{
“id”: “4fe5e92e.85d72”,
“type”: “fritzbox-in”,
“z”: “83f5bf47.85de68”,
“device”: “1e081629.2319aa”,
“name”: “Gerät angemeldet?”,
“service”: “urn:dslforum-org:service:Hosts:1”,
“action”: “GetSpecificHostEntry”,
“arguments”: “{“NewMACAddress”:“value”}”,
“x”: 152.5,
“y”: 113,
“wires”: [
[
“fb718c9a.7fbe48”
]
]
},
{
“id”: “ef4c878c.01e56”,
“type”: “inject”,
“z”: “83f5bf47.85de68”,
“name”: “Prüfung Handy Andi”,
“topic”: “”,
“payload”: “{“NewMACAddress”:“38:CA:DA:53:FF:22”}”,
“payloadType”: “json”,
“repeat”: “60”,
“crontab”: “”,
“once”: true,
“onceDelay”: “5”,
“x”: 141,
“y”: 34,
“wires”: [
[
“4fe5e92e.85d72”
]
]
},
{
“id”: “e06beb31.7f08e”,
“type”: “function”,
“z”: “83f5bf47.85de68”,
“name”: “Anwesenheit Andi”,
“func”: “if (msg.payload === 1)\nreturn {payload:{ “id”: 90, “value”: 1 }}\n\n\n\n”,
“outputs”: 1,
“noerr”: 0,
“x”: 589.5,
“y”: 104,
“wires”: [
[
“c4ad76d3.6256d”,
“fa25d78e.d4a758”
]
],
“inputLabels”: [
“msg.payload”
],
“outputLabels”: [
“Number”
]
},
{
“id”: “fb718c9a.7fbe48”,
“type”: “change”,
“z”: “83f5bf47.85de68”,
“name”: “”,
“rules”: [
{
“t”: “move”,
“p”: “payload.NewActive”,
“pt”: “msg”,
“to”: “payload”,
“tot”: “msg”
}
],
“action”: “”,
“property”: “”,
“from”: “”,
“to”: “”,
“reg”: false,
“x”: 465.5,
“y”: 32,
“wires”: [
[
“e06beb31.7f08e”,
“70549df7.18ed0c”
]
]
},
{
“id”: “fa25d78e.d4a758”,
“type”: “debug”,
“z”: “83f5bf47.85de68”,
“name”: “”,
“active”: true,
“tosidebar”: true,
“console”: true,
“tostatus”: true,
“complete”: “payload”,
“targetType”: “msg”,
“x”: 1060,
“y”: 220,
“wires”: []
},
{
“id”: “c4ad76d3.6256d”,
“type”: “homeeDevice”,
“z”: “83f5bf47.85de68”,
“virtual-homee”: “7ace7dfa.68916c”,
“name”: “Andi@Home”,
“nodeId”: “879”,
“profile”: “10”,
“icon”: “nodeicon_presence”,
“attributes”: “[{“id”:90,“node_id”:879,“instance”:0,“minimum”:0,“maximum”:1,“current_value”:0,“target_value”:0,“last_value”:1,“unit”:“n%2Fa”,“step_value”:1,“editable”:0,“type”:1,“state”:1,“last_changed”:12345555,“changed_by”:1,“changed_by_id”:0,“based_on”:1,“data”:”"}]",
“x”: 1230,
“y”: 80,
“wires”: [
[]
],
“inputLabels”: [
“msg.payload”
]
},
{
“id”: “70549df7.18ed0c”,
“type”: “function”,
“z”: “83f5bf47.85de68”,
“name”: “Abwesenheit Andi”,
“func”: “if (msg.payload === 0)\nreturn {payload:{ “id”: 90, “value”: 0 }}”,
“outputs”: 1,
“noerr”: 0,
“x”: 590,
“y”: 160,
“wires”: [
[
“c4ad76d3.6256d”,
“fa25d78e.d4a758”
]
],
“inputLabels”: [
“msg.payload”
],
“outputLabels”: [
“Number”
]
},
{
“id”: “1e081629.2319aa”,
“type”: “fritzbox-config”,
“z”: “”,
“name”: “FBEG”,
“host”: “fritz.box”,
“port”: “49443”,
“ssl”: true
},
{
“id”: “7ace7dfa.68916c”,
“type”: “virtualHomee”,
“z”: “”,
“name”: “HOLGIV”
}
]

Und hier die Debug Ausgabe. Die 0 kommt bei WLAN Aus, die 1 bei Ein.

6.1.2020, 13:21:50node: fa25d78e.d4a758msg.payload : Object

object

id: 90

value: 1

6.1.2020, 13:22:18node: fa25d78e.d4a758msg.payload : Object

{ id: 90, value: 1 }

6.1.2020, 13:23:18node: fa25d78e.d4a758msg.payload : Object

{ id: 90, value: 1 }

6.1.2020, 13:24:18node: fa25d78e.d4a758msg.payload : Object

{ id: 90, value: 1 }

6.1.2020, 13:25:17node: fa25d78e.d4a758msg.payload : Object

{ id: 90, value: 0 }

6.1.2020, 13:26:18node: fa25d78e.d4a758msg.payload : Object

{ id: 90, value: 0 }

Und volles Debug, sorry.

6.1.2020, 14:57:37node: fa25d78e.d4a758msg : Object

object

payload: object

id: 90

value: 1

_msgid: “6f4b1f49.141d1”

6.1.2020, 14:58:37node: fa25d78e.d4a758msg : Object

object

payload: object

id: 90

value: 0

_msgid: “3bc9d9c1.650f26”

EDIT: Nun funktionierts. Hatte mir einige Beispiel Flows importiert um zu lernen und da war offensichtlich die ID 90 schon vergeben. Mit 89 läufts… Trotzdem vielen Dank für die Unterstützung !!!

1 „Gefällt mir“

Erstmal vielen Dank @stfnhmplr und alle anderen, die diese virtuellen Geräte ermöglicht haben. Ich hatte es auf meinem Node Red Docker (auf meinem Unraid) System schon am Laufen, aber jetzt, nach einem Unraid Update, ist irgendwie die Beta Version des homee Node-RED Plugins wieder aus meinem Node Red Docker verschwunden - nur noch die “alte” Version ist da.

Irgendwie hatte ich es mal geschafft, die Beta Version zu installieren, aber ich komme grade nicht mehr drauf.

Geht das irgendwie über die Palette?

Wenn ich in die Konsole meines Dockers gehe, und versuche per NPM das manuell zu installieren, kommt nur das folgende.

bash-5.0$ npm install node-red-contrib-homee@beta

  • node-red-contrib-homee@0.3.0-beta.5
    updated 1 package and audited 1612 packages in 1.98s

8 packages are looking for funding
run npm fund for details

found 0 vulnerabilities

bash-5.0$ npm fund
node-red-docker@1.0.3
±- glob@7.1.6
| -- url: https://github.com/sponsors/isaacs– object.getownpropertydescriptors@2.1.0, is-symbol@1.0.3, es-to-primitive@1.2.1, has-symbols@1.0.1, is-regex@1.0.5, object-inspect@1.7.0, es-abstract@1.17.0-next.1
`-- url: https://github.com/sponsors/ljharb

bash-5.0$

Oder wie bekomme ich das installiert?

Setz mal ein sudo vor das npm.
Das gleiche Probleme hatte auch ein anderer User mit docker.

Sudo funktioniert in dem Docker nicht (ist nicht installiert) - aber ich bin root in dem Docker, sollte also eigentlich nicht daran liegen.

EDIT: Jetzt hat es funktioniert - hab das alte aus der Palette gelöscht, dann nochmal im Terminal per npm die Beta installiert - jetzt ist alles wieder da. Anscheinend lässt sich etwas existierendes nicht updaten…

Nachdem das eigentliche Problem gelöst noch mal eine Frage.
In der iOS App wird mir der Status korrekt angezeigt:

In der WebApp iwi nicht…
2020-01-06%2019_58_41-Window

Woran kann das nun wieder liegen? So schauen die Attribute aus:
2020-01-06%2019_58_25-Window

Hi zusammen,
Ich hoffe ihr könnt mich auch ein wenig unterstützen.
Ich bin in Sachen nodered leider ein ziemlicher Anfänger.
Grundsätzlich habe ich neben meinem homee einen raspberry mit ioBroker laufen.
Darüber laufen einige Shellys, die ich aktuell via blockly und dem Homee Adapter automatisiert schalten kann.
Grundsätzlich möchte ich aber via hih die shellys analog meiner Fibaro-switches in homee integrieren. Die shellys würde ich gerne mit original Firmware weiter laufen lassen (ohne tasmota)

Den config-Node habe ich eingerichtet und erhalte den Status online.
Doch nun erschließt sich mir leider trotz der Beispiele nicht der nächste Schritt.
Was muss ich nun konkret tun um einen Shelly1 so einzurichten, das er via hih in meinen echten homee kommt.
Wäre klasse wenn mir jemand kurz helfen könnte.
Danke :blush:

Geh mal in den echten homee und suche nach neuen Geräten über WLAN und dann dort über homee in homee auswählen

Hi,
welche hin Version bist du denn? Aktuell sollte bei den angelegten Geräte “registered” stehen.

Wenn dein Config-node für hih eigerichtet ist, würde ich zum testen erstmal einfach ein Testgerät anlegen und diese in homee dann hinzufügen (Gerät hinzufügen -> WLAN -> homee in homee).

Danach musst du praktisch einen Flow erzeugen, indem praktisch das virtuelle Gerät mit deinem Shelly “verheiratest”. Das heißt das virtuelle Gerät und der Shelly sollten schon als node vorhanden sein. Dann fehlt noch eine Funktion…

Beispiel:

Ist einer meiner Flows für einen Shelly 1… das virtuelle Gerät ist vorne, dann die Funktion, dann kommt der Shelly (bei mir als Tasmota Gerät, da ich alle geflashed habe), dann noch ein Rückkanal (für die manuelle Schaltung).

Hier mal der Flow als Code:

[{"id":"5d46fdf8.10c4a4","type":"homeeDevice","z":"fd6d95c1.d70ae8","virtual-homee":"9d154771.cd16c8","name":"Tischleuchte Esszimmer","nodeId":"300","profile":"16","icon":"nodeicon_bulb","attributes":"[{\"id\":300,\"node_id\":300,\"instance\":0,\"minimum\":0,\"maximum\":4,\"current_value\":3,\"target_value\":3,\"last_value\":3,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":0,\"type\":33,\"state\":1,\"last_changed\":1572944008,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"},{\"id\":301,\"node_id\":300,\"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\":1572944008,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":1,\"data\":\"\"}]","x":250,"y":2020,"wires":[["58171c72.3c45a4"]]},{"id":"3d9bff83.5f068","type":"Sonoff device","z":"fd6d95c1.d70ae8","mode":"0","broker":"8a725ed3.6643b","device":"TLEZ","name":"","onValue":"ON","offValue":"OFF","cmdPrefix":"cmnd","statPrefix":"stat","telePrefix":"tele","x":650,"y":2020,"wires":[["ced40556.e2d4d8"]]},{"id":"58171c72.3c45a4","type":"change","z":"fd6d95c1.d70ae8","name":"","rules":[{"t":"change","p":"payload.targetValue","pt":"msg","from":"0","fromt":"num","to":"false","tot":"bool"},{"t":"change","p":"payload.targetValue","pt":"msg","from":"1","fromt":"num","to":"true","tot":"bool"},{"t":"move","p":"payload.targetValue","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":2020,"wires":[["3d9bff83.5f068"]]},{"id":"ced40556.e2d4d8","type":"function","z":"fd6d95c1.d70ae8","name":"Rückkanal on off","func":"if (msg.payload === true)\n       return {payload:{\"id\":301,\"value\":1}};\nif (msg.payload === false)\n        return {payload:{\"id\":301,\"value\":0}};","outputs":1,"noerr":0,"x":870,"y":2020,"wires":[["5d46fdf8.10c4a4"]]},{"id":"9d154771.cd16c8","type":"virtualHomee","z":"","name":"12345QWERT"},{"id":"8a725ed3.6643b","type":"mqtt-broker","z":"","name":"","broker":"192.168.1.27","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]

Den kannst du über die Importfunktion in NR importieren. Wichtig ist, meinen Config Node sofort zu löschen, bevor du speicherst. Deinen dann eintragen.

Wenn du schon mal die virtuellen Geräte hast und die Shellys in NR drin sind, können wir noch die Funktion evt. anpassen, dass es funzt.

2 „Gefällt mir“

Diesen gibt es doch aktuell garnicht mehr. Da müsste jetzt registered stehen.
Du musst ein virtuellen homee anlegen.
Hier müssen wie in den github Beispielen die Attribute im jeweiligen Gerät hinterlegt und angepasst werden.
Diese kannst du dann in deinem homee suchen und hinzufügen.

1 „Gefällt mir“

Genau, Beta 6 müsste die aktuelle sein… erst updaten!

Ich bin Beta 4 , nach dem gestrigen chrash der SD Karte.

Verstehe bis jetzt nur Bahnhof…
Gibt es ein Wiki für Einsteiger ^^?

OK, muss wohl noch updaten… Habe die Tage 0.3.0 beta5 installiert