NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
@dslraser Ja, die Namen sind noch default, die werd ich noch anpassen, da hast du recht.
Aber wo genau setzt ich denn die aliase, liest der die Struktur von meinem Aliasen-Baum automatisch aus oder muss ich die aliase einzeln zuweisen? - sorry versteh ich gerade nicht. -
@Stephan-Schleich
Die alias sehen bei mir z.B. so ausDiese alias sind dann einer Aufzählung zugeordnet (bei mir so)
Der Selektor im Blockly findet die dann in der Aufzählung
Zitat aus dem ersten Beitrag.
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. -
@dslraser aaah, jetzt peil ich's, danke - Die "Aufzählung" ist dein Anhaltspunkt.
-
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser aaah, jetzt peil ich's, danke - Die "Aufzählung" ist dein Anhaltspunkt.
geht auch ohne die Aufzählung, aber dann sieht der Selektor anders aus. So wie jetzt ist es aber eigentlich "am einfachsten".
Du könntest z.B. auch alles was Licht an/ausschaltet oder dimmt in alias.0.Licht rein packen und den Selektor da suchen lassen.
-
@dslraser Perfekt danke, gehen auch mehrere Selector? Die Aliase werden standardmäßig pro Raum gesetzt und nicht pro Funktion
-
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Perfekt danke, gehen auch mehrere Selector?
wozu ?
Wie gesagt, es kommt ein wenig drauf an wie Du die alias in welcher Struktur erstellst. -
@dslraser Weil meine Aliase pro Raum angelegt wurden und nicht pro Funktion, wenn ich nur einen Selector habe kann ich auch nur einen Raum angeben oder eben alle Aliase welche dann aber nicht nur das Licht beinhalten
-
@Stephan-Schleich
dann erstelle doch zusätzlich zu Raum noch ein enum.function und packe da nur das rein, was auch schaltet. Deine alis kannst Du ja so lassen. Das ist ja dann nur einmal in den Objekten die Funktion auswählen, oder direkt in den Aufzählungen per drag & drop -
@dslraser Ich wollt's eig losgelöst von der Aufzählung machen
-
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@bishop sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser
habe es mit dem Script gemacht aber warscheinlich falschvielen dank, werde ich testen!
Du könntest die alias den Funktionen zuordnen, oder Deinen Selektor im Blockly anpassen.
Beispiel Selektor Temperaturen
alias.0.Temperaturen.*
@Stephan-Schleich oder so machen!
-
@bishop
alias.0.*.Licht.*
wäre es dann bei mir, ich schau mal obs klappt, danke -
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
alias.0..Licht. wäre es dann bei mir, ich schau mal obs klappt, danke
wenn da jeweils nur der Schalter für an/aus oder anstatt dessen der level drinn ist, dann sollte das gehen.
-
@Murmelbaerchen69 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
So habe deine Version 0.6 nochmal genommen und die nach "meinen Wünschen" angepasst. "Etage" habe ich diesmal drin gelassen, aber deaktiviert, man weiss ja nie Alles getestet - läuft.
Abei mir nicht...
Du hast andere Variablen angegeben, die s aber im Blockly nicht gibt ?
javascript.0 2020-07-21 20:16:32.095 error (3984) at Script.runInContext (vm.js:131:20) javascript.0 2020-07-21 20:16:32.095 error (3984) at script.js.01_Alexa2_Ansagen.Geräte-Upload.Komplett_ohne_Etage:2125:1 javascript.0 2020-07-21 20:16:32.095 error (3984) at Datenpunkte_anlegen (script.js.01_Alexa2_Ansagen.Geräte-Upload.Komplett_ohne_Etage:1517:43) javascript.0 2020-07-21 20:16:32.094 error (3984) ReferenceError: Batterien_Status_verwenden is not defined javascript.0 2020-07-21 20:16:32.094 error (3984) ^ javascript.0 2020-07-21 20:16:32.094 error (3984) if (Alexa_Ansage_verwenden == true && Batterien_Status_verwenden == true){ javascript.0 2020-07-21 20:16:32.093 error (3984) script.js.01_Alexa2_Ansagen.Geräte-Upload.Komplett_ohne_Etage: script.js.01_Alexa2_Ansagen.Geräte-Upload.Komplett_ohne_Etage:1517
Batterien_Status_verwenden gibt es bei mir im Blockly nicht ?
-
@dslraser ja habe das alles ein wenig an meine Bedürfnisse angepasst, paar Variablen geändert, emojis hinzugefügt.
//Batterien //Ansage Button Batterienansage anlegen if (Alexa_Ansage_verwenden == true && Batterien_Status_verwenden == true){ let statesToCreate = [ ['Eigene_Datenpunkte.Alexa_Ansagen.Ansagen.'+[Batterien]+'statusansage', {'name': [Batterien]+'statusansage','type': 'boolean', 'read': true, 'write': true, 'role': 'button','def':true, "smartName": {"de": ''+[Batterien]+''+'statusansage',"smartType": "SWITCH"} }], ]; createUserStates(anlegen_in,false, statesToCreate)}; //Batterien Status zaehlen Datenpunkte anlegen if (Batterien_Status_verwenden == true){ let statesToCreate = [ ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.Anzahl_'+[Batterien]+'_gesamt', {'name':'Anzahl_'+[Batterien]+'_gesamt', 'type':'number', 'read':true, 'write':false, 'role':'number','unit':''+[Batterien]+'', 'def':0 }], ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.Anzahl_'+[Batterien]+'_aktiv', {'name':'Anzahl_'+[Batterien]+'_aktiv', 'type':'number', 'read':true, 'write':false, 'role':'number','unit':''+[Batterien]+'', 'def':0 }], ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.aktive_'+[Batterien]+'_Liste', {'name':'aktive_'+[Batterien]+'_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }], ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.gesamte_'+[Batterien]+'_Liste', {'name':'gesamte_'+[Batterien]+'_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }], ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.html_'+[Batterien]+'_Liste', {'name':'html_'+[Batterien]+'_Liste', 'type':'string', 'read':true, 'write':false, 'role':'string', 'def':'noch leer' }], ['Eigene_Datenpunkte.Geraete.'+[Batterien]+'_Status.aktive_'+[Batterien]+'_Liste_mit_Emojis', {'name':'aktive_'+[Batterien]+'_Liste_mit_Emojis', 'type':'mixed', 'read':true, 'write':false, 'role':'mixed', 'def':'noch leer' }], ]; createUserStates(anlegen_in,false, statesToCreate)}; //Telegram Batterien Status Nachrichtenversand anlegen if (Batterien_Status_verwenden == true && Telegram_verwenden == true){ let statesToCreate = [ ['Eigene_Datenpunkte.Benachrichtigungen.Telegram.TVersand_'+[Batterien]+'statusversand', {'name':'Telegram_'+[Batterien]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Eigene_Datenpunkte.Benachrichtigungen.Telegram.TVersand_'+[Batterien]+'status', {'name':'Telegram_'+[Batterien]+'status_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false, "smartName": {"de": "Telegram "+[Batterien]+''+'status',"smartType": "SWITCH"} }], ]; createUserStates(anlegen_in,false, statesToCreate)}; //E-Mail Batterien Status Nachrichtenversand anlegen if (Batterien_Status_verwenden == true && Email_verwenden == true){ let statesToCreate = [ ['Eigene_Datenpunkte.Benachrichtigungen.EMail.EVersand_'+[Batterien]+'statusversand', {'name':'EMail_'+[Batterien]+'_Versand_an_aus', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', 'def':false }], ['Eigene_Datenpunkte.Benachrichtigungen.EMail.EVersand_'+[Batterien]+'status', {'name':'EMail_'+[Batterien]+'status_senden', 'type':'boolean', 'read':true, 'write':true, 'role':'button', 'def':false, "smartName": {"de": "EMail "+[Batterien]+''+'status',"smartType": "SWITCH"} }], ]; createUserStates(anlegen_in,false, statesToCreate)};
war ja nur für mich gedacht.
-
@Murmelbaerchen69 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser ja habe das alles ein wenig an meine Bedürfnisse angepasst, paar Variablen geändert, emojis hinzugefügt.
aber das war Dein Blocky Export, der ist dann so nicht lauffähig, deshalb habe ich das geschrieben. (ich wollte den sonst als Alternative oben rein stellen, aber so geht das dann nicht)
-
@dslraser werde mal bei mir alle löschen und neu importieren
-
Ich habe das Problem, dass eigenständig der Objektname (common-name) von xxx.Fenster in xxx.Fenster is open geändert wird und Alexa das dann entsprechend ausgibt. Tritt bei Zigbee Adapter auf.
-
@efxz sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
dass eigenständig der Objektname (common-name) von xxx.Fenster in xxx.Fenster is open geändert wird
eigenständig ? wie das ? Den alias erstellst Du selbst, da wird dann nichts mehr eigenständig geändert.
-
-
@efxz
ja, das ist der original Datenpunkt vom Adapter.
Aus diesem Grund (siehe 1.Beitrag) verwende ich selbst erstellte alias Datenpunkte. Eine Beispiel Vorlage dafür ist ebenfalls im ersten Beitrag.