NEWS
Einem Objekt zugeordneten Raum identifizieren?
-
Wenn ich ein Objekt überwache, kann ich im weiteren Verlauf auf diverse Parameter vom Objekt (siehe Screenshot) zugreifen.
Weiß jemand, wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?

@w00dst0ck
Das versuche ich auch grade herauszufinden. Hast du es hinbekommen? -
Ich glaube nicht, dass es an dieser Stelle so einfach ist. Es gibt einige Werte die in den Datenpunkt selber gespeichert werden und auf die zugegriffen werden kann, z.B. Der Name, die Geräte ID, der Wert etc.
Die Aufzählungen (Räume und Funktionen) wiederum werden nicht im Datenpunkt abgelegt, sondern sind selbst Datenpunkte mit dem Präfix enums. oder enum. (bin mir gerade nicht sicher) dann die Funktion (.rooms, oder .functions) und dann der Name (z.B. .Wohnzimmer).
In diesen Datenpunkten ist dann eine Liste der zugehörigen Datenpunkte.Hast du also einen Datenpunkt alias.0.Licht.Wohnzimmerlicht.An und der ist dem Raum Wohnzimmer zugeordnet, dann hat der Datenpunkt enums.rooms.Wohnzimmer in seiner Liste den Datenpunk alias.0.Licht.Wohnzimmerlicht.An stehen.
Theroretisch müsstest du also alle Aufzählungslisten durchlaufen und nach deiner ID suchen um zu wissen in welchem Raum dieser ist.
Der kann ja auch in mehreren Räumen sein.Kannst halt eine JS Function im Blockly einbinden welche die Datenpunkt ID annimmt und dann nach den zugeordneten Listen schaut und diese zurückgibt
-
Wenn ich ein Objekt überwache, kann ich im weiteren Verlauf auf diverse Parameter vom Objekt (siehe Screenshot) zugreifen.
Weiß jemand, wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?

@w00dst0ck sagte :
wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?
Das geht nur mit einer Javascript-Funktion mit Ergebnis:
let room = getObject(id, 'rooms').enumNames[0]; if(typeof room == 'object') return room.de; return room;Getestet mit diesem Blockly:

-
@w00dst0ck sagte :
wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?
Das geht nur mit einer Javascript-Funktion mit Ergebnis:
let room = getObject(id, 'rooms').enumNames[0]; if(typeof room == 'object') return room.de; return room;Getestet mit diesem Blockly:

-
@w00dst0ck sagte :
wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?
Das geht nur mit einer Javascript-Funktion mit Ergebnis:
let room = getObject(id, 'rooms').enumNames[0]; if(typeof room == 'object') return room.de; return room;Getestet mit diesem Blockly:

-
@paul53
Für die JS Anfänger unter uns, kannst du kurz erklären was die zweite Zeile deiner Funktion macht?@Diggewuff sagte:
was die zweite Zeile deiner Funktion macht?
Der Raum-Name kann in einer Sprache vorliegen (als String), aber auch mehrsprachig als Objekt mit den Eigenschaften en, de, ru, ...
"name": { "en": "Kitchen", "de": "Küche", "ru": "Кухня", "pt": "Cozinha", "nl": "Keuken", "fr": "Cuisine", "it": "Cucina", "es": "Cocina", "pl": "Kuchnia", "zh-cn": "厨房" }, -
@w00dst0ck sagte :
wie ich in Blockly den zugeordneten Raum eines Objekts auslesen kann?
Das geht nur mit einer Javascript-Funktion mit Ergebnis:
let room = getObject(id, 'rooms').enumNames[0]; if(typeof room == 'object') return room.de; return room;Getestet mit diesem Blockly:

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden