NEWS
[gelöst]Verstehe mein Problem nicht, Aliaserstellung
-
Hallo,
bin gelade mit einen Script von paul53 am kämpfen.// Original-Datenpunkt const idOrigin = 'hm-rpc.0.OEQ0854939.4.ACTUAL_TEMPERATURE'; // Alias-Datenpunkt const idAlias = 'Erdgeschoss.Küche.Heizkörper.ACTUAL_TEMPERATURE'; var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk; // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich nameAlias = 'ACTUAL_TEMPERATURE'; desc = 'per Script erstellt'; typeAlias = 'number'; read = "true"; write = "true"; role = 'ist Temperatur'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) // custom = []; // verhindert doppelte Ausführung von history, ... // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten ! // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten ! function createAlias(idSrc, idDst) { if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias) obj.common.type = typeAlias; if(obj.common.read !== false && read) obj.common.alias.read = read; if(obj.common.write !== false && write) obj.common.alias.write = write; if(nameAlias) obj.common.name = nameAlias; if(role) obj.common.role = role; if(desc) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit) obj.common.unit = unit; if(states) obj.common.states = states; if(custom && obj.common.custom) obj.common.custom = custom; obj.native = {}; setObject(idDst, obj); if(raum && getObject('enum.rooms.' + raum)) { let obj = getObject('enum.rooms.' + raum) obj.common.members.push(idDst); setObject('enum.rooms.' + raum, obj); } if(gewerk && getObject('enum.functions.' + gewerk)) { let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj); } } } createAlias(idOrigin, 'alias.0.' + idAlias);Bild der Erstellung:

Nach meinem Verständniss sollte die Verzeichnisstruktur so aussehen:
alias.0
...Erdgeschoss
.......Küche
...........Heizkörper
..............ACTUAL_TEMPERATUREWarum hört das Script nach Heizkörper auf und legt nicht die Daten an?
Gruß
Bernd -
Hallo,
bin gelade mit einen Script von paul53 am kämpfen.// Original-Datenpunkt const idOrigin = 'hm-rpc.0.OEQ0854939.4.ACTUAL_TEMPERATURE'; // Alias-Datenpunkt const idAlias = 'Erdgeschoss.Küche.Heizkörper.ACTUAL_TEMPERATURE'; var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk; // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich nameAlias = 'ACTUAL_TEMPERATURE'; desc = 'per Script erstellt'; typeAlias = 'number'; read = "true"; write = "true"; role = 'ist Temperatur'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) // custom = []; // verhindert doppelte Ausführung von history, ... // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten ! // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten ! function createAlias(idSrc, idDst) { if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias) obj.common.type = typeAlias; if(obj.common.read !== false && read) obj.common.alias.read = read; if(obj.common.write !== false && write) obj.common.alias.write = write; if(nameAlias) obj.common.name = nameAlias; if(role) obj.common.role = role; if(desc) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit) obj.common.unit = unit; if(states) obj.common.states = states; if(custom && obj.common.custom) obj.common.custom = custom; obj.native = {}; setObject(idDst, obj); if(raum && getObject('enum.rooms.' + raum)) { let obj = getObject('enum.rooms.' + raum) obj.common.members.push(idDst); setObject('enum.rooms.' + raum, obj); } if(gewerk && getObject('enum.functions.' + gewerk)) { let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj); } } } createAlias(idOrigin, 'alias.0.' + idAlias);Bild der Erstellung:

Nach meinem Verständniss sollte die Verzeichnisstruktur so aussehen:
alias.0
...Erdgeschoss
.......Küche
...........Heizkörper
..............ACTUAL_TEMPERATUREWarum hört das Script nach Heizkörper auf und legt nicht die Daten an?
Gruß
Bernd@Berlon sorry für die frage: hast du mal den browser refresht ?
-
@Berlon sorry für die frage: hast du mal den browser refresht ?
@liv-in-sky
öhhm... ok. Nach dem Refresh ist passt es.
Danke für den Tipp. Wieder was gelernt. -
@liv-in-sky
öhhm... ok. Nach dem Refresh ist passt es.
Danke für den Tipp. Wieder was gelernt.:-)
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