NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
Auf Grund von Fehlermeldungen beim Telegram Versand (Parsmode Markdown) habe ich den Telegramversand auf html umgestellt.
Manche User haben solche oder ähnliche Fehlermeldungen. Das passiert, wenn im versendeten Text Unterstriche enthalten sind, zu mindestens habe ich solche Fehlermeldungen über google gefunden. Da ich nicht ausschließen kann, das immer wieder solche Namen wie Kimm_Zimmer, oder wie Garten_Licht oder RGB_Controller vergeben werden, habe ich nun Version 0.7 im ersten Beitrag mit Telegram als Parsmode html eingestellt.telegram.0 2020-07-14 11:56:26.313 error (9418) Cannot send message [chatId - xxxxxxxxxx]: Error: ETELEGRAM: 400 Bad Request: can't parse entities: Can't find end of the entity starting at byte offset 51
Der einzige Nachteil, die Überschrift ist nicht mehr fett, aber dafür jetzt anders gekennzeichnet.
z.B. so
Einen Fehler beim E-Mail Versand, was Batterien betrifft, habe ich gleich noch mit korrigiert.
-
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Das passiert, wenn im versendeten Text Unterstriche enthalten sind, zu mindestens habe ich solche Fehlermeldungen über google gefunden. Da ich nicht ausschließen kann, das immer wieder solche Namen wie Kimm_Zimmer, oder wie Garten_Licht oder RGB_Controller vergeben werden. <
Das ist aber nur wenn ich im Alias das so haben möchte? Weil meine Geräte haben im Namen unterstriche.
Gruß Ralf
-
@Murmelbaerchen69 sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Das ist aber nur wenn ich im Alias das so haben möchte? Weil meine Geräte haben im Namen unterstriche.
ja, den alias richtest Du ja selbst ein. Den Namen bestimmst Du da selbst. (ausser es wird der Name vom Original DP übernommen)
-
@dslraser sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
Wenn Du Dein Blockly fertig hast, kannst Du es bitte hier nochmal posten, vielleicht möchte noch Jemand Deine Struktur nutzen und benötigt keine Etagen. (Etagen war mal ein Wunsch von Jemanden hier, da ist das entstanden)
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.
-
@dslraser Vllt stell ich mich auf nur zu doof, aber wo hinterleg ich meine bereits angelegten aliase z.b. fürs licht?
-
@Stephan-Schleich sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
@dslraser Vllt stell ich mich auf nur zu doof, aber wo hinterleg ich meine bereits angelegten aliase z.b. fürs licht?
Ich habe mir gestern in dem "anderen Beitrag" schon gedacht das es um dieses Blockly hier geht.
Dein Bild von gestern zeigte Deine Alias. Die heißen anscheinend bei Dir alleSET
.
Die Namen der alias werden in diesem Blockly zur Anzeige und wenn gewünscht auch zur Ansage über Alexa benutzt, das ist mit diesen Namen natürlich schlecht.
Die Aufzählung kannst Du nennen wie Du willst, Du mußt dann nur den Selektor anpassen.
Wichtig sind "sinnvolle" Namen der Alias. -
@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.