Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fenster und andere Geräte zählen opt. Alexa Ansagen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fenster und andere Geräte zählen opt. Alexa Ansagen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stephan Schleich
      Stephan Schleich @dslraser last edited by

      @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.

      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @Stephan Schleich last edited by dslraser

        @Stephan-Schleich
        Die alias sehen bei mir z.B. so aus

        Bildschirmfoto 2020-07-20 um 12.46.15.png

        Diese alias sind dann einer Aufzählung zugeordnet (bei mir so)

        Bildschirmfoto 2020-07-20 um 12.44.25.png

        Der Selektor im Blockly findet die dann in der Aufzählung

        Bildschirmfoto 2020-07-20 um 12.45.16.png

        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.

        Stephan Schleich 1 Reply Last reply Reply Quote 0
        • Stephan Schleich
          Stephan Schleich @dslraser last edited by Stephan Schleich

          @dslraser aaah, jetzt peil ich's, danke - Die "Aufzählung" ist dein Anhaltspunkt.

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @Stephan Schleich last edited by dslraser

            @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.

            Stephan Schleich 1 Reply Last reply Reply Quote 0
            • Stephan Schleich
              Stephan Schleich @dslraser last edited by Stephan Schleich

              @dslraser Perfekt danke, gehen auch mehrere Selector? Die Aliase werden standardmäßig pro Raum gesetzt und nicht pro Funktion

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @Stephan Schleich last edited by

                @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.

                Stephan Schleich 1 Reply Last reply Reply Quote 0
                • Stephan Schleich
                  Stephan Schleich @dslraser last edited by

                  @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

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @Stephan Schleich last edited by

                    @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

                    Stephan Schleich 1 Reply Last reply Reply Quote 0
                    • Stephan Schleich
                      Stephan Schleich @dslraser last edited by

                      @dslraser Ich wollt's eig losgelöst von der Aufzählung machen

                      1 Reply Last reply Reply Quote 0
                      • B
                        bishop @dslraser last edited by

                        @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 falsch 🙂

                        vielen dank, werde ich testen!

                        Du könntest die alias den Funktionen zuordnen, oder Deinen Selektor im Blockly anpassen.

                        Beispiel Selektor Temperaturen

                        Bildschirmfoto 2020-07-09 um 08.52.33.png

                        alias.0.Temperaturen.*
                        

                        @Stephan-Schleich oder so machen!

                        Stephan Schleich 1 Reply Last reply Reply Quote 0
                        • Stephan Schleich
                          Stephan Schleich @bishop last edited by Stephan Schleich

                          @bishop alias.0.*.Licht.* wäre es dann bei mir, ich schau mal obs klappt, danke

                          dslraser 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @Stephan Schleich last edited by

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @Murmelbaerchen69 last edited by dslraser

                              @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
                              

                              Bildschirmfoto 2020-07-21 um 20.21.09.png

                              Batterien_Status_verwenden gibt es bei mir im Blockly nicht ?

                              Bildschirmfoto 2020-07-21 um 20.21.35.png

                              Murmelbaerchen69 1 Reply Last reply Reply Quote 0
                              • Murmelbaerchen69
                                Murmelbaerchen69 @dslraser last edited by Murmelbaerchen69

                                @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.

                                dslraser 1 Reply Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @Murmelbaerchen69 last edited by

                                  @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)

                                  Murmelbaerchen69 1 Reply Last reply Reply Quote 0
                                  • Murmelbaerchen69
                                    Murmelbaerchen69 @dslraser last edited by

                                    @dslraser werde mal bei mir alle löschen und neu importieren

                                    1 Reply Last reply Reply Quote 0
                                    • efxz
                                      efxz last edited by efxz

                                      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.

                                      dslraser 1 Reply Last reply Reply Quote 0
                                      • dslraser
                                        dslraser Forum Testing Most Active @efxz last edited by

                                        @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 1 Reply Last reply Reply Quote 0
                                        • efxz
                                          efxz @dslraser last edited by

                                          @dslraser

                                          500357c3-0cca-421e-8143-cc1862fc1e4f-image.png

                                          dslraser 1 Reply Last reply Reply Quote 0
                                          • dslraser
                                            dslraser Forum Testing Most Active @efxz last edited by dslraser

                                            @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.

                                            efxz 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            530
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            41
                                            1186
                                            349433
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo