Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Cloud Dienste
  4. [1\. Gelöst - 2\. offen] Szene mit Alexa Dimmen und Szene Heizung steuern

NEWS

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    5
    1
    78

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    843

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.4k

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

Scheduled Pinned Locked Moved Cloud Dienste
26 Posts 3 Posters 6.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • VardaaranV Offline
    VardaaranV Offline
    Vardaaran
    wrote on last edited by
    #14

    @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 :P (...) `

    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
    0
    • K Offline
      K Offline
      Karim
      wrote on last edited by
      #15

      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 :D

      1 Reply Last reply
      0
      • VardaaranV Offline
        VardaaranV Offline
        Vardaaran
        wrote on last edited by
        #16

        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
        0
        • K Offline
          K Offline
          Karim
          wrote on last edited by
          #17

          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
          0
          • VardaaranV Offline
            VardaaranV Offline
            Vardaaran
            wrote on last edited by
            #18

            @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
            0
            • K Offline
              K Offline
              Karim
              wrote on last edited by
              #19

              Ein ganz großen dank an dich!

              Jetzt funktioniert es zu 99% :D

              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 :D

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

              1 Reply Last reply
              0
              • VardaaranV Offline
                VardaaranV Offline
                Vardaaran
                wrote on last edited by
                #20

                @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! :D

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

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  Karim
                  wrote on last edited by
                  #21

                  Ja, das wäre schön…Also Aufruf an alle anderen, wo liegt der Fehler? :P

                  Irgendwie möchte man ja dann doch schon die 100% erreichen :P

                  Aber dir nochmal 1000 Dank :D

                  Lieben Gruß, Karim.

                  1 Reply Last reply
                  0
                  • VardaaranV Offline
                    VardaaranV Offline
                    Vardaaran
                    wrote on last edited by
                    #22

                    @Karim:

                    (…)Aber dir nochmal 1000 Dank :D (...) `
                    Sehr gerne! :)

                    1 Reply Last reply
                    0
                    • VardaaranV Offline
                      VardaaranV Offline
                      Vardaaran
                      wrote on last edited by
                      #23

                      Hatte noch eine Idee.

                      Da ich aber - wie gesagt - noch keinen entsprechenden Thermostat habe, kann ich sie leider nicht testen…

                      Definiere den Datenpunkt mal so:

                      // 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: '°C',			// <- NEU / GEÄNDERT
                           def:  0,
                           min:  0,
                           max:  100,
                           role: value.temperature	// <- NEU / GEÄNDERT
                      });
                      
                      
                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        Karim
                        wrote on last edited by
                        #24

                        Danke dir, leider hat es mir diesen Werten auch nicht geklappt :(

                        value.temperature kommt aber noch in '…' oder? Habe es zumindest so gemacht, da es sonst eine Fehlermeldung gab.

                        Lieben Gruß, Karim.

                        1 Reply Last reply
                        0
                        • VardaaranV Offline
                          VardaaranV Offline
                          Vardaaran
                          wrote on last edited by
                          #25

                          @Karim:

                          (…)value.temperature kommt aber noch in '...' oder? Habe es zumindest so gemacht, da es sonst eine Fehlermeldung gab.(..) `
                          stimmt :oops:

                          ok, wir arbeiten weiter daran… :D

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            Karim
                            wrote on last edited by
                            #26

                            Hehe ja, ich werde brav immer alles ausprobieren, was du vorschlägst :)

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

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

                            217

                            Online

                            32.8k

                            Users

                            82.7k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe