NEWS
Die Alias funktion - Fragen
-
@CrunkFX
Kannst du bitte mal hier einmal verändern? Ich habe momentan etwas Probleme deinen Anweisungen zu folgen. Im Thermostat ist dieser Datenpunkt vom Typ enum.{ "_id": "alias.0.Erdgeschoss.HK-Wohnzimmer.CONTROL_MODE", "type": "state", "common": { "name": "CONTROL_MODE", "role": "", "type": "number", "read": true, "write": true, "desc": "Manuell erzeugt", "def": "", "alias": { "id": "hm-rpc.0.OEQ0853950.4.CONTROL_MODE" } }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1596990109308, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
{ "_id": "alias.0.Erdgeschoss.HK-Wohnzimmer.CONTROL_MODE", "type": "state", "common": { "name": "CONTROL_MODE", "role": "", "type": "number", "read": true, "write": true, "desc": "Manuell erzeugt", "def": "", "min": 0, "max": 3, "states": { "0": "AUTO-MODE", "1": "MANU-MODE", "2": "PARTY-MODE", "3": "BOOST-MODE" }, "alias": { "id": "hm-rpc.0.OEQ0853950.4.CONTROL_MODE" } }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1596990109308, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@CrunkFX
Das der Herkunfstdatenpunkt vom Typ enum ist macht im Alias kein Problem da hier Typ number??Es ist geschafft, das erste Thermostat ist nun im Alias.
Wann kommen die Werte oder wie bekomme ich die da rein.Ist es richtig, das nun bei Gerätetausch hier in den Datenpunkten nur noch auf die neue Geräte-ID geändert werden muss??
-
@Berlon Enum ist kein Datenpunkt sondern die Zuweisung in den IOBroker Aufzählungen. Die Werte kommen nach einem Update der Datenpunkte, dazu am einfachsten den Adapter einmal Neustart en. Nur was bei common steht hat relevanz. Ja es ist korrekt, dass bei nem Hardwaretausch nur die Adresse geändert werden muss. Das ist das große Konzept des Alias Systems. Der klassische Objekt Browser soll in Zukunft nur noch eine nebensächliche Rolle spielen und dafür das alias system ausgebaut werden.
-
Ich nutze zum Alias erstellen das Script von @CruziX
Das mit den Adaptern zur Alias Erstellung ist irgendwie noch nicht wirklich fertig, oder ich kapiere es einfach nicht.
Mit dem Script kann man alle Alias, wenn gewünscht, auf einmal erstellen. Es ist nur einmal Arbeit das Script zu befüllen.
Hier in diesem Beitrag im SpoilerVorlagen Alias
und dann im SpoilerVorlage Alias erstellen
habe ich ein Beispiel eingefügt. -
@CrunkFX hallo, lese hier das Thema gerade mit. Ich habe ZWave Türsensoren die für "offen" 22 und geschlossen "23"ausgeben. Nun möchte ich per Alias für 22 = true und für 23 = false ausgeben.
Geht dies ? Was muss ich hierfür in RAW eingeben ?Gruß André
-
@gelberlemmy Was soll denn mit true und false gemacht werden?
MFG
CrunkFX -
@gelberlemmy sagte in Die Alias funktion - Fragen:
@CrunkFX hallo, lese hier das Thema gerade mit. Ich habe ZWave Türsensoren die für "offen" 22 und geschlossen "23"ausgeben. Nun möchte ich per Alias für 22 = true und für 23 = false ausgeben.
Geht dies ? Was muss ich hierfür in RAW eingeben ?Gruß André
{ "from": "....", "user": "....", "ts": ..., "common": { "name": "on", "role": "", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": false, "def": false, "alias": { "id": "orginal.pfad", "read": "val === '22' ? true : false" } }, "native": {}, "acl": { "object": ...., "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": .... }, "_id": "....", "type": "state" }
Kann man noch ausweiten - aber im Prinzip langt ja 22 = true - alles andere false.
-
@CrunkFX ich würde gern solch Dinge relativ gleich haben. In den Skripten zB würde ich gern immer den Weg mit true und false arbeiten.
-
@mickym super danke. Werde es einmal ausprobieren. Wäre super genial wenn das klappt. Danke
-
@gelberlemmy ich habs nochmal im Gesamtzusammenhang gepostet. Das Ganze muss unter alias unter common definiert werden. ggf. müssen die hochkommas bei der 22 weg, wenn man die Quelle als Zahl interpretieren kann.
-
@mickym ja die hochkommas müssen gelöscht werden bei mir. Was bedeutet eigentlich val === '22' eigentlich genau. Was passiert ist ja klar...
-
@gelberlemmy Da das Ganze als Zeichenkette (String) in doppelten Anführungszeichen ist, markieren die Hochkommas eine Zeichenkette in der Zeichenkette - bei Dir ist es aber tatsächlich eine Zahl - deshalb ohne Hochkommas. Im Prinizip gibst Du in dem String mit den doppelten Anführungszeichen Javascript code ein und "val" repräsentiert den Wert des Orginal-Datenpunktes.
Im Prinzip wird einfach bei setzten des Wertes Deines Alias (Read) Datenpunktes (Wertes = val) den Conditional Operator genutzt. Somit bedeutet es nichts weiter als Dein Orginal hat den Wert 22, dann setze true anderenfalls false. -
@mickym super danke für die Erklärung
-
@mickym
Moin, die Alias-Funktion scheint sich geändert zu haben und diese Methode schaltet bei mir nicht mehr das Alias.
Wie muss es aktuell heißen?Admin 5.1.25
Node.js v12.22.7
NPM 6.14.15 -
@troya Ehrlich gesagt weiß ich nicht, was Du meinst? Bei mir gabs keine Änderung. Installieren Dir doch mal den Alias Manager und schau mal ob Du das damit entsprechend hinbekommst:
-
@mickym sagte in Die Alias funktion - Fragen:
@gelberlemmy sagte in Die Alias funktion - Fragen:
@CrunkFX hallo, lese hier das Thema gerade mit. Ich habe ZWave Türsensoren die für "offen" 22 und geschlossen "23"ausgeben. Nun möchte ich per Alias für 22 = true und für 23 = false ausgeben.
Geht dies ? Was muss ich hierfür in RAW eingeben ?Gruß André
{ "from": "....", "user": "....", "ts": ..., "common": { "name": "on", "role": "", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": false, "def": false, "alias": { "id": "orginal.pfad", "read": "val === '22' ? true : false" } }, "native": {}, "acl": { "object": ...., "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": .... }, "_id": "....", "type": "state" }
Kann man noch ausweiten - aber im Prinzip langt ja 22 = true - alles andere false.
Die Funktion mit dem umwandeln von 22 auf true von damals. Aber ich schau mir morgen mal den Manager an, danke!
-
@troya Das muss immer noch so funktionieren wie vorher - das hat auch nichts mit dem Adapter zu tun.
Im Adapter kannst Du das nur jetzt direkt eintragen und musst nicht mehr die Definition des Alias-Datenpunktes bemühen.
Wenn da also irgendwas nicht funktioniert - dann gibts ein anderes Problem - da weiß ich aber auch nicht weiter, weil es meines Erachtens weiter so gehen muss.
-
@troya sagte in Die Alias funktion - Fragen:
"read": "val === '22' ? true : false"
Hast du mal
"read": "val == '22' ? true : false"
versucht?
-