NEWS
Blockly Objekt ID Unterschiede
-
Hallo,
beim einbinden einiger Taster ist mir aufgefallen das der Trigger nur funktioniert wenn ich ein "grünes Objekt ID benutze", wo liegt der Unterschied der verschiedenen Objekt ID`s?
-
Das würde mich auch interessieren. Finde leider nichts dsbzgl.
@mike2712 Bist du in der Zwischenzeit schlauer geworden, was es mit den ver. Objekt IDs auf sich hat? -
@marting nein leider nicht, ich konnte auch nichts dazu finden
-
@mike2712 sagte in Blockly Objekt ID Unterschiede:
wo liegt der Unterschied der verschiedenen Objekt ID`s?
- Der blaue Baustein liefert Dir das komplette Objekt aus der Objekt-Datenbank, nicht nur die ID als string / text. Deswegen ist der auch nicht grün. Diesen braucht man super selten. Höchstens, wenn Du common oder native-Attribute auslesen möchtest
Objekt ID
(in grün) liefert Dir einen String zurück. Also die ID des gewählten Objektes. Code-Technisch ist das genau das gleiche, als wenn Du einen Text-Baustein nimmst und da eine ID einträgst. Der Baustein hilft Dir halt nur dabei, die ID über einen Dialog auszuwählen.- Die anderen beiden sind genau das gleiche, aber schränken eben den Typ des auswählbaren Objektes ein. Meta ist für Dateien (Files-Tab) und Scripts ist eben für Objekte vom Typ Script.
Aber das habe ich in ja schon rauf und runter erklärt, ... Siehe Signatur...
Beispiel (State
example_state
) :Das hier wäre technisch EXAKT das gleiche (nur dass ich die ID einmal per Dialog auswählen konnte, und die andere manuell eintragen musste):
Die Objekt ID ist ja der Schlüssel zur Objekt- und State-Datenbank. Die ID wird geutzt, um z.B. Trigger zu registrieren (deswegen ist der vorgeschlagene Block auch grün (weil ID = text):
Die Objekt-Definition sieht aber so aus:
{ "_id": "0_userdata.0.example_state", "type": "state", "common": { "name": "Example state", "role": "indicator", "def": false, "type": "boolean" }, "acl": { "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "object": 1604 }, "from": "system.host.iobroker.cli", "ts": 1706607964100 }
An diese kommst Du mit
Objekt
- also dem blauen Baustein, um z.B. Meta-Daten auszulesen:Braucht man das oft? Nein. Zu 99% nutzt Du also nur die ID.
Das hier wäre also kompletter Quatsch, weil man die komplette Objekt-Definition (als JavaScript-Objekt) in den Trigger übergibt:
-
@haus-automatisierung Vielen vielen Dank für diese ausführliche Erklärung!!
-
@marting Die Frage ist eher, warum Du nichts dazu gefunden hast... wo muss ich besser werden?