Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

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

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
26 Beiträge 3 Kommentatoren 6.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    Karim
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • VardaaranV Offline
      VardaaranV Offline
      Vardaaran
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Karim
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • VardaaranV Offline
          VardaaranV Offline
          Vardaaran
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            Karim
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • VardaaranV Offline
              VardaaranV Offline
              Vardaaran
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                Karim
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • VardaaranV Offline
                  VardaaranV Offline
                  Vardaaran
                  schrieb am zuletzt editiert von
                  #22

                  @Karim:

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

                  1 Antwort Letzte Antwort
                  0
                  • VardaaranV Offline
                    VardaaranV Offline
                    Vardaaran
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      Karim
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • VardaaranV Offline
                        VardaaranV Offline
                        Vardaaran
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          Karim
                          schrieb am zuletzt editiert von
                          #26

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

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

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

                          872

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe