Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [1\. Gelöst - 2\. offen] Szene mit Alexa Dimmen und Szene Heizung steuern

    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

    [1\. Gelöst - 2\. offen] Szene mit Alexa Dimmen und Szene Heizung steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Karim last edited by

      Hallo alle zusammen,

      Ich habe schon etliche Threads hier durchforstet, leider bin ich aus keinem schlau geworden.

      Ich möchte gerne meinen Homematic IP Dimmer und meine Philips Hue Lampen per Sprachbefehl Dimmen, leider bekomme ich es einfach nicht hin.

      An / Aus ist bei den Geräten kein Problem, nur wie übergebe ich den % Wert aus der Szene bis hin zu Alexa. Ich habe schon an Zahl / Level etc im Objektordner rumprobiert, aber sobald ich etwas ändere versteht Alexa nichts mehr.

      Ich hoffe das ihr mir helfen könnt oder mich an einen Post weiterleitet, den ich vielleicht doch übersehen habe.

      Lieben Gruß, Karim.

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

        Wie man Prozente an einer Szene übergibt, wüsste ich nicht.

        Was man machen könnte… Die Rückmeldung von Alexa in einen Datenpunkt schreiben, per Skript den Wert auslesen und dann den gewünschten Datenpunkt der Lampen ansteuern. :lol:

        "Küchenlicht wird auf 30 Prozent <emphamsis>gesetzt</emphamsis>"

        1 Reply Last reply Reply Quote 0
        • K
          Karim last edited by

          Danke dir für die Antwort, aber ich glaube das übersteigt meine Fähigkeiten bei weitem 😞

          Wie realisieren denn die anderen die Möglichkeit ihre Lampen zu dimmen? Oder nutzen sie eben das Vis Interface bzw. einfach den offiziellen Skill?

          LG Karim.

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

            @Karim:

            Danke dir für die Antwort, aber ich glaube das übersteigt meine Fähigkeiten bei weitem 😞

            Wie realisieren denn die anderen die Möglichkeit ihre Lampen zu dimmen? Oder nutzen sie eben das Vis Interface bzw. einfach den offiziellen Skill?

            LG Karim. `

            Hallo Karim,

            alles halb so wild! 😄

            Am besten Du erstellst ein Script (wenn Du dafür Hilfe benötigst, bitte erneut melden), welches einen Datenpunkt überprüft und bei Änderung den Wert an die anderen Adapter übergibt.

            Diesen Datenpunkt verknüpfst Du dann im Cloud-Adapter und damit mit Alexa. Wenn dieser Datenpunkt die richtigen Einstellungen hat, hört die gute Alexa auch auf Prozentwerte etc.

            Dieses Script wäre ein Beispiel bzw. eine Vorlage:

            ! ````
            var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
            ! // Pfad der Lampen, welche Du schalten/dimmen möchtest:
            // -----------------------------------------------------------------------------
            var Lampe1 = ""; // Pfad zwischen Anführungszeichen eintragen.
            var Lampe2 = ""; // Pfad zwischen Anführungszeichen eintragen.
            var Lampe3 = ""; // Pfad zwischen Anführungszeichen eintragen.
            var Lampe4 = ""; // Pfad zwischen Anführungszeichen eintragen.
            ! // Datenpunkte anlegen:
            // -----------------------------------------------------------------------------
            var idDatenpunkt = "alexa.licht"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
            createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
            name: 'Licht',
            desc: 'Beleuchtung mit Dimmfunktion',
            type: 'number',
            unit: '%',
            def: 0,
            min: 0,
            max: 100,
            role: 'value'
            });
            ! // Funktionen:
            // -----------------------------------------------------------------------------
            ! // Level Einstellen
            // -----------------------------------------------------------------------------
            function leveldef(dp) {
            dpWert = dp.state.val;

            // Wert wird gesetzt bzw. übergeben
            setState(Lampe1, dpWert);
            setState(Lampe2, dpWert);
            setState(Lampe3, dpWert);
            setState(Lampe4, dpWert);
            

            }

            ! // Abfrage des Datenpunkts
            // -----------------------------------------------------------------------------
            on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
            leveldef(dp);
            });
            ! ````

            Bei Fragen oder Problemen: Einfach melden!

            1 Reply Last reply Reply Quote 0
            • K
              Karim last edited by

              Hallo Vardaaran,

              meld :lol:

              Also ich möchte in meinem Fall zuerst einen Dimmaktor von Homematic IP ansprechen.

              Den habe ich "schlafzimmerlicht" genannt und als Objekt für Alexa so eingebunden:

              system.adapter.javascript.0.schlafzimmerlicht
              

              Wenn ich jetzt in dieses Objekt hineinschaue, finde ich 5 Reiter. Einer davon heisst "raw" und sieht so aus, als ob er ein Skript aufnehmen würde.

              Nach deiner Erklärung muss ich aber ein neues Objekt erstellen, oder?

              Also sagen wirs mal kurzum raus, ich hab keine Ahnung was ich machen soll :roll:

              Ich wäre dir sehr dankbar wenn du es mir erklären könntest 🙂

              Lieben Gruß und schönes Wochenende, Karim.

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

                ok, Schritt für Schritt:

                Ich nehme an, Du hast den Homatic - Adapter schon installiert und eingerichtet und die Geräte sind entsprechend als / unter Objekte vorhanden?!

                0. Bitte den von Dir erstellten Datenpunkt wieder löschen. 😉

                1. Im ioBroker oben auf Skripte.

                2. Am besten einen neuen Ordner anlegen.

                3. In dem Ordner ein neues Skript erstellen.

                4. Oben rechts bei Enginetyp "Javascript/js" auswählen.

                5. Einen Anständigen Namen für das Script eintragen und Speichern.

                6. Meinen Code in die freien Zeilen einfügen.

                7. Im Code oben die ID für die Lampen (1 bis 4) zwischen die Anführungszeichen eintragen.

                -> Einfach zwischen die Anführungszeichen gehen und oben den Button "ID Einfügen" klicken.

                8. Im Fenster den richtigen Datenpunkt / die richtige Lampe auswählen und "Auswählen" klicken.

                9. Schritt 7. bis 8. wiederholen, bis alle Lampen für diesen Befehl vorhanden sind.

                -> Bei weniger oder mehr Lampen als 4, einfach die Zeilen löschen oder kopieren .

                10. Im Code in der "Level Einstellen" bzw. "leveldef"-Funktion die Zeilen ebenfalls der Lampen-Anzahl anpassen.

                -> Hier ggf. nur die Zahl hinter dem Wort "Lampe" anpassen.

                11. Das Skript starten.

                12. Den durch das Skript erstellten Datenpunkt (javascript.0.alexa.licht) im Cloud-Adapter verknüpfen.

                -> Bei Problemen hier ebenfalls nachfragen.

                13. Bei Alexa nach neuen Geräten suchen.

                14. Mit Alexa reden 😄
                2335_01.jpg
                2335_02.jpg

                1 Reply Last reply Reply Quote 0
                • K
                  Karim last edited by

                  Wow, erst mal vielen Dank für die Mühe die du dir gemacht hast. Habe es jetzt mal direkt versucht, aber leider schaltet Alexa das Licht noch nicht 😞

                  Sie sagt zwar okay, aber es passiert nichts. Ich habe mich an deine Anleitung gehalten. Das einzige was ich geändert habe ist, das ich ich "licht" durch "schlafzimmerlicht" ersetzt habe.

                  Ist das mein Fehler? Ich habe mal Screenshots angehängt, vielleicht helfen die weiter!?!

                  Leider sind sie falsch herum hochgeladen, sodass das letzte Bild das erste sein sollte. Der Fehler der bei Bild 2 kommt ist folgender:

                  [error]	javascript.0 script.js.Skripte.schlafzimmerlicht_dimmen compile failed: SyntaxError: Unexpected identifier
                  

                  Vielen Lieben Dank für deine Hilfe.

                  Gruß Karim.

                  EDIT:

                  Problem gefunden und gelöst 😄 Wie es immer so ist, findet man die Lösung direkt nachdem man den Beitrag abgeschickt hat.

                  Habe die ID nun richtig geändert. Diese wurde irgendwie falsch übernommen.
                  2638_1.png
                  2638_2.png
                  2638_3.png
                  2638_4.png

                  1 Reply Last reply Reply Quote 0
                  • K
                    Karim last edited by

                    Jetzt fällt mir gerade doch noch eine weitere Frage ein.

                    Wie kann ich dieses Prinzip nun für C° an meinen Heizkörperthermostaten übernehmen?

                    Das Grundprinzip habe ich jetzt verstanden, aber eine Programmiersprache habe ich leider dadurch noch nicht gelernt :lol:

                    Hast du vielleicht noch ein passendes Skript um auch die Heizung so per Sprache steuern zu können? 🙂

                    Lieben Gruß, Karim.

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

                      @Karim:

                      Jetzt fällt mir gerade doch noch eine weitere Frage ein.

                      Wie kann ich dieses Prinzip nun für C° an meinen Heizkörperthermostaten übernehmen?

                      Das Grundprinzip habe ich jetzt verstanden, aber eine Programmiersprache habe ich leider dadurch noch nicht gelernt :lol:

                      Hast du vielleicht noch ein passendes Skript um auch die Heizung so per Sprache steuern zu können? 🙂

                      Lieben Gruß, Karim. `

                      Freud mich, dass es funktioniert!

                      Das Prinzip ist beim Heizkörper das gleiche. Die Worte die Alexa annimmt, werden hauptsächlich durch die Angaben bzw. dem Typ des mit dem Cloud-Adapter verknüpften Datenpunkts definiert.

                      Wenn Du also genau diese Einstellungen für deine Heizung verwendest, müsste Alexa auch auf "Stelle Heizung auf 21 (Grad)" hören. Allerdings habe ich selbst keine Smart Home Heizkörper und kann daher nicht viel bzw. gar nichts 😉 über die besten Einstellungen sagen…

                      1 Reply Last reply Reply Quote 0
                      • K
                        Karim last edited by

                        Okay, ich werde das dann mal versuchen und mit den Werten etwas rumspielen. Wenn es klappt, sage ich nochmal bescheid 🙂

                        1 Reply Last reply Reply Quote 0
                        • K
                          Karim last edited by

                          Ich habe das Prinzip nun mal auf die Heizung übertragen und es funktioniert so zur Hälfte.

                          Was muss ich denn nun eingeben, damit Alexa auf C° hört und ich nicht meine Temperaturen in % umrechnen muss?

                          Lieben Gruß, Karim.

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

                            @Karim:

                            Ich habe das Prinzip nun mal auf die Heizung übertragen und es funktioniert so zur Hälfte.

                            Was muss ich denn nun eingeben, damit Alexa auf C° hört und ich nicht meine Temperaturen in % umrechnen muss? `
                            Was genau ist den das Problem? Hört Alexa nicht auf die Einheit Grad? Also "Alexa, stelle Heizkörper auf 21 Grad"…

                            Versuche mal die Einheit im DP anzupassen:

                            // Datenpunkte anlegen:
                            // -----------------------------------------------------------------------------
                            var idDatenpunkt = "alexa.licht";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                            createState(idDatenpunkt, 0, forecreation, {                                  // Datenpunkt wird angelegt
                                 name: 'Licht',
                                 desc: 'Beleuchtung mit Dimmfunktion',
                                 type: 'number',
                                 unit: '%',		// <- HIER AUF 'Grad' !! 
                                 def:  0,
                                 min:  0,
                                 max:  100,
                                 role: 'value'
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • K
                              Karim last edited by

                              Hallo Vardaaran,

                              Ja genau, die Einheit Grad ist das Problem, darauf hört sie nicht. Ich werde den Wert mal ändern und schauen ob es dann klappt.

                              Hinzu kommt aber noch ein weiteres Problem. Ich würde zusätzlich gerne noch Profile schalten können. Ist das dann noch so einfach möglich? Momentan habe ich es so angelegt, das sie durch die angelegte Szene bei An "Profil 1" startet und bei Aus "Profil 2" startet. Das würde ja dann flach fallen. Wobei dies eigentlich viel wichtiger ist 😛

                              Lieben Gruß Karim.

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

                                @Karim:

                                (…)Hinzu kommt aber noch ein weiteres Problem. Ich würde zusätzlich gerne noch Profile schalten können. Ist das dann noch so einfach möglich? Momentan habe ich es so angelegt, das sie durch die angelegte Szene bei An "Profil 1" startet und bei Aus "Profil 2" startet. Das würde ja dann flach fallen. Wobei dies eigentlich viel wichtiger ist 😛 (...) `

                                Du kannst den Wert des Datenpunktes nicht einfach nur übergeben, sondern auch entsprechend abfragen und je nach wert ein "Szenario" auslösen:

                                Erstelle z.B. mit dem Szenen-Adapter, 2 Szenarien. Dann wird ein Datenpunkt mit boolschen Werten (true und false / wahr und falsch) angelegt und beim Schalten abgefragt, wie er geschalten wurde:

                                // Level Einstellen
                                // -----------------------------------------------------------------------------
                                function leveldef(dp) {
                                    dpWert = dp.state.val;
                                
                                     if (dpWert === true) {
                                     	// Wird ausgeführt wenn AN
                                     } else if (dpWert === false) {
                                     	// Wird ausgeführt wenn AUS
                                     } else {
                                     	log ("WERT IST NICHT BOOLEN!");
                                     }
                                }
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • K
                                  Karim last edited by

                                  Okay, das klingt genau nach dem was ich brauche 🙂

                                  Nur habe ich dazu auch wieder fragen, bzw. verstehe nicht wie ich das alles miteinander verknüpfe.

                                  Wo kommt der Code hin, den du gerade gepostet hast und wie verknüpfe ich beides miteinander.

                                  Entschuldige bitte all meine Fragen :roll:

                                  Aber Danke für deine Ganze Hilfe 😄

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

                                    hier ein vollständiger Code:

                                    ! ````
                                    var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                                    ! // Pfad der Lampen oder Szenen, welche Du schalten möchtest:
                                    // -----------------------------------------------------------------------------
                                    var Lampe1 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                    var Lampe2 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                    var Lampe3 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                    var Lampe4 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                    ! // Datenpunkte anlegen:
                                    // -----------------------------------------------------------------------------
                                    var idDatenpunkt = "alexa.szenario1"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                    createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
                                    name: 'Szenario 1',
                                    desc: 'Szenario 1 an und aus',
                                    type: 'boolean',
                                    ! states: 'false;true',
                                    ! def: false,
                                    ! role: 'value'
                                    });
                                    ! // Funktionen:
                                    // -----------------------------------------------------------------------------
                                    ! // Check ob an oder aus
                                    // -----------------------------------------------------------------------------
                                    function leveldef(dp) {
                                    dpWert = dp.state.val;

                                     if (dpWert === true) {
                                        // Wird ausgeführt wenn AN
                                    setState(Lampe1, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    	setState(Lampe2, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    	setState(Lampe3, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    	setState(Lampe4, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                     } else if (dpWert === false) {
                                        // Wird ausgeführt wenn AUS
                                    setState(Lampe1, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    setState(Lampe2, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    setState(Lampe3, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                    setState(Lampe4, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                     } else {
                                        log ("WERT IST NICHT BOOLEN!");
                                     }
                                    

                                    }

                                    ! // Abfrage des Datenpunkts:
                                    // -----------------------------------------------------------------------------
                                    on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                                    leveldef(dp);
                                    });

                                    Natürlich musst Du auch hier deine gewünschten Adapter o.Ä. und Werte eintragen…
                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Karim last edited by

                                      Ich bekomme es einfach nicht hin 😞

                                      Ich habe 4 Homematic IP Heizkörperthermostate.

                                      Wenn ich sage, schalte die Heizung "An", möchte ich, dass sie in das Profil 1 wechselt. Dort ist tageszeitenabhängig die Temperatur hinterlegt.

                                      Wenn ich sage, schalte die Heizung "Aus", möchte ich, dass sie in das Profil 2 wechselt. Dort sind andere Einstellungen hinterlegt.

                                      Das funktioniert auch mittels einer Szene die ich angelegt habe.

                                      Nun möchte ich aber noch zusätzlich die Temperatur per Sprache steuern. Das klappt leider nicht 😞 Auch unabhängig von der "neuen" Version die du mir angehängt hast, klappt es bei der Alten auch immer noch "nur" mit den '%'. Eine Änderung auf 'Grad' hatte keine Auswirkungen und ging immer noch nur mit den '%'.

                                      Hast du eine Idee, was ich falsch mache? Ich habe auch noch nicht so ganz verstanden ob ich das nun in ein Skript packe oder in zwei unterschiedliche?

                                      Lieben Gruß, Karim.

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

                                        @Karim:

                                        (…)

                                        Ich habe 4 Homematic IP Heizkörperthermostate.

                                        Wenn ich sage, schalte die Heizung "An", möchte ich, dass sie in das Profil 1 wechselt. Dort ist tageszeitenabhängig die Temperatur hinterlegt.

                                        Wenn ich sage, schalte die Heizung "Aus", möchte ich, dass sie in das Profil 2 wechselt. Dort sind andere Einstellungen hinterlegt.

                                        Das funktioniert auch mittels einer Szene die ich angelegt habe.

                                        Nun möchte ich aber noch zusätzlich die Temperatur per Sprache steuern. Das klappt leider nicht 😞 Auch unabhängig von der "neuen" Version die du mir angehängt hast, klappt es bei der Alten auch immer noch "nur" mit den '%'. Eine Änderung auf 'Grad' hatte keine Auswirkungen und ging immer noch nur mit den '%'.

                                        Hast du eine Idee, was ich falsch mache? Ich habe auch noch nicht so ganz verstanden ob ich das nun in ein Skript packe oder in zwei unterschiedliche?

                                        (...) `
                                        Benutze dann dieses Skript:

                                        ! ````
                                        var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                                        ! // Pfad der Lampen oder Szenen, welche Du schalten möchtest:
                                        // -----------------------------------------------------------------------------
                                        var Lampe1 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                        var Lampe2 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                        var Lampe3 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                        var Lampe4 = ""; // Pfad zwischen Anführungszeichen eintragen.
                                        ! // Datenpunkte anlegen:
                                        // -----------------------------------------------------------------------------
                                        var idDatenpunkt = "alexa.Heizung"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                        createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
                                        name: 'Szenario 1',
                                        desc: 'Szenario 1 an und aus',
                                        type: 'number',
                                        unit: 'Grad',
                                        def: 0,
                                        min: 0,
                                        max: 100,
                                        role: 'value'
                                        });
                                        ! // Funktionen:
                                        // -----------------------------------------------------------------------------
                                        ! // Check ob an, aus oder Zahl
                                        // -----------------------------------------------------------------------------
                                        function checking(dp) {
                                        dpWert = dp.state.val;

                                         if (dpWert == 100) { // <-- Wird ausgeführt wenn AN.
                                        	setState(Lampe1, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe2, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe3, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe4, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                         } else if (dpWert === 0) { // <-- Wird ausgeführt wenn AUS.
                                        	setState(Lampe1, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe2, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe3, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                        	setState(Lampe4, dpWert /* dpWert durch gewünschten WERT ersetzen */);
                                         } else { // <-- Wird ausgeführt wenn eine Zahl zwischen 1 und 99 genannt wird und die Zahl ist über "dpWert" abrufbar.
                                            setState(Lampe1 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                         }
                                        

                                        }

                                        ! // Abfrage des Datenpunkts:
                                        // -----------------------------------------------------------------------------
                                        on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                                        checking(dp);
                                        });

                                        Ich habe leider selbst keine Heizung die "Smart Home" ist. Daher müsste hier bitte jemand anderes berichten, bei welchen Datenpunkt-Einstellungen die Einheit "Grad" funktioniert.
                                        
                                        Mit diesem Skript funktioniert aber "AN", "AUS" und "Stelle XYZ auf 21 (oder eine andere Zahl zwischen 1 und 99)" ohne Einheit.
                                        1 Reply Last reply Reply Quote 0
                                        • K
                                          Karim last edited by

                                          Ein ganz großen dank an dich!

                                          Jetzt funktioniert es zu 99% 😄

                                          Das Ganze sieht nun folgendermaßen aus:

                                          var forecreation    = false;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                                          
                                          // Pfad der Lampen oder Szenen, welche Du schalten möchtest:
                                          // -----------------------------------------------------------------------------
                                          var Heizkörperthermostat1 = "hm-rpc.1.000397098A3EDA.1.SET_POINT_TEMPERATURE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat2 = "hm-rpc.1.000397098A3ED9.1.SET_POINT_TEMPERATURE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat3 = "hm-rpc.1.000A15699FE877.1.SET_POINT_TEMPERATURE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat4 = "hm-rpc.1.000397098A3FCC.1.SET_POINT_TEMPERATURE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Wandthermostat5 = "hm-rpc.1.000313C99548B8.1.SET_POINT_TEMPERATURE";                   // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat11 = "hm-rpc.1.000397098A3EDA.1.ACTIVE_PROFILE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat21 = "hm-rpc.1.000397098A3ED9.1.ACTIVE_PROFILE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat31 = "hm-rpc.1.000A15699FE877.1.ACTIVE_PROFILE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Heizkörperthermostat41 = "hm-rpc.1.000397098A3FCC.1.ACTIVE_PROFILE";            // Pfad zwischen Anführungszeichen eintragen.
                                          var Wandthermostat51 = "hm-rpc.1.000313C99548B8.1.ACTIVE_PROFILE";                   // Pfad zwischen Anführungszeichen eintragen.
                                          
                                          // Datenpunkte anlegen:
                                          // -----------------------------------------------------------------------------
                                          var idDatenpunkt = "alexa.Heizung";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idDatenpunkt, 0, forecreation, {                                  // Datenpunkt wird angelegt
                                               name: 'Heizung Szenario 1',
                                               desc: 'Heizung Szenario 1 an und aus',
                                               type: 'number',
                                               unit: 'Grad',
                                               def:  0,
                                               min:  0,
                                               max:  100,
                                               role: 'value'
                                          });
                                          
                                          // Funktionen:
                                          // -----------------------------------------------------------------------------
                                          
                                          // Check ob an, aus oder Zahl
                                          // -----------------------------------------------------------------------------
                                          function checking(dp) {
                                              dpWert = dp.state.val;
                                          
                                               if (dpWert == 100) { // <-- Wird ausgeführt wenn AN.
                                                setState(Heizkörperthermostat11, 1 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat21, 1 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat31, 1 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat41, 1 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Wandthermostat51, 1 /* dpWert durch gewünschten WERT ersetzen */);
                                               } else if (dpWert === 0) { // <-- Wird ausgeführt wenn AUS.
                                                setState(Heizkörperthermostat11, 2 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat21, 2 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat31, 2 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Heizkörperthermostat41, 2 /* dpWert durch gewünschten WERT ersetzen */);
                                                setState(Wandthermostat51, 2 /* dpWert durch gewünschten WERT ersetzen */);
                                               } else { // <-- Wird ausgeführt wenn eine Zahl zwischen 1 und 99 genannt wird und die Zahl ist über "dpWert" abrufbar.
                                                setState(Heizkörperthermostat1 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                                setState(Heizkörperthermostat2 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                                setState(Heizkörperthermostat3 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                                setState(Heizkörperthermostat4 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                                setState(Wandthermostat5 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);;
                                               }
                                          }
                                          
                                          // Abfrage des Datenpunkts:
                                          // -----------------------------------------------------------------------------
                                          on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                                              checking(dp);
                                          });
                                          

                                          Das einzige was spinnt ist die Bezeichnung mit "Grad" und "%".

                                          Ich sage: Stell die Heizung auf 15 –> Sie stellt die Heizung auf 15 Grad

                                          Ich sage: Stell die Heizung auf 15 % --> Sie stellt die Heizung auf 15 Grad

                                          Ich sage: Stell die Heizung auf 15 Grad --> Sie Antwortet: sie kann das nicht :?

                                          Mit An und Aus klappt es genau so wie eich es mir vorgestellt habe 😄

                                          Vielen Lieben Dank und Viele Grüße, Karim.

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

                                            @Karim:

                                            (…)Das einzige was spinnt ist die Bezeichnung mit "Grad" und "%".

                                            Ich sage: Stell die Heizung auf 15 --> Sie stellt die Heizung auf 15 Grad

                                            Ich sage: Stell die Heizung auf 15 % --> Sie stellt die Heizung auf 15 Grad

                                            Ich sage: Stell die Heizung auf 15 Grad --> Sie Antwortet: sie kann das nicht :? (...) `
                                            Ja, bei sowas ist die Gute etwas zickig 😉

                                            Freud mich aber, dass wir die 99% erreicht haben! 😄

                                            Vielleicht kann ja jemand mit einer funktionierenden Heizung sagen, wie das mit Alexa und dem Wort "Grad" funktioniert?!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            818
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            26
                                            5506
                                            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