NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Background_HTML
das ist bei mir eine 0,5 × 0,5 Kachel. Mit Klick darauf öffnet sich ein "Textfeld" mit dem HTML Inhalt.

Die andere Ansicht ist die vergrößerte auf Vollbild (oben rechts in der Ecke geklickt)

Eingerichtet über Wert





-
@dslraser Ok, vielen Dank. Ich versuche mal mein Glück
So hab es zusammen gemogelt. Die Tabellenhöhe stört nur noch ein wenig, sobald wenige Geräte gelistet sind. Dann zieht er die Zellen so groß

@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Die Tabellenhöhe stört nur noch ein wenig, sobald wenige Geräte gelistet sind. Dann zieht er die Zellen so groß
Spiel mal mit den Zellenabständen in den Datenpunkten. Versuche mal kleinere Werte.
-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Die Tabellenhöhe stört nur noch ein wenig, sobald wenige Geräte gelistet sind. Dann zieht er die Zellen so groß
Spiel mal mit den Zellenabständen in den Datenpunkten. Versuche mal kleinere Werte.
@dslraser die Zellenabstände stehen auf 0
Der Grund für das Strecken ist Table height 400px
hier der Datenpunkt 0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Tueren_zaehlen.Haus.07_html_Tueren_Liste<!DOCTYPE html><html lang="de"><head><title>Tueren</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body><table border="2em" bordercolor="#3776CB" cellspacing="0em" cellpadding="0em" font-size:="2em" style="color:black ; font-family:apple ; background:rgba(255,255,255,0);" width="100%" height="400"><tbody><tr style="color:black; font-family:apple; font-weight: bold; font-size:1.2em"><td>Tueren Haus   </td><td>Status</td></tr><tr><td><span style="color:black;font-size:1.1em">Esszimmer Terrasse</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅<tr><td><span style="color:black;font-size:1.1em">Keller Tür</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅</table></body>Aber dafür gibt es keine Einstellung oder?
-
@dslraser die Zellenabstände stehen auf 0
Der Grund für das Strecken ist Table height 400px
hier der Datenpunkt 0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Tueren_zaehlen.Haus.07_html_Tueren_Liste<!DOCTYPE html><html lang="de"><head><title>Tueren</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body><table border="2em" bordercolor="#3776CB" cellspacing="0em" cellpadding="0em" font-size:="2em" style="color:black ; font-family:apple ; background:rgba(255,255,255,0);" width="100%" height="400"><tbody><tr style="color:black; font-family:apple; font-weight: bold; font-size:1.2em"><td>Tueren Haus   </td><td>Status</td></tr><tr><td><span style="color:black;font-size:1.1em">Esszimmer Terrasse</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅<tr><td><span style="color:black;font-size:1.1em">Keller Tür</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅</table></body>Aber dafür gibt es keine Einstellung oder?
@FuXXz2
in der nächsten Version gibt es den Datenpunkt auch. (ich bin die letzten Tage schon dabei die ganze Ausgabe responsiv zu gestalten, mal sehen wann das fertig wird. Jetzt am WE komme ich jedenfalls zu nix)
Du kannst diese Einstellung im Blockly auch selbst verändern, dazu mußt Du die eine Funktion öffen, ich versuche gleich einen Screenshot zu machen. Ich bin aber nur am Handy. -
@dslraser die Zellenabstände stehen auf 0
Der Grund für das Strecken ist Table height 400px
hier der Datenpunkt 0_userdata.0.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Tueren_zaehlen.Haus.07_html_Tueren_Liste<!DOCTYPE html><html lang="de"><head><title>Tueren</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body><table border="2em" bordercolor="#3776CB" cellspacing="0em" cellpadding="0em" font-size:="2em" style="color:black ; font-family:apple ; background:rgba(255,255,255,0);" width="100%" height="400"><tbody><tr style="color:black; font-family:apple; font-weight: bold; font-size:1.2em"><td>Tueren Haus   </td><td>Status</td></tr><tr><td><span style="color:black;font-size:1.1em">Esszimmer Terrasse</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅<tr><td><span style="color:black;font-size:1.1em">Keller Tür</span><td><span style="color:black;font-size:1.1em">geschlossen </span>✅</table></body>Aber dafür gibt es keine Einstellung oder?
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Aber dafür gibt es keine Einstellung oder?
hier findest Du das (jeweils die Funktion unten rechts)

Hier wird das html zusammengebaut

-
@FuXXz2 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Aber dafür gibt es keine Einstellung oder?
hier findest Du das (jeweils die Funktion unten rechts)

Hier wird das html zusammengebaut

-
Versionen 1.6.7 aktualisiert am 23.12.2020 Typ Blockly mit JavaScript Funktionen verwendete Adapter je nach dem was im Blockly aktiviert ist verwendete Geräte verschieden - gemischt was kann das Blockly wird hier beschrieben Hallo Zusammen.
Ich stelle hier mein Blockly zum Geräte zählen und optional zum Ansagen über den Alexa2 Adapter über speak, sowie optionaler Versand über Telegram / E-Mail zur Verfügung.
Das gesamte Blockly nutzt "alias'e". Alle anderen benötigten Datenpunkte erstellt und löscht das Blockly selbst, je nach dem was verwendet werden soll.
Wer also keine alias erstellen oder nutzen möchte kann an dieser Stelle aufhören zu lesen, für alle anderen Interessierten versuche ich möglichst genau zu beschreiben was zu tun ist.Mit Alexa geht dann z.B.
- Alexa, welche Fenster sind noch auf
- Alexa, welche Türen sind noch auf
- Alexa, welche Steckdosen sind noch an
- Alexa, welche Lampen sind noch an
- Alexa, was machen die Batterien
- Alexa, welche Bewegungsmelder sind aktiv
- Alexa, wie sind die Temperaturen (Ansage, aller Temperaturen meiner Räume und Außentemperatur nacheinander in einer Ansage)
Welche Frage in welcher Formulierung gestellt wird bestimmt Ihr natürlich selbst, da dies über eine Routine in der Alexa App gesteuert wird. Dazu später mehr.
Ein Hinweis gleich noch zu Beginn. Da die Ansage am angesprochenen ECHO erfolgen soll, kann es vorkommen, das, wenn es mehrere ECHO's in Hörweite gibt, die Ansage an einem anderen ECHO ausgegeben wird, weil sich ein anderer ECHO "angesprochen fühlt". Wenn ich in einem Raum bin, wo mich nur ein ECHO hören kann, funktioniert es bei mir zuverlässig.
Meine verwendeten Adapter dafür sind:
- Alexa2 Adapter 3.4.0
- iot Adapter 1.8.8
- Javascript Adapter 4.10.8
- Telegram Adapter 1.5.9 (optional)
- E-Mail Adapter 1.0.7 (optional)
- und wenn gewünscht (optional) iQontrol 1.5.2
- TR-064 4.2.1 Anruferansage (optional Telegram/EMAIL-extra Blockly im zweiten Beitrag)
SmartGeräte für den iot Adapter werden direkt im Blockly erstellt, das sind dann die Button für die spätere Routine in der Amazon App.
Das Blockly legt die benötigten Datenpunkte wahlweise unter 0_userdata.0 oder javascript.x selbst an (x=Javascript Instanznummer). Für die Erstellung der Datenpunkte nutze ich das Script von @Mic in einer Funktion. Dafür muß die Option "Erlaube das Kommando "setObject" im Javascript Adapter erlaubt sein.
Der Versand aller Nachrichten (Telegram oder EMAIL) ist immer schaltbar, z.B. wenn man eine Anwesenheitsfunktion hat, dann könnte man den Versand bei Abwesenheit "scharf" schalten.
Die Button hingegen funktionieren immer. Hier könnte man jeweils eine Routine in der Alexa App anlegen und den Versand des Gerätestatus-Versand auslösen.
Z.B.
Alexa, schicke mir den Fensterstatus.
Alexa, schicke mir den Lichtstatus
Alexa, schicke mir den Steckdosenstatus usw...Über diesen Weg lasse ich mir auch zum Beispiel auf Anforderung den Batteriestatus aller meiner Geräte mit Batterien als Liste schicken. Oder auch, Alexa schicke mir ein Bild von der Eingangskamera. Wenn man es auf die Spitze treibt, dann geht auch: Alexa, schicke mir den kompletten Status und dann trudeln bei mir nacheinander Bilder von drei Kameras, alle Batteriezustände, eine Liste mit geöffneten/gekippten Fenstern, ein Liste mit eingeschalteten Lampen usw. usw. usw. ein.
Wenn Ihr nun Lust auf das Blockly habt, dann ist jetzt einmalig etwas Fleißarbeit angesagt. Bevor Ihr das Blockly nutzen könnt, müssen die Alias für Eure Geräte, die Ihr im Blockly verwenden wollt, erstellt werden. Dafür eignet sich die Scriptvorlage von @CruziX hervorragend. Mit dieser Vorlage können alle Alias auf einmal erstellt werden. Eine Vorlage als Beispiel findet Ihr im Spoiler. An dieser Stelle sei gleich gesagt, sinnvolle Namen im Alias zu verwenden (id ist egal, nur der Name ist gemeint), da diese Namen dann für alles im Blockly verwendet werden, also alle Gerätenamen allgemein. Also immer so erstellen, das sich der Name auch z.B. für Alexa aussprechen lässt.
In der id keine Leerzeichen/Sonderzeichen oder Umlaute verwenden, damit vermeidet man direkt im Vorfeld mögliche Fehler.
Als erstes solltet ihr in den Aufzählungen neue Funktionen erstellen, diese kann man dann gleich im alias Script benutzen. Da auf das Plus drücken.

dann auf das Plus bei neue benutzerdefinierte Gruppe klicken

Ich habe folgende erstellt (wenn Ihr die gleichen nehmt müsst Ihr das nichtmal im Blockly umstellen)
batterien_voll_leer_alias
batterien_volt_alias
bewegungsmelder_alias
fenster_alias
licht_alias
steckdosen_alias
temperaturen_alias
tueren_alias
batterien_prozent_aliasDas sind die Selektoren im Blockly









Das ganze sieht dann nach dem Blockly Start in den Objekten z.B. so aus: (wenn alle Schalter im Blockly auf wahr stehen)

01_Anzeigen_und_Listen

02_Trigger_und_Schalter

03_HTML_Daten hat zwei Unterordner

01_HTML_Hell_Dunkel_Festeinstellung ist nicht veränderbar und sieht so aus (helle Einstellung aktiv)

03_HTML_Eigene_Einstellung enthält die gleichen Datenpunkte und wird beim ersten verwenden des Triggers mit Standardwerten befüllt. Diese Werte können dann mit eigenen Werten überschrieben werden.
Und hier noch der Rest

Die Bilder bzw. Icon links und rechts habe ich als Base64 eingefügt. Ich benutze dafür das hier: https://www.base64-image.de/
Wenn iQontrol installiert ist, dann funktioniert auch der Pfad zu einem Icon (einfach den eingestellten Pfad zum Icon aus iQontrol kopieren und einfügen)
In den eigenen 02_HTML_Eigene_Einstellungen kann alles selbst an die eigenen Wünsche angepasst werden.Hier noch ein kurzes GiF
(klick auf das linke Icon schaltet die Farbeinstellungen durch. klick auf das rechte Icon blendet die Tabelle ein und aus bzw. schaltet auf aktiv/inaktiv)

Hallo ich habe gerade nach dem folgenden Alias Skript meine Aliasse erstellen wollen.
/************************************************************** Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js Changelog Version 1.1.4 - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path) **************************************************************/ /************************************** Flags / Variablen ***************************************/ // typeAlias = 'boolean'; // oder 'number' // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? 'Ein' : 'Aus'"; // nameAlias = 'Licht Haustür'; // role = 'switch'; // desc = 'per Script erstellt'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) let bCreateAliasPath = true; // If this flag is true, each folder is created seperately so rooms and functions can be assigned. /* Requirements: bCreateAliasPath == true If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned. */ let bConvertExistingPath = false; /*************************************** Don't change anything from here / Ab hier nichts verändern ***************************************/ let arEnum = []; let arId = []; let timeoutAssignEnum; var callbackAlias = undefined; function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) { if(!idDst.includes('alias.0.')) idDst = 'alias.0.' + idDst; if(!existsObject(idSrc)) { log('Source-Id ' + idSrc +' does not exists.','warn'); return; } // Create the object Path for alias id, // so you can assign rooms and function to the parents var createAliasPath = (id) => { if(bCreateAliasPath){ let lisMergedIds = []; let mergedId = 'alias.0'; id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed let split = id.split('.'); for(let i=0;i<split.length-1;i++){ mergedId += '.' + split[i]; lisMergedIds.push(mergedId); } function path(){ if(lisMergedIds.length == 0) { alias(); return; } let tmpId = lisMergedIds[0]; lisMergedIds.splice(0,1); // remove element if(!existsObject(tmpId) || bConvertExistingPath){ // not exists let obj; if(existsObject(tmpId)) obj = getObject(tmpId); else obj = {}; let bApply = false; if(obj != undefined){ if(obj.type == undefined || String(obj.type) != 'meta'){ obj.type = 'meta'; bApply = true; } if(obj.common == undefined){ obj.common = {}; obj.common.type = 'meta.folder'; bApply = true; } else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){ obj.common.type = 'meta.folder'; bApply = true; } if(obj.native == undefined){ obj.native = {}; bApply = true; } } else{ path(); log('Object is undefined'); return; } if(bApply){ setObject(tmpId, obj, (err) =>{ if(!err){ log('Created Alias-Path ' + tmpId); path(); } else log('Error creating alias-path','error'); }); } else path(); } } path(); } else alias(); } function alias(){ // Create alias object if(!existsObject(idDst)){ let obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias !== undefined) obj.common.type = typeAlias; if(obj.common.read !== undefined) obj.common.alias.read = read; if(obj.common.write !== undefined) obj.common.alias.write = write; if(nameAlias !== undefined) obj.common.name = nameAlias; if(role !== undefined) obj.common.role = role; if(desc !== undefined) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit !== undefined) obj.common.unit = unit; if(states !== undefined) obj.common.states = states; obj.native = {}; obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird log('Created Alias-State ' + idDst); setObject(idDst, obj,(err) =>{ if(!err) startAttach(); else log('Error creating-alias','error'); }); } else startAttach(); } // Save ID and Enum (room or function) var attach = (id, enu,value) => { if(id.length == 0){ log('ID has lenght 0, can not attach to enum','warn'); return; } if(value.length == 0){ log('Value has lenght 0','warn'); return; } let sEnuId = 'enum.' + enu + '.' + value; if(enu.length > 0 && existsObject(sEnuId)) { let obj = getObject(sEnuId) let members = obj.common.members; if(!members.includes(id)){ arEnum.push(sEnuId); arId.push(id); } } else log('Can not find enum ' + sEnuId,'warn'); } function startAttach(){ let bRoom = raum !== undefined && raum.length > 0; let bGewerk = gewerk !== undefined && gewerk.length > 0; if(bRoom) attach(idDst,'rooms',raum); if(bGewerk) attach(idDst,'functions',gewerk); if(bRoom || bGewerk){ if(timeoutAssignEnum){ clearTimeout(timeoutAssignEnum); timeoutAssignEnum = null; } timeoutAssignEnum = setTimeout(finishScript,100); } } createAliasPath(idDst); } function finishScript(){ assignEnums(); } // Add the saved IDs to the rooms/functions function assignEnums(){ if(arEnum.length == 0 || arId.length == 0){ return; } if(arEnum.length != arId.length){ log('Arrays have different size','error'); return; } let mapEnumId = new Map(); for(let i=0;i < arEnum.length; i++){ let enu = arEnum[i]; let id = arId[i]; if(existsObject(id)){ let obj = getObject(enu) let members; if(!mapEnumId.has(enu)){ members = obj.common.members; mapEnumId.set(enu,members); } else members = mapEnumId.get(enu); if(!members.includes(id)){ log("Adding " + id + " to " + enu); members.push(id); } } else log('Can not find Alias ' + id,'error'); } function setMembers(members,enu,map){ let obj = getObject(enu); obj.common.members = members; setObject(enu,obj); } mapEnumId.forEach(setMembers); } /********************************************************** END / ENDE **********************************************************/ ////////////////////////////// // Fenster ////////////////////////////// //2 x Fenstersensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //2 x Fenstersensoren HM //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias //{false: 'geschlossen', true: 'geöffnet'} createAlias('deconz.0.Sensors.7.open'/*Fensterkontakt-Küche open*/, 'Fenster.Fensterkontakt_Kueche', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //2 x Fensterdrehgriffe HMIP //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //2 x Fenster(Türen) Sensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) ////////////////////////////// // Steckdosen ////////////////////////////// //2 x Steckdosen //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.14.on'/*Steckdosenleiste-Abstellkammer on*/, 'Steckdosen.Abstellkammer.Steckdosenleiste_Abstellkammer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Steckdosenleiste-Abstellkammer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.15.on'/*Computer-1-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_1_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer-1-Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.33.on'/*Computer-2-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_2_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer_2_Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.31.on'/*Dunstabzugshaube-Küche on*/, 'Steckdosen.Kueche.Dunstabzugshaube_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Dunstabzugshaube-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.13.on'/*Kaffeemaschine-Küche on*/, 'Steckdosen.Kueche.Kaffeemaschine_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Kaffeemaschine-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.12.on'/*Fernseher-Küche on*/, 'Steckdosen.Kueche.Fernseher-Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.7.on'/*Fernseher-Esszimmer on*/, 'Steckdosen.Esszimmer.Fernseher_Esszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Esszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.10.on'/*Media-Wohnzimmer on*/, 'Steckdosen.Wohnzimmer.Media_Wohnzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Media-Wohnzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.8.on'/*Netzteil-Laptop on*/, 'Steckdosen.Wohnzimmer.Netzteil_Laptop', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Netzteil-Laptop', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.11.on'/*Fernseher-Schlafzimmer on*/, 'Steckdosen.Schlafzimmer.Fernseher_Schlafzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Schlafzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.30.on'/*Pumpe-Schuppen on*/, 'Steckdosen.Schuppen.Pumpe_Schuppen', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Pumpe-Schuppen', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Bewegungsmelder ////////////////////////////// //2 x Bewegungsmelder und 2 x Präsenzmelder und 1 x Erschütterungssensor //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias //{false: 'inaktiv', true: 'aktiv'} //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 2 x Präsenzmelder //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 1 x Erschütterungssensor //createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) ////////////////////////////// // Licht ////////////////////////////// //2 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.29.on'/*Deckenlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Deckenlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.28.on'/*Wandlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Wandlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.27.on'/*Deckenlampe-Badezimmer on*/, 'Licht.Badezimmer.Deckenlampe_Badezimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Badezimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.17.on'/*Deckenlampe-Flur on*/, 'Licht.Flur.Deckenlampe_Flur', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Flur', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.6.on'/*Lampe-Verteilung on*/, 'Licht.Flur.Lampe_Verteilung', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Verteilung', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER1'/*Shelly-Serienschalter-Bad POWER1*/, 'Licht.Bad.Spot_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spot-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER2'/*Shelly-Serienschalter-Bad POWER2*/, 'Licht.Bad.Sternenhimmel_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sternenhimmel-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.20.on'/*Schrank-1-Bad on*/, 'Licht.Bad.Schrank_1_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.19.on'/*Schrank-2-Bad on*/, 'Licht.Bad.Schrank_2_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER1'/*Sonoff-Serienschalter-Küche POWER1*/, 'Licht.Kueche.Deckenlampe_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER2'/*Sonoff-Serienschalter-Küche POWER2*/, 'Licht.Kueche.Lampe_1_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-1-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.21.on'/*Spüle-Küche on*/, 'Licht.Kueche.Spuele_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spüle-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.22.on'/*Sitzecke-Küche on*/, 'Licht.Kueche.Sitzecke_Küche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sitzecke-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER1'/*Sonoff-Serienschalter-Esszimmer POWER1*/, 'Licht.Esszimmer.Deckenlampe_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER2'/*Sonoff-Serienschalter-Esszimmer POWER2*/, 'Licht.Esszimmer.Deckenlampe_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.23.on'/*Schrank-1-Esszimmer on*/, 'Licht.Esszimmer.Schrank_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.2.on'/*Schrank-2-Esszimmer on*/, 'Licht.Esszimmer.Schrank_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.24.on'/*Deckenlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.9.on'/*Deckenfluter-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenfluter_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenfluter-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.1.on'/*Tischlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Tischlampe_Wohnzimmer, undefined, 'licht_alias', 'boolean', undefined, undefined, 'Tischlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.5.on'/*Deckenlampe-1-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_1_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.26.on'/*Deckenlampe-2-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_2_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.25.on'/*Deckenlampe-3-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_3_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-3-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Lampe-Kellertreppe.POWER'/*Lampe-Kellertreppe POWER*/, 'Licht.Keller.Lampe_Kellertreppe', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Kellertreppe', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.18.on'/*Lampen-Schuppen on*/, 'Licht.Schuppen.Lampen-Schuppen', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampen-Schuppen', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //ab hier 2 x Licht HMIP Steckdosen über rpc Adapter //createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Temperaturen ////////////////////////////// //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias createAlias('hmip.0.devices.3014F711A0000A1A49A53E9E.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Abstellkammer.Temperatur_Abstellkammer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Abstellkammer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533E3.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Arbeitszimmer.Temperatur_Arbeitszimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Arbeitszimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DC.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Badezimmer.Temperatur_Badezimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Badezimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53F7A.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Bad.Temperatur_Bad', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Bad', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A536FD.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Kueche.Temperatur_Kueche', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Küche', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A534C1.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A545DA.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53500.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Wohnzimmer.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A54635.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DB.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) ////////////////////////////// // Batterien_voll_leer ////////////////////////////// //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias createAlias('deconz.0.Sensors.7.battery'/*Fensterkontakt-Küche battery*/, 'Batterien_voll_leer.Fensterkontakt_Kueche', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) createAlias('deconz.0.Sensors.3.battery'/*Bewegungsmelder battery*/, 'Batterien_voll_leer.Bewegungsmelder_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder-Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) ////////////////////////////// // Batterien_Volt ////////////////////////////// //2 x Batterien Volt Anzeige in function batterien_volt_alias //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined) //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)Dabei bekomme ich im Log folgende Fehlermeldung:
javascript.0 2020-11-18 18:22:12.265 error (2706) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-11-18 18:22:12.265 error (2706) at runMicrotasks (<anonymous>) javascript.0 2020-11-18 18:22:12.264 error (2706) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-11-18 18:22:12.264 error (2706) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2020-11-18 18:22:12.262 error (2706) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2020-11-18 18:22:12.262 error (2706) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2020-11-18 18:22:12.261 error (2706) at Object.createScript (vm.js:261:10) javascript.0 2020-11-18 18:22:12.261 error (2706) at new Script (vm.js:88:7) javascript.0 2020-11-18 18:22:12.260 error (2706) SyntaxError: missing ) after argument list javascript.0 2020-11-18 18:22:12.260 error (2706) ^^^^^^^^^^^^^^^^^^^^^^^^ javascript.0 2020-11-18 18:22:12.259 error (2706) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch javascript.0 2020-11-18 18:22:12.259 error (2706) script.js.common.Test.Aliase compile failed: at script.js.common.Test.Aliase:350Ich hoffe mir kann jemand sagen wo meine Fehler liegen.
Vielen dank im Voraus
-
Hallo ich habe gerade nach dem folgenden Alias Skript meine Aliasse erstellen wollen.
/************************************************************** Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js Changelog Version 1.1.4 - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path) **************************************************************/ /************************************** Flags / Variablen ***************************************/ // typeAlias = 'boolean'; // oder 'number' // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? 'Ein' : 'Aus'"; // nameAlias = 'Licht Haustür'; // role = 'switch'; // desc = 'per Script erstellt'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) let bCreateAliasPath = true; // If this flag is true, each folder is created seperately so rooms and functions can be assigned. /* Requirements: bCreateAliasPath == true If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned. */ let bConvertExistingPath = false; /*************************************** Don't change anything from here / Ab hier nichts verändern ***************************************/ let arEnum = []; let arId = []; let timeoutAssignEnum; var callbackAlias = undefined; function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) { if(!idDst.includes('alias.0.')) idDst = 'alias.0.' + idDst; if(!existsObject(idSrc)) { log('Source-Id ' + idSrc +' does not exists.','warn'); return; } // Create the object Path for alias id, // so you can assign rooms and function to the parents var createAliasPath = (id) => { if(bCreateAliasPath){ let lisMergedIds = []; let mergedId = 'alias.0'; id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed let split = id.split('.'); for(let i=0;i<split.length-1;i++){ mergedId += '.' + split[i]; lisMergedIds.push(mergedId); } function path(){ if(lisMergedIds.length == 0) { alias(); return; } let tmpId = lisMergedIds[0]; lisMergedIds.splice(0,1); // remove element if(!existsObject(tmpId) || bConvertExistingPath){ // not exists let obj; if(existsObject(tmpId)) obj = getObject(tmpId); else obj = {}; let bApply = false; if(obj != undefined){ if(obj.type == undefined || String(obj.type) != 'meta'){ obj.type = 'meta'; bApply = true; } if(obj.common == undefined){ obj.common = {}; obj.common.type = 'meta.folder'; bApply = true; } else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){ obj.common.type = 'meta.folder'; bApply = true; } if(obj.native == undefined){ obj.native = {}; bApply = true; } } else{ path(); log('Object is undefined'); return; } if(bApply){ setObject(tmpId, obj, (err) =>{ if(!err){ log('Created Alias-Path ' + tmpId); path(); } else log('Error creating alias-path','error'); }); } else path(); } } path(); } else alias(); } function alias(){ // Create alias object if(!existsObject(idDst)){ let obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias !== undefined) obj.common.type = typeAlias; if(obj.common.read !== undefined) obj.common.alias.read = read; if(obj.common.write !== undefined) obj.common.alias.write = write; if(nameAlias !== undefined) obj.common.name = nameAlias; if(role !== undefined) obj.common.role = role; if(desc !== undefined) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit !== undefined) obj.common.unit = unit; if(states !== undefined) obj.common.states = states; obj.native = {}; obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird log('Created Alias-State ' + idDst); setObject(idDst, obj,(err) =>{ if(!err) startAttach(); else log('Error creating-alias','error'); }); } else startAttach(); } // Save ID and Enum (room or function) var attach = (id, enu,value) => { if(id.length == 0){ log('ID has lenght 0, can not attach to enum','warn'); return; } if(value.length == 0){ log('Value has lenght 0','warn'); return; } let sEnuId = 'enum.' + enu + '.' + value; if(enu.length > 0 && existsObject(sEnuId)) { let obj = getObject(sEnuId) let members = obj.common.members; if(!members.includes(id)){ arEnum.push(sEnuId); arId.push(id); } } else log('Can not find enum ' + sEnuId,'warn'); } function startAttach(){ let bRoom = raum !== undefined && raum.length > 0; let bGewerk = gewerk !== undefined && gewerk.length > 0; if(bRoom) attach(idDst,'rooms',raum); if(bGewerk) attach(idDst,'functions',gewerk); if(bRoom || bGewerk){ if(timeoutAssignEnum){ clearTimeout(timeoutAssignEnum); timeoutAssignEnum = null; } timeoutAssignEnum = setTimeout(finishScript,100); } } createAliasPath(idDst); } function finishScript(){ assignEnums(); } // Add the saved IDs to the rooms/functions function assignEnums(){ if(arEnum.length == 0 || arId.length == 0){ return; } if(arEnum.length != arId.length){ log('Arrays have different size','error'); return; } let mapEnumId = new Map(); for(let i=0;i < arEnum.length; i++){ let enu = arEnum[i]; let id = arId[i]; if(existsObject(id)){ let obj = getObject(enu) let members; if(!mapEnumId.has(enu)){ members = obj.common.members; mapEnumId.set(enu,members); } else members = mapEnumId.get(enu); if(!members.includes(id)){ log("Adding " + id + " to " + enu); members.push(id); } } else log('Can not find Alias ' + id,'error'); } function setMembers(members,enu,map){ let obj = getObject(enu); obj.common.members = members; setObject(enu,obj); } mapEnumId.forEach(setMembers); } /********************************************************** END / ENDE **********************************************************/ ////////////////////////////// // Fenster ////////////////////////////// //2 x Fenstersensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //2 x Fenstersensoren HM //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias //{false: 'geschlossen', true: 'geöffnet'} createAlias('deconz.0.Sensors.7.open'/*Fensterkontakt-Küche open*/, 'Fenster.Fensterkontakt_Kueche', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //2 x Fensterdrehgriffe HMIP //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //2 x Fenster(Türen) Sensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) ////////////////////////////// // Steckdosen ////////////////////////////// //2 x Steckdosen //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.14.on'/*Steckdosenleiste-Abstellkammer on*/, 'Steckdosen.Abstellkammer.Steckdosenleiste_Abstellkammer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Steckdosenleiste-Abstellkammer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.15.on'/*Computer-1-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_1_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer-1-Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.33.on'/*Computer-2-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_2_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer_2_Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.31.on'/*Dunstabzugshaube-Küche on*/, 'Steckdosen.Kueche.Dunstabzugshaube_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Dunstabzugshaube-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.13.on'/*Kaffeemaschine-Küche on*/, 'Steckdosen.Kueche.Kaffeemaschine_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Kaffeemaschine-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.12.on'/*Fernseher-Küche on*/, 'Steckdosen.Kueche.Fernseher-Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.7.on'/*Fernseher-Esszimmer on*/, 'Steckdosen.Esszimmer.Fernseher_Esszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Esszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.10.on'/*Media-Wohnzimmer on*/, 'Steckdosen.Wohnzimmer.Media_Wohnzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Media-Wohnzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.8.on'/*Netzteil-Laptop on*/, 'Steckdosen.Wohnzimmer.Netzteil_Laptop', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Netzteil-Laptop', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.11.on'/*Fernseher-Schlafzimmer on*/, 'Steckdosen.Schlafzimmer.Fernseher_Schlafzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Schlafzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.30.on'/*Pumpe-Schuppen on*/, 'Steckdosen.Schuppen.Pumpe_Schuppen', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Pumpe-Schuppen', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Bewegungsmelder ////////////////////////////// //2 x Bewegungsmelder und 2 x Präsenzmelder und 1 x Erschütterungssensor //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias //{false: 'inaktiv', true: 'aktiv'} //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 2 x Präsenzmelder //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 1 x Erschütterungssensor //createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) ////////////////////////////// // Licht ////////////////////////////// //2 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.29.on'/*Deckenlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Deckenlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.28.on'/*Wandlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Wandlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.27.on'/*Deckenlampe-Badezimmer on*/, 'Licht.Badezimmer.Deckenlampe_Badezimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Badezimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.17.on'/*Deckenlampe-Flur on*/, 'Licht.Flur.Deckenlampe_Flur', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Flur', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.6.on'/*Lampe-Verteilung on*/, 'Licht.Flur.Lampe_Verteilung', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Verteilung', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER1'/*Shelly-Serienschalter-Bad POWER1*/, 'Licht.Bad.Spot_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spot-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER2'/*Shelly-Serienschalter-Bad POWER2*/, 'Licht.Bad.Sternenhimmel_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sternenhimmel-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.20.on'/*Schrank-1-Bad on*/, 'Licht.Bad.Schrank_1_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.19.on'/*Schrank-2-Bad on*/, 'Licht.Bad.Schrank_2_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER1'/*Sonoff-Serienschalter-Küche POWER1*/, 'Licht.Kueche.Deckenlampe_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER2'/*Sonoff-Serienschalter-Küche POWER2*/, 'Licht.Kueche.Lampe_1_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-1-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.21.on'/*Spüle-Küche on*/, 'Licht.Kueche.Spuele_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spüle-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.22.on'/*Sitzecke-Küche on*/, 'Licht.Kueche.Sitzecke_Küche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sitzecke-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER1'/*Sonoff-Serienschalter-Esszimmer POWER1*/, 'Licht.Esszimmer.Deckenlampe_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER2'/*Sonoff-Serienschalter-Esszimmer POWER2*/, 'Licht.Esszimmer.Deckenlampe_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.23.on'/*Schrank-1-Esszimmer on*/, 'Licht.Esszimmer.Schrank_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.2.on'/*Schrank-2-Esszimmer on*/, 'Licht.Esszimmer.Schrank_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.24.on'/*Deckenlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.9.on'/*Deckenfluter-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenfluter_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenfluter-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.1.on'/*Tischlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Tischlampe_Wohnzimmer, undefined, 'licht_alias', 'boolean', undefined, undefined, 'Tischlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.5.on'/*Deckenlampe-1-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_1_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.26.on'/*Deckenlampe-2-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_2_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.25.on'/*Deckenlampe-3-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_3_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-3-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Lampe-Kellertreppe.POWER'/*Lampe-Kellertreppe POWER*/, 'Licht.Keller.Lampe_Kellertreppe', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Kellertreppe', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.18.on'/*Lampen-Schuppen on*/, 'Licht.Schuppen.Lampen-Schuppen', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampen-Schuppen', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //ab hier 2 x Licht HMIP Steckdosen über rpc Adapter //createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Temperaturen ////////////////////////////// //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias createAlias('hmip.0.devices.3014F711A0000A1A49A53E9E.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Abstellkammer.Temperatur_Abstellkammer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Abstellkammer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533E3.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Arbeitszimmer.Temperatur_Arbeitszimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Arbeitszimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DC.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Badezimmer.Temperatur_Badezimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Badezimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53F7A.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Bad.Temperatur_Bad', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Bad', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A536FD.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Kueche.Temperatur_Kueche', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Küche', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A534C1.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A545DA.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53500.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Wohnzimmer.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A54635.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DB.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) ////////////////////////////// // Batterien_voll_leer ////////////////////////////// //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias createAlias('deconz.0.Sensors.7.battery'/*Fensterkontakt-Küche battery*/, 'Batterien_voll_leer.Fensterkontakt_Kueche', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) createAlias('deconz.0.Sensors.3.battery'/*Bewegungsmelder battery*/, 'Batterien_voll_leer.Bewegungsmelder_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder-Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) ////////////////////////////// // Batterien_Volt ////////////////////////////// //2 x Batterien Volt Anzeige in function batterien_volt_alias //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined) //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)Dabei bekomme ich im Log folgende Fehlermeldung:
javascript.0 2020-11-18 18:22:12.265 error (2706) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-11-18 18:22:12.265 error (2706) at runMicrotasks (<anonymous>) javascript.0 2020-11-18 18:22:12.264 error (2706) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-11-18 18:22:12.264 error (2706) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2020-11-18 18:22:12.262 error (2706) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2020-11-18 18:22:12.262 error (2706) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2020-11-18 18:22:12.261 error (2706) at Object.createScript (vm.js:261:10) javascript.0 2020-11-18 18:22:12.261 error (2706) at new Script (vm.js:88:7) javascript.0 2020-11-18 18:22:12.260 error (2706) SyntaxError: missing ) after argument list javascript.0 2020-11-18 18:22:12.260 error (2706) ^^^^^^^^^^^^^^^^^^^^^^^^ javascript.0 2020-11-18 18:22:12.259 error (2706) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch javascript.0 2020-11-18 18:22:12.259 error (2706) script.js.common.Test.Aliase compile failed: at script.js.common.Test.Aliase:350Ich hoffe mir kann jemand sagen wo meine Fehler liegen.
Vielen dank im Voraus
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Dabei bekomme ich im Log folgende Fehlermeldung:
in Zeile 350 fehlt z.B. hinten ein Semikolon bei
Wandlampe-Wohnzimmer
-
Hallo ich habe gerade nach dem folgenden Alias Skript meine Aliasse erstellen wollen.
/************************************************************** Github - https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js Changelog Version 1.1.4 - fix error by using bCreateAliasPath and bConvertExistingPath (has no target 9/Error creating alias-path) **************************************************************/ /************************************** Flags / Variablen ***************************************/ // typeAlias = 'boolean'; // oder 'number' // read = "val == 'Ein' ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? 'Ein' : 'Aus'"; // nameAlias = 'Licht Haustür'; // role = 'switch'; // desc = 'per Script erstellt'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) let bCreateAliasPath = true; // If this flag is true, each folder is created seperately so rooms and functions can be assigned. /* Requirements: bCreateAliasPath == true If this flag is true, existing folders in the path will be converted so rooms and functions can be assigned. */ let bConvertExistingPath = false; /*************************************** Don't change anything from here / Ab hier nichts verändern ***************************************/ let arEnum = []; let arId = []; let timeoutAssignEnum; var callbackAlias = undefined; function createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states) { if(!idDst.includes('alias.0.')) idDst = 'alias.0.' + idDst; if(!existsObject(idSrc)) { log('Source-Id ' + idSrc +' does not exists.','warn'); return; } // Create the object Path for alias id, // so you can assign rooms and function to the parents var createAliasPath = (id) => { if(bCreateAliasPath){ let lisMergedIds = []; let mergedId = 'alias.0'; id = id.replace(mergedId + '.', ''); // Remove prefix alias so it will not be changed let split = id.split('.'); for(let i=0;i<split.length-1;i++){ mergedId += '.' + split[i]; lisMergedIds.push(mergedId); } function path(){ if(lisMergedIds.length == 0) { alias(); return; } let tmpId = lisMergedIds[0]; lisMergedIds.splice(0,1); // remove element if(!existsObject(tmpId) || bConvertExistingPath){ // not exists let obj; if(existsObject(tmpId)) obj = getObject(tmpId); else obj = {}; let bApply = false; if(obj != undefined){ if(obj.type == undefined || String(obj.type) != 'meta'){ obj.type = 'meta'; bApply = true; } if(obj.common == undefined){ obj.common = {}; obj.common.type = 'meta.folder'; bApply = true; } else if(obj.common.type == undefined || String(obj.common.type) != 'meta.folder'){ obj.common.type = 'meta.folder'; bApply = true; } if(obj.native == undefined){ obj.native = {}; bApply = true; } } else{ path(); log('Object is undefined'); return; } if(bApply){ setObject(tmpId, obj, (err) =>{ if(!err){ log('Created Alias-Path ' + tmpId); path(); } else log('Error creating alias-path','error'); }); } else path(); } } path(); } else alias(); } function alias(){ // Create alias object if(!existsObject(idDst)){ let obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias !== undefined) obj.common.type = typeAlias; if(obj.common.read !== undefined) obj.common.alias.read = read; if(obj.common.write !== undefined) obj.common.alias.write = write; if(nameAlias !== undefined) obj.common.name = nameAlias; if(role !== undefined) obj.common.role = role; if(desc !== undefined) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit !== undefined) obj.common.unit = unit; if(states !== undefined) obj.common.states = states; obj.native = {}; obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird log('Created Alias-State ' + idDst); setObject(idDst, obj,(err) =>{ if(!err) startAttach(); else log('Error creating-alias','error'); }); } else startAttach(); } // Save ID and Enum (room or function) var attach = (id, enu,value) => { if(id.length == 0){ log('ID has lenght 0, can not attach to enum','warn'); return; } if(value.length == 0){ log('Value has lenght 0','warn'); return; } let sEnuId = 'enum.' + enu + '.' + value; if(enu.length > 0 && existsObject(sEnuId)) { let obj = getObject(sEnuId) let members = obj.common.members; if(!members.includes(id)){ arEnum.push(sEnuId); arId.push(id); } } else log('Can not find enum ' + sEnuId,'warn'); } function startAttach(){ let bRoom = raum !== undefined && raum.length > 0; let bGewerk = gewerk !== undefined && gewerk.length > 0; if(bRoom) attach(idDst,'rooms',raum); if(bGewerk) attach(idDst,'functions',gewerk); if(bRoom || bGewerk){ if(timeoutAssignEnum){ clearTimeout(timeoutAssignEnum); timeoutAssignEnum = null; } timeoutAssignEnum = setTimeout(finishScript,100); } } createAliasPath(idDst); } function finishScript(){ assignEnums(); } // Add the saved IDs to the rooms/functions function assignEnums(){ if(arEnum.length == 0 || arId.length == 0){ return; } if(arEnum.length != arId.length){ log('Arrays have different size','error'); return; } let mapEnumId = new Map(); for(let i=0;i < arEnum.length; i++){ let enu = arEnum[i]; let id = arId[i]; if(existsObject(id)){ let obj = getObject(enu) let members; if(!mapEnumId.has(enu)){ members = obj.common.members; mapEnumId.set(enu,members); } else members = mapEnumId.get(enu); if(!members.includes(id)){ log("Adding " + id + " to " + enu); members.push(id); } } else log('Can not find Alias ' + id,'error'); } function setMembers(members,enu,map){ let obj = getObject(enu); obj.common.members = members; setObject(enu,obj); } mapEnumId.forEach(setMembers); } /********************************************************** END / ENDE **********************************************************/ ////////////////////////////// // Fenster ////////////////////////////// //2 x Fenstersensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Fenster links STATE*/, 'Fenster.Wohnzimmer_Fenster_links', undefined, 'fenster_alias', 'number', undefined, undefined, 'Wohnzimmer links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'number',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //2 x Fenstersensoren HM //einfache HM Fenstersensoren über rpc-Adapter in function fenster_alias //{false: 'geschlossen', true: 'geöffnet'} createAlias('deconz.0.Sensors.7.open'/*Fensterkontakt-Küche open*/, 'Fenster.Fensterkontakt_Kueche', undefined, 'fenster_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Küche Fenster links STATE*/, 'Fenster.Kueche_Fenster_links', undefined, 'fenster_alias', 'boolean',undefined, undefined, 'Küche links', 'window.value', 'per Script erstellt', undefined, undefined, undefined, {false: 'geschlossen', true: 'geöffnet'}) //2 x Fensterdrehgriffe HMIP //HMIP Fensterdrehgriffe über rpc-Adapter in function fenster_alias //{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller W-Baum Fenster STATE*/, 'Fenster.Keller_Weihnachtsbaum_Fenster', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller W Baum', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Keller Wohnzimmer Fenster mitte STATE*/, 'Fenster.Keller_Wohnzimmer_Fenster_mitte', undefined, 'fenster_alias', 'number',undefined, undefined, 'Keller Wohnzimmer mitte', 'window.value', 'per Script erstellt', 0, 2, '',{0: 'geschlossen', 1: 'gekippt', 2: 'geöffnet'}) //2 x Fenster(Türen) Sensoren HMIP //einfache HMIP Fenstersensoren über rpc-Adapter in function tueren_alias //{0: 'geschlossen', 1: 'geöffnet'} //createAlias('hm-rpc.0.xxx.1.STATE'/*Wohnzimmer Terrassentür STATE*/, 'Tueren.Terrassentuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Terrassentür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) //createAlias('hm-rpc.0.xxx.1.STATE'/*Haustür STATE*/, 'Tueren.Haustuer', undefined, 'tueren_alias', 'number',undefined, undefined, 'Haustür', 'window.value', 'per Script erstellt', 0, 1, '',{0: 'geschlossen', 1: 'geöffnet'}) ////////////////////////////// // Steckdosen ////////////////////////////// //2 x Steckdosen //HMIP Steckdosen über rpc-Adapter in function steckdosen_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.14.on'/*Steckdosenleiste-Abstellkammer on*/, 'Steckdosen.Abstellkammer.Steckdosenleiste_Abstellkammer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Steckdosenleiste-Abstellkammer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.15.on'/*Computer-1-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_1_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer-1-Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.33.on'/*Computer-2-Arbeitszimmer on*/, 'Steckdosen.Arbeitszimmer.Computer_2_Arbeitszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Computer_2_Arbeitszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.31.on'/*Dunstabzugshaube-Küche on*/, 'Steckdosen.Kueche.Dunstabzugshaube_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Dunstabzugshaube-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.13.on'/*Kaffeemaschine-Küche on*/, 'Steckdosen.Kueche.Kaffeemaschine_Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Kaffeemaschine-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.12.on'/*Fernseher-Küche on*/, 'Steckdosen.Kueche.Fernseher-Kueche', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Küche', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.7.on'/*Fernseher-Esszimmer on*/, 'Steckdosen.Esszimmer.Fernseher_Esszimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Esszimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.10.on'/*Media-Wohnzimmer on*/, 'Steckdosen.Wohnzimmer.Media_Wohnzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Media-Wohnzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.8.on'/*Netzteil-Laptop on*/, 'Steckdosen.Wohnzimmer.Netzteil_Laptop', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Netzteil-Laptop', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.11.on'/*Fernseher-Schlafzimmer on*/, 'Steckdosen.Schlafzimmer.Fernseher_Schlafzimmer', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Fernseher-Schlafzimmer', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.30.on'/*Pumpe-Schuppen on*/, 'Steckdosen.Schuppen.Pumpe_Schuppen', undefined, 'steckdosen_alias', 'boolean', undefined, undefined, 'Pumpe-Schuppen', 'switch', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Bewegungsmelder ////////////////////////////// //2 x Bewegungsmelder und 2 x Präsenzmelder und 1 x Erschütterungssensor //HMIP Bewegungsmelder und Präsenzmelder über rpc-Adapter in function bewegungsmelder_alias //{false: 'inaktiv', true: 'aktiv'} //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Weihnachtsbaumkeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Weihnachtsbaumkeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'W Baum Keller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.MOTION'/*Bewegungsmelder Heizungskeller MOTION*/, 'Bewegungsmelder.Bewegungsmelder_Heizungskeller', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Heizungskeller', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 2 x Präsenzmelder //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Badezimmer PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Badezimmer', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Badezimmer', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //createAlias('hm-rpc.0.xxx.1.PRESENCE_DETECTION_STATE'/*Präsenzmelder Dusche PRESENCE DETECTION STATE*/, 'Bewegungsmelder.Praesenzmelder_Dusche', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Dusche', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) //ab hier 1 x Erschütterungssensor //createAlias('hm-rpc.0.xxx.1.MOTION'/*Briefkasten MOTION*/, 'Bewegungsmelder.Praesenzmelder_Briefkasten', undefined, 'bewegungsmelder_alias', 'boolean', undefined, undefined, 'Briefkasten', 'sensor.motion', 'per Script erstellt', undefined, undefined, undefined, {false: 'inaktiv', true: 'aktiv'}) ////////////////////////////// // Licht ////////////////////////////// //2 x HUE und 5 x HMIP Licht über HUE und rpc-Adapter in function licht_alias //{false: 'aus', true: 'an'} createAlias('deconz.0.Lights.29.on'/*Deckenlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Deckenlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.28.on'/*Wandlampe-Arbeitszimmer on*/, 'Licht.Arbeitszimmer.Wandlampe_Arbeitszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Arbeitszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.27.on'/*Deckenlampe-Badezimmer on*/, 'Licht.Badezimmer.Deckenlampe_Badezimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Badezimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.17.on'/*Deckenlampe-Flur on*/, 'Licht.Flur.Deckenlampe_Flur', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Flur', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.6.on'/*Lampe-Verteilung on*/, 'Licht.Flur.Lampe_Verteilung', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Verteilung', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER1'/*Shelly-Serienschalter-Bad POWER1*/, 'Licht.Bad.Spot_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spot-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Shelly-Serienschalter-Bad.POWER2'/*Shelly-Serienschalter-Bad POWER2*/, 'Licht.Bad.Sternenhimmel_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sternenhimmel-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.20.on'/*Schrank-1-Bad on*/, 'Licht.Bad.Schrank_1_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.19.on'/*Schrank-2-Bad on*/, 'Licht.Bad.Schrank_2_Bad', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Bad', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER1'/*Sonoff-Serienschalter-Küche POWER1*/, 'Licht.Kueche.Deckenlampe_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Küche.POWER2'/*Sonoff-Serienschalter-Küche POWER2*/, 'Licht.Kueche.Lampe_1_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-1-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.21.on'/*Spüle-Küche on*/, 'Licht.Kueche.Spuele_Kueche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Spüle-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.22.on'/*Sitzecke-Küche on*/, 'Licht.Kueche.Sitzecke_Küche', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Sitzecke-Küche', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER1'/*Sonoff-Serienschalter-Esszimmer POWER1*/, 'Licht.Esszimmer.Deckenlampe_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Sonoff-Serienschalter-Esszimmer.POWER2'/*Sonoff-Serienschalter-Esszimmer POWER2*/, 'Licht.Esszimmer.Deckenlampe_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.23.on'/*Schrank-1-Esszimmer on*/, 'Licht.Esszimmer.Schrank_1_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-1-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.2.on'/*Schrank-2-Esszimmer on*/, 'Licht.Esszimmer.Schrank_2_Esszimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Schrank-2-Esszimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.24.on'/*Deckenlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.9.on'/*Deckenfluter-Wohnzimmer on*/, 'Licht.Wohnzimmer.Deckenfluter_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenfluter-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.1.on'/*Tischlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Tischlampe_Wohnzimmer, undefined, 'licht_alias', 'boolean', undefined, undefined, 'Tischlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.5.on'/*Deckenlampe-1-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_1_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-1-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.26.on'/*Deckenlampe-2-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_2_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-2-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.25.on'/*Deckenlampe-3-Schlafzimmer on*/, 'Licht.Schlafzimmer.Deckenlampe_3_Schlafzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Deckenlampe-3-Schlafzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('sonoff.0.Lampe-Kellertreppe.POWER'/*Lampe-Kellertreppe POWER*/, 'Licht.Keller.Lampe_Kellertreppe', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampe-Kellertreppe', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) createAlias('deconz.0.Lights.18.on'/*Lampen-Schuppen on*/, 'Licht.Schuppen.Lampen-Schuppen', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Lampen-Schuppen', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //ab hier 2 x Licht HMIP Steckdosen über rpc Adapter //createAlias('hm-rpc.0.xxx.3.STATE'/*Kugellampe STATE*/, 'Licht.Wohnzimmer_Kugel_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Kugellicht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) //createAlias('hm-rpc.0.xxx.3.STATE'/*Gäste WC Licht STATE*/, 'Licht.Gaeste_WC_Licht', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Gäste WC Licht', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'}) ////////////////////////////// // Temperaturen ////////////////////////////// //HMIP 2 x Temperaturen über rpc-Adapter in function temperaturen_alias createAlias('hmip.0.devices.3014F711A0000A1A49A53E9E.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Abstellkammer.Temperatur_Abstellkammer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Abstellkammer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533E3.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Arbeitszimmer.Temperatur_Arbeitszimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Arbeitszimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DC.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Badezimmer.Temperatur_Badezimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Badezimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53F7A.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Bad.Temperatur_Bad', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Bad', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A536FD.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Kueche.Temperatur_Kueche', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Küche', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A534C1.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A545DA.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Esszimmer.Temperatur_Esszimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Esszimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A53500.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Wohnzimmer.Temperatur_Wohnzimmer', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Wohnzimmer', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A54635.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_1', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-1', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) createAlias('hmip.0.devices.3014F711A0000A1A49A533DB.channels.1.valveActualTemperature'/*valveActualTemperature*/, 'Temperaturen.Schlafzimmer.Temperatur_Schlafzimmer_2', undefined, 'temperaturen_alias', 'number', 'Math.round(val * 10) / 10', undefined, 'Schlafzimmer-2', 'value.temperature', 'per Script erstellt', undefined, undefined, '°C', undefined) ////////////////////////////// // Batterien_voll_leer ////////////////////////////// //2 x Batterien voll-leer über boolean Wert false/true in function batterien_voll_leer_alias createAlias('deconz.0.Sensors.7.battery'/*Fensterkontakt-Küche battery*/, 'Batterien_voll_leer.Fensterkontakt_Kueche', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Fensterkontakt-Küche', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) createAlias('deconz.0.Sensors.3.battery'/*Bewegungsmelder battery*/, 'Batterien_voll_leer.Bewegungsmelder_Flur', undefined, 'batterien_voll_leer_alias', 'boolean', undefined, undefined, 'Bewegungsmelder-Flur', 'indicator.lowbat', 'per Script erstellt', undefined, undefined, undefined, {false: 'voll', true: 'leer'}) ////////////////////////////// // Batterien_Volt ////////////////////////////// //2 x Batterien Volt Anzeige in function batterien_volt_alias //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Wohnzimmer Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Wohnzimmer_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Wohnzimmer Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined) //createAlias('hm-rpc.0.xxx.0.OPERATING_VOLTAGE'/*Küche Fenster links:0 OPERATING VOLTAGE*/, 'Batterien_Volt.Kueche_Fenster_links', undefined, 'batterien_volt_alias', 'number', undefined, undefined, 'Küche Fenster links', 'value.voltage', 'per Script erstellt', undefined, undefined, 'Volt', undefined)Dabei bekomme ich im Log folgende Fehlermeldung:
javascript.0 2020-11-18 18:22:12.265 error (2706) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-11-18 18:22:12.265 error (2706) at runMicrotasks (<anonymous>) javascript.0 2020-11-18 18:22:12.264 error (2706) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-11-18 18:22:12.264 error (2706) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2020-11-18 18:22:12.263 error (2706) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2020-11-18 18:22:12.262 error (2706) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2020-11-18 18:22:12.262 error (2706) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2020-11-18 18:22:12.261 error (2706) at Object.createScript (vm.js:261:10) javascript.0 2020-11-18 18:22:12.261 error (2706) at new Script (vm.js:88:7) javascript.0 2020-11-18 18:22:12.260 error (2706) SyntaxError: missing ) after argument list javascript.0 2020-11-18 18:22:12.260 error (2706) ^^^^^^^^^^^^^^^^^^^^^^^^ javascript.0 2020-11-18 18:22:12.259 error (2706) createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer, 'switch javascript.0 2020-11-18 18:22:12.259 error (2706) script.js.common.Test.Aliase compile failed: at script.js.common.Test.Aliase:350Ich hoffe mir kann jemand sagen wo meine Fehler liegen.
Vielen dank im Voraus
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Hallo ich habe gerade nach dem folgenden Alias Skript meine Aliasse erstellen wollen.
Es gibt auch eine neuere Version vom Script.
https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js
-
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Hallo ich habe gerade nach dem folgenden Alias Skript meine Aliasse erstellen wollen.
Es gibt auch eine neuere Version vom Script.
https://github.com/xCruziX/ioBroker-Creating-Alias/blob/master/CreateAlias.js
Danke, Das Semikolon hatte ich echt übersehen.
Die ne Version hatte ich gesehen bin damit nur nicht zurecht gekommen. ich wußte nicht wo ich da meine Geräte eingebe.
Semikolon habe ich gesetzt allerdings ändert sich nicht an der Fehlermeldung.
createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})javascript.0 2020-11-18 19:04:57.921 error (28754) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-11-18 19:04:57.921 error (28754) at runMicrotasks (<anonymous>) javascript.0 2020-11-18 19:04:57.921 error (28754) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-11-18 19:04:57.920 error (28754) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2020-11-18 19:04:57.919 error (28754) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2020-11-18 19:04:57.919 error (28754) at Object.createScript (vm.js:261:10) javascript.0 2020-11-18 19:04:57.919 error (28754) at new Script (vm.js:88:7) javascript.0 2020-11-18 19:04:57.919 error (28754) SyntaxError: missing ) after argument list javascript.0 2020-11-18 19:04:57.919 error (28754) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ javascript.0 2020-11-18 19:04:57.918 error (28754) createAlias('deconz.0.Lights.1.on'/*Tischlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Tischlampe_Wohnzimmer, undefined, 'licht_alias', 'boolean', undefined, undefined, 'Tischlampe-Wohnzimmer', 's javascript.0 2020-11-18 19:04:57.918 error at script.js.common.Test.Aliase:352 javascript.0 2020-11-18 19:04:57.918 error (28754) script.js.common.Test.Aliase compile failed: -
Danke, Das Semikolon hatte ich echt übersehen.
Die ne Version hatte ich gesehen bin damit nur nicht zurecht gekommen. ich wußte nicht wo ich da meine Geräte eingebe.
Semikolon habe ich gesetzt allerdings ändert sich nicht an der Fehlermeldung.
createAlias('deconz.0.Lights.3.on'/*Wandlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Wandlampe_Wohnzimmer', undefined, 'licht_alias', 'boolean', undefined, undefined, 'Wandlampe-Wohnzimmer', 'switch.light', 'per Script erstellt', undefined, undefined, undefined, {false: 'aus', true: 'an'})javascript.0 2020-11-18 19:04:57.921 error (28754) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2020-11-18 19:04:57.921 error (28754) at runMicrotasks (<anonymous>) javascript.0 2020-11-18 19:04:57.921 error (28754) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-11-18 19:04:57.920 error (28754) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17 javascript.0 2020-11-18 19:04:57.920 error (28754) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37) javascript.0 2020-11-18 19:04:57.919 error (28754) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28) javascript.0 2020-11-18 19:04:57.919 error (28754) at Object.createScript (vm.js:261:10) javascript.0 2020-11-18 19:04:57.919 error (28754) at new Script (vm.js:88:7) javascript.0 2020-11-18 19:04:57.919 error (28754) SyntaxError: missing ) after argument list javascript.0 2020-11-18 19:04:57.919 error (28754) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ javascript.0 2020-11-18 19:04:57.918 error (28754) createAlias('deconz.0.Lights.1.on'/*Tischlampe-Wohnzimmer on*/, 'Licht.Wohnzimmer.Tischlampe_Wohnzimmer, undefined, 'licht_alias', 'boolean', undefined, undefined, 'Tischlampe-Wohnzimmer', 's javascript.0 2020-11-18 19:04:57.918 error at script.js.common.Test.Aliase:352 javascript.0 2020-11-18 19:04:57.918 error (28754) script.js.common.Test.Aliase compile failed:@sandro_gera
jetzt wird Zeile 352 angemeckert (steht auch so in der Fehlermeldung)
Da fehlt auch ein Semikolon, nur an anderer Stelle -
@sandro_gera
jetzt wird Zeile 352 angemeckert (steht auch so in der Fehlermeldung)
Da fehlt auch ein Semikolon, nur an anderer Stellesorry ich hab es gerade gesehen.
-
@sandro_gera
jetzt wird Zeile 352 angemeckert (steht auch so in der Fehlermeldung)
Da fehlt auch ein Semikolon, nur an anderer StelleSchau mal einer an plötzlich gehts
-
Schau mal einer an plötzlich gehts
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Schau mal einer an plötzlich gehts
😂👍
-
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Schau mal einer an plötzlich gehts
😂👍
ok jetzt kann ich mir der Blocky Erstellung weiter machen. Mal sehen wie ich damit klar komme.
Bezüglich der neuen Skript Version. Sollte ich daruf umstellen und wenn ja kannst du mir sagen wie ich das anstelle? -
ok jetzt kann ich mir der Blocky Erstellung weiter machen. Mal sehen wie ich damit klar komme.
Bezüglich der neuen Skript Version. Sollte ich daruf umstellen und wenn ja kannst du mir sagen wie ich das anstelle?@sandro_gera
Da brauchst Du eigentlich nur alles vom neuen Script kopieren und im alten Script alles oberhalb Zeile 266 damit ersetzen. -
@sandro_gera
Da brauchst Du eigentlich nur alles vom neuen Script kopieren und im alten Script alles oberhalb Zeile 266 damit ersetzen.achso na wenn das so einfach ist dann mach ich das nachher noch
-
achso na wenn das so einfach ist dann mach ich das nachher noch
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
achso na wenn das so einfach ist dann mach ich das nachher noch
Ich habe eben mal kurz Deine alias überflogen. In der ID sind Bindestriche oder Unterstriche okay.
Im Namen (schau Dir mal die Datenpunkte in den Objekten an--bei Name), da könnten Bindestriche Dir eventuell in die Suppe spucken, falls Du Alexa Ansagen verwenden möchtest. Ich habe beim Namen, wenn es mehrere Worte sind, Leerzeichen dazwischen, dann werden die auch genau so angesagt. Wie Worte mit Bindestrichen angesagt werden weiß ich gerade nicht ? Kannst ja mal von Hand beim Alexa2 Adapter so ein Wort bei speak eintragen... -
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
achso na wenn das so einfach ist dann mach ich das nachher noch
Ich habe eben mal kurz Deine alias überflogen. In der ID sind Bindestriche oder Unterstriche okay.
Im Namen (schau Dir mal die Datenpunkte in den Objekten an--bei Name), da könnten Bindestriche Dir eventuell in die Suppe spucken, falls Du Alexa Ansagen verwenden möchtest. Ich habe beim Namen, wenn es mehrere Worte sind, Leerzeichen dazwischen, dann werden die auch genau so angesagt. Wie Worte mit Bindestrichen angesagt werden weiß ich gerade nicht ? Kannst ja mal von Hand beim Alexa2 Adapter so ein Wort bei speak eintragen...also ich hab die Geräte so übernommen wie sie bei mir in alexa schon unter den Geräten funtionieren. Dann sollte das doch gehen oder?
Ich hab bei jedem Namen einen Bindestrich.
-
@sandro_gera sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
achso na wenn das so einfach ist dann mach ich das nachher noch
Ich habe eben mal kurz Deine alias überflogen. In der ID sind Bindestriche oder Unterstriche okay.
Im Namen (schau Dir mal die Datenpunkte in den Objekten an--bei Name), da könnten Bindestriche Dir eventuell in die Suppe spucken, falls Du Alexa Ansagen verwenden möchtest. Ich habe beim Namen, wenn es mehrere Worte sind, Leerzeichen dazwischen, dann werden die auch genau so angesagt. Wie Worte mit Bindestrichen angesagt werden weiß ich gerade nicht ? Kannst ja mal von Hand beim Alexa2 Adapter so ein Wort bei speak eintragen...@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Kannst ja mal von Hand beim Alexa2 Adapter so ein Wort bei speak eintragen...
@sandro_gera ich habe es gerade mal selbst bei einer Ankündigung probiert mit
Wohnzimmer-Lampe andas wurde trotzdem vernünftig ausgesprochen, also geht es wohl auch so.







