Mal wieder virtuelle Geräte - jetzt aber richtig!

Den Request kann ich nur doppeln - wenn sich jemand die Arbeit (ähnlich wie meine Dokus zu homeean und seinen Paketen auf dem inoffiziellen Wiki) machen würde, dann wäre der Einstieg in hih für viele einfacher und würden das Projekt ggf. auch zukunftssicherer und von bestimmten Leuten unabhängiger machen. Und nein: Ich mach es nicht - keine Zeit, aber durchaus Lust mit hih rumzuspielen.

2 „Gefällt mir“

Danke für deine Antwort.
Das hat mir schon einmal sehr geholfen.

ICh habe deinen Flow importiert und den virtuellen homee auf meinen angepasst.
Ich konnte nun auch das Gerät per hih in meinen “echten” homee importieren.
Allerdings kann ich das Gerät noch nicht per homee schalten…heißt es passiert trotz angepasster IP in der shelly-node leider nichts…

Hast Du noch einen Tipp für mich?

Danke schon einmal :slightly_smiling_face:

Ok, gut soweit…
Damit es mit dem shelly node, statt dem tasmota node funktioniert, muss man erst wissen wie der shelly node arbeitet…

Dazu kannst du an den shelly node einen Debug node anbinden, das Gerät schalten und dann die Ausgabe mal posten…

Der tasmota node gibt bei Änderung boolean true bzw. false aus… was der shelly node macht, muss man für die Funktionsänderung wissen.

@HighControl @hblaschka
Die Idee mit dem Wiki ist sicherlich gut, die Schwierigkeit ist nur: Wo fängt man an?

Ich bin gerne bereit, mitzuwirken, vielleicht haben @stfnhmplr und @Micha eine Idee wie man es gut aufziehen könnte.

Die Anleitung aus Stefans Blog ist gut, erfordert es aber, dass man zumindest schon mal mit NodeRed zu tun hatte und sich mit Pi und Co auskennt.
hih ist dann eigentlich kein Hexenwerk mehr, wenn man einmal des Prinzip der NodeIDs und AttributeIDs von homee verstanden hat. Die Profile von zu virtualisierenden Geräten bekommt man aus der Community, von jemandem, der das Gerät real hat.

Der Rest ist dann eigentlich nur noch normale NR-Verknüpfungsarbeit, also wie sage ich dem virtuellen Gerät in homee, was er mit Daten und Informationen des realen, homeefremden Gerät anfangen und reagieren soll.

Viele Beispiele für virtuelle Geräte sind als Flow auf Github verfügbar.

Nach dem Import muss man nur noch den importierten hih config node löschen, den eigenen im virtuellen Gerät auswählen, die IDs an die eigenen Gegebenheiten anpassen.

Zum Thema insgesamt kann man sich hier im Thread austauschen, per PM oder sogar im homee slack channel.

Hallo nochmal und danke für deine Hilfe :slight_smile:

Bin jetzt grundsätzlich schon schon ein ganzes Stück weiter und konnte unter anderem nun schon meinen Staubsaugerroboter via hih einbinden.

Leider bin ich bei den Shellys nicht wirklich weiter gekommen.
Ich habe daher einen Debug-Node an den Shelly Node angehängt und im debug-node nun folgende Info.

Problem bei dir ist, dass du einen integer-Wert in einen boolean-Wert übergeben musst, dass aber in einem array…

D.h. das virtualiserte Gerät liefert 0 oder 1 als number… das shelly Gerät reagiert aber nur auf true oder false und dass unter array 1 und dem object “ison”. Mit dem Change node oben aus dem Flow änderst du zumindest schon mal 0,1 zu false, true.

@Micha @stfnhmplr
Habt ihr eine Idee, wie man dann weiterkommt, um den boolean-Wert als array/object weiterzugeben?
Mein javascript reicht dazu nicht aus.

@Starbuck30
du kannst mal das versuchen…

[{"id":"7dc4f329.0d70a4","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":1070,"y":4900,"wires":[["6080b2de.64dfb4"]]},{"id":"6080b2de.64dfb4","type":"join","z":"fd6d95c1.d70ae8","name":"","mode":"custom","build":"array","property":"","propertyType":"full","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"1","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1270,"y":4900,"wires":[["b768d086.b8af"]]},{"id":"b768d086.b8af","type":"change","z":"fd6d95c1.d70ae8","name":"","rules":[{"t":"change","p":"payload[0].payload.targetValue","pt":"msg","from":"0","fromt":"num","to":"false","tot":"bool"},{"t":"change","p":"payload[0].payload.targetValue","pt":"msg","from":"1","fromt":"num","to":"true","tot":"bool"},{"t":"move","p":"payload[0].payload.targetValue","pt":"msg","to":"payload[0].ison","tot":"msg"},{"t":"delete","p":"payload[0].payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1440,"y":4900,"wires":[["6885050a.258b1c"]]},{"id":"6885050a.258b1c","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":1610,"y":4900,"wires":[[]]},{"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":""}]

Dazu eine Frage, ich möchte für meine RGBW Leuchten als Speicher für Farben virtuelle Geräte anlegen. Da ich also die realen Geräte habe, wie komme ich da an die Profile und Attribute?

Diese Frage kann ich dir nicht beantworten, aber hast du auf Github schon mal geschaut, ob es da nicht ein für dich passendes RGB-Gerät gibt? (Ich selbst habe eines bei mir am Laufen). Damit musst du an der Stelle das Read nicht neu erfinden.

:coffee:

Sorry, verstehe gerade den Satz nicht… :blush:

Wenn du reale Geräte hast, kannst du die über den homee node abfragen…

Du kannst die mit einen get:nodes abfragen.
Ein Inject und den Inhalt als String get:/nodes/xy (Id des Gerätes , oben im Browser steht die ) dann den inject in das homee api node senden und im Debug node hast du dann alle Werte.

Habe das hier gefunden, aber nicht getestet:

shellys ohne tasmota mache ich mit dem Shelly EM und dem Shelly 3EM wenn letzterer da ist. Sollte eigentlich kein Problem sein, in der Anleitung der Shellys steht der jeweilige Output beschrieben :wink:

@simonw hast du hih am laufen?

@fisch ja, noch in b4. Muss mal upgraden.

hat hier jemand Attribute oder Flow für Aeotec Zangen oder Qubino Smartmeter in Vorbereitung für Shelly 3EM?

Kannst du doch die vom Energiemeter nehmen .

Welcher Energiemeter?

Liegt schon bei github rum.

1 „Gefällt mir“

Für Node-RED Anfänger gibt es auf YouTube einige Videos. Hab sie nicht geschaut, sind aber bestimmt ganz hilfreich für das grundsätzliche Konzept.

Link: https://www.youtube.com/playlist?list=PLyNBB9VCLmo1hyO-4fIZ08gqFcXBkHy-6

2 „Gefällt mir“