Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [Frage] Alexa versteht Grad C° nicht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Frage] Alexa versteht Grad C° nicht

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

      @Vardaaran:

      Aber genau das ist der Punkt: Es sind mehrere Aktionen / Geräte gleichzeitig mit einem Befehl… `
      Solche "Gruppen" (Alle Lampen i Wohnzimmer sowie TV & Co) habe ich in unter Alexa definiert - ich schalte z.B. mit "Alexa, schälte Wohnzimmer komplett aus" alles im Wohnzimmer ab.

      @Vardaaran:

      Schreibe mal bitte die raw-Werte des Datenpunkts auf den Du verknüpft hast. `
      Ich spreche den Datenpunkt "SET_TEMPERATURE" der Thermostate an.

      Gruß,

      Eric

      Von unterwegs getippert

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

        @eric2905:

        Solche "Gruppen" (Alle Lampen i Wohnzimmer sowie TV & Co) habe ich in unter Alexa definiert - ich schalte z.B. mit "Alexa, schälte Wohnzimmer komplett aus" alles im Wohnzimmer ab. `
        Genau, und deswegen geht hier nur AUS/AN.

        Mit dem Wort "Heizung" kann man (ohne Skript) nicht AN/AUS und Temperatur gemeinsam steuern…

        @eric2905:

        Ich spreche den Datenpunkt "SET_TEMPERATURE" der Thermostate an. `
        Klick bitte bei dem entsprechenden Datenpunkt am Ende auf den Bleistift und dann auf "raw(nur Experten)" und kopiere das Ergebnis hier rein.

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

          Ähm ja, ich lese eifrig mit und versuche zu verstehen 😉

          Danke für eure Hilfe!

          Lieben Gruß, Karim.

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

            @Vardaaran:

            Klick bitte bei dem entsprechenden Datenpunkt am Ende auf den Bleistift und dann auf "raw(nur Experten)" und kopiere das Ergebnis hier rein. `
            Kann ich gern machen, wenn ich nach meinem Urlaub wieder zu Hause bin - aber wozu brauchst Du den RAW-Export eigentlich genau?

            Gruß,

            Eric

            Von unterwegs getippert

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

              @eric2905:

              Kann ich gern machen, wenn ich nach meinem Urlaub wieder zu Hause bin - aber wozu brauchst Du den RAW-Export eigentlich genau? `
              Super, vielen Dank! Und noch einen schönen und erholsamen Urlaub! 😄

              Welche Worte Alexa versteht/annimmt, wird unter Anderem von der Definition des Datenpunkts vorgegeben…

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

                @Vardaaran:

                Welche Worte Alexa versteht/annimmt, wird unter Anderem von der Definition des Datenpunkts vorgegeben… `
                Das ist mir schon klar - da ich lediglich den SmartName-Eintrag (über den Cloud-Adapter) angepasst habe, ist meinerseits als Änderung vom Standard nur der SmartName-Eintrag vorhanden. Der Rest wird mit Deinen Daten identisch sein.

                Gruß,

                Eric

                Von unterwegs getippert

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

                  @eric2905:

                  Das ist mir schon klar - da ich lediglich den SmartName-Eintrag (über den Cloud-Adapter) angepasst habe, ist meinerseits als Änderung vom Standard nur der SmartName-Eintrag vorhanden. Der Rest wird mit Deinen Daten identisch sein. `
                  Leider nicht, da der DP für Alexa selbst definiert wurde, um eben unterschiedliche "Szenen" für an, aus und "Zahl" zu ermöglichen.

                  Aber Du hast mich auf eine Idee gebracht:

                  @Karim: Gehe mal bitte auf "Objekte" und Poste die raw-Daten des Datenpunkts: "hm-rpc.1.000397098A3EDA.1.SET_POINT_TEMPERATURE".

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

                    Ideen sind immer gut 🙂

                    Hier ist alles, was da drinne steht.

                    {
                      "common": {
                        "name": "Heizkörperthermostat Arbeitszimmer 1.SET_POINT_TEMPERATURE",
                        "type": "number",
                        "unit": "°C",
                        "def": 4.5,
                        "min": 4.5,
                        "max": 30.5,
                        "read": true,
                        "write": true
                      },
                      "native": {
                        "UNIT": "�C",
                        "CONTROL": "HEATING_CONTROL_HMIP.SETPOINT",
                        "ID": "SET_POINT_TEMPERATURE",
                        "TYPE": "FLOAT",
                        "MAX": 30.5,
                        "MIN": 4.5,
                        "OPERATIONS": 7,
                        "FLAGS": 1,
                        "DEFAULT": 4.5
                      },
                      "acl": {
                        "object": 1638,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator",
                        "state": 1638
                      },
                      "_id": "hm-rpc.1.000397098A3EDA.1.SET_POINT_TEMPERATURE",
                      "type": "state"
                    }
                    

                    Lieben Gruß, Karim.

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

                      jetzt bitte noch die raw-Angaben des selbstangelegten Datenpunkts (also "javascript.0.alexa.Heizung")

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

                        Du meinst diesen hier, oder?

                        {
                          "common": {
                            "name": "Heizung schalten",
                            "engineType": "Javascript/js",
                            "source": "var forecreation    = false;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)\r\n\r\n// Pfad der Lampen oder Szenen, welche Du schalten möchtest:\r\n// -----------------------------------------------------------------------------\r\nvar Heizkoerperthermostat1 = \"hm-rpc.1.000397098A3EDA.1.SET_POINT_TEMPERATURE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat2 = \"hm-rpc.1.000397098A3ED9.1.SET_POINT_TEMPERATURE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat3 = \"hm-rpc.1.000A15699FE877.1.SET_POINT_TEMPERATURE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat4 = \"hm-rpc.1.000397098A3FCC.1.SET_POINT_TEMPERATURE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Wandthermostat5 = \"hm-rpc.1.000313C99548B8.1.SET_POINT_TEMPERATURE\";                   // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat11 = \"hm-rpc.1.000397098A3EDA.1.ACTIVE_PROFILE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat21 = \"hm-rpc.1.000397098A3ED9.1.ACTIVE_PROFILE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat31 = \"hm-rpc.1.000A15699FE877.1.ACTIVE_PROFILE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Heizkoerperthermostat41 = \"hm-rpc.1.000397098A3FCC.1.ACTIVE_PROFILE\";            // Pfad zwischen Anführungszeichen eintragen.\r\nvar Wandthermostat51 = \"hm-rpc.1.000313C99548B8.1.ACTIVE_PROFILE\";                   // Pfad zwischen Anführungszeichen eintragen.\r\n\r\n// Datenpunkte anlegen:\r\n// -----------------------------------------------------------------------------\r\nvar idDatenpunkt = \"alexa.Heizung\";                      // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird\r\ncreateState(idDatenpunkt, 0, forecreation, {                                  // Datenpunkt wird angelegt\r\n     name: 'Heizung Szenario 1',\r\n     desc: 'Heizung Szenario 1 an und aus',\r\n     type: 'number',\r\n     unit: '°C',\r\n     def:  0,\r\n     min:  0,\r\n     max:  100,\r\n     role: 'value.temperature'\r\n});\r\n\r\n// Funktionen:\r\n// -----------------------------------------------------------------------------\r\n\r\n// Check ob an, aus oder Zahl\r\n// -----------------------------------------------------------------------------\r\nfunction checking(dp) {\r\n    dpWert = dp.state.val;\r\n    \r\n     if (dpWert == 100) { // <-- Wird ausgeführt wenn AN.\r\n      setState(Heizkoerperthermostat11, 1 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat21, 1 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat31, 1 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat41, 1 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Wandthermostat51, 1 /* dpWert durch gewünschten WERT ersetzen */);\r\n     } else if (dpWert === 0) { // <-- Wird ausgeführt wenn AUS.\r\n      setState(Heizkoerperthermostat11, 2 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat21, 2 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat31, 2 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Heizkoerperthermostat41, 2 /* dpWert durch gewünschten WERT ersetzen */);\r\n      setState(Wandthermostat51, 2 /* dpWert durch gewünschten WERT ersetzen */);\r\n     } else { // <-- Wird ausgeführt wenn eine Zahl zwischen 1 und 99 genannt wird und die Zahl ist über \"dpWert\" abrufbar.\r\n      setState(Heizkoerperthermostat1 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);\r\n      setState(Heizkoerperthermostat2 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);\r\n      setState(Heizkoerperthermostat3 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);\r\n      setState(Heizkoerperthermostat4 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);\r\n      setState(Wandthermostat5 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);\r\n     }\r\n}\r\n\r\n// Abfrage des Datenpunkts:\r\n// -----------------------------------------------------------------------------\r\non({id: \"javascript.0.\" + idDatenpunkt, change:'any'}, function (dp) {\r\n    checking(dp);\r\n});",
                            "enabled": true,
                            "engine": "system.adapter.javascript.0",
                            "debug": false,
                            "verbose": false
                          },
                          "type": "script",
                          "_id": "script.js.Skripte.Heizung_schalten",
                          "native": {},
                          "acl": {
                            "object": 1638
                          }
                        }
                        

                        Lieben Gruß, Karim.

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

                          Da stimmt mit dem Datenpunkt etwas nicht.

                          Mache bitte folgendes:

                          1. Dein Skript stoppen.

                          2. Im Cloud-Adapter die Heizung löschen

                          3. Den Datenpunkt der Heizung manuell löschen.

                          4. Dein Skript durch dieses ersetzen und Skript starten:

                          ! ` > var forecreation = true; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)

                          // Pfad der Lampen, Heizung oder Szenen, welche Du schalten möchtest:

                          // –---------------------------------------------------------------------------

                          var Heizkoerperthermostat1 = "hm-rpc.1.000397098A3EDA.1.SET_POINT_TEMPERATURE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat2 = "hm-rpc.1.000397098A3ED9.1.SET_POINT_TEMPERATURE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat3 = "hm-rpc.1.000A15699FE877.1.SET_POINT_TEMPERATURE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat4 = "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 Heizkoerperthermostat11 = "hm-rpc.1.000397098A3EDA.1.ACTIVE_PROFILE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat21 = "hm-rpc.1.000397098A3ED9.1.ACTIVE_PROFILE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat31 = "hm-rpc.1.000A15699FE877.1.ACTIVE_PROFILE"; // Pfad zwischen Anführungszeichen eintragen.

                          var Heizkoerperthermostat41 = "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: '°C',

                          def: 4.5,

                          min: 4.5,

                          max: 30.5,

                          read: true,

                          write: true,

                          smartName: {

                          de: 'Heizung'

                          }

                          });

                          // Funktionen:

                          // -----------------------------------------------------------------------------

                          // Check ob an, aus oder Zahl

                          // -----------------------------------------------------------------------------

                          function checking(dp) {

                          dpWert = dp.state.val;

                          if (dpWert == 30.5) { // <-- Wird ausgeführt wenn AN.

                          setState(Heizkoerperthermostat11, 1 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat21, 1 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat31, 1 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat41, 1 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Wandthermostat51, 1 /* dpWert durch gewünschten WERT ersetzen */);

                          } else if (dpWert == 4.5) { // <-- Wird ausgeführt wenn AUS.

                          setState(Heizkoerperthermostat11, 2 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat21, 2 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat31, 2 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Heizkoerperthermostat41, 2 /* dpWert durch gewünschten WERT ersetzen */);

                          setState(Wandthermostat51, 2 /* dpWert durch gewünschten WERT ersetzen */);

                          } else { // <-- Wird ausgeführt wenn eine Zahl zwischen 4.6 und 30.4 genannt wird und die Zahl ist über "dpWert" abrufbar.

                          setState(Heizkoerperthermostat1 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);

                          setState(Heizkoerperthermostat2 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);

                          setState(Heizkoerperthermostat3 /* Lampe1 durch gewünschten Heizkörper ersetzen */, dpWert);

                          setState(Heizkoerperthermostat4 /* 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);

                          }); `
                          5. Prüfen ob im Cloud-Adapter die Heizung vorhanden ist -> ggf. den Datenpunkt manuell wieder eintragen.

                          6. Alexa neue Geräte suchen lassen.

                          7. Probieren ob an, aus und (z.B.) 22 Grad geht.

                          8. Hier berichten! 😉 😄

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

                            Ich habe es genau so gemacht wie du es beschrieben hast.

                            Der neue Datenpunkt wurde automatisch angelegt und war auch direkt im Cloudadapter hinterlegt.

                            Die Steuerung über Grad funktioniert jetzt, leider geht nun An und Aus nicht mehr. Sie sagt sie kennt den Befehl nicht :?

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

                              @Karim:

                              Ich habe es genau so gemacht wie du es beschrieben hast.

                              Der neue Datenpunkt wurde automatisch angelegt und war auch direkt im Cloudadapter hinterlegt.

                              Die Steuerung über Grad funktioniert jetzt, leider geht nun An und Aus nicht mehr. Sie sagt sie kennt den Befehl nicht :? `
                              Die muss auch immer rumzicken!! 😉 😄

                              Weiß nicht, ob dass eine, dass andere blockiert. Aber für einen Versuch, kannst Du mal den Teil im Skript wo der Datenpunkt erzeugt wird, wie folgt verändern:

                              ! ````
                              // 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',
                              def: 4.5,
                              min: 4.5,
                              max: 30.5,
                              role: "value", // <- kommt dazu. Eventuell auch statt "value", "level" versuchen!
                              read: true,
                              write: true,
                              smartName: {
                              de: 'Heizung'
                              }
                              })

                              
                              Skript neu starten und Alexa neu suchen lassen…
                              1 Reply Last reply Reply Quote 0
                              • K
                                Karim last edited by

                                Nein leider bei beiden Befehlen das selbe Ergebnis:

                                "Der Befehl funktioniert für das Gerät Heizung nicht".

                                Habe jeweils immer wieder den Datenpunkt gelöscht und neu anlegen lassen.

                                Ist es egal ob da nun " " oder ' ' steht?

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

                                  @Karim:

                                  Ist es egal ob da nun " " oder ' ' steht? `
                                  Theoretisch ja, 'xyz' wäre in dem Fall aber wirklich sauberer.

                                  Dann habe ich aktuell keine Idee mehr, sorry… 😢

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

                                    Okay, schade. Naja es war ein neuer Versuch 😉

                                    Ich werde aber dann erstmal weiterhin das alte Skript laufen.

                                    Das hat ja dann doch noch besser geklappt :lol:

                                    Wenn du noch weitere Eingebungen hast, ich teste immer schön weiter 🙂

                                    Lieben Gruß, Karim.

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

                                      Habe mir eine imaginäre Test-Heizung gemacht und das Ganze selbst etwas getestet:

                                      Sobald als "unit" "°" oder "°C" definiert ist, geht das Wort Grad, aber nicht mehr AUS und AN. Wenn man die Unit weglässt, geht AUS und AN und eine Zahl, aber nicht mehr mit dem Wort Grad.

                                      Dies wird auch im Gloud-Adapter so angezeigt. Mit meinem nichtvorhandenen Wissen, ist es also ein Problem von Alexa und/oder dem Cloud-Adapter…

                                      Könnte man eventuell bei einem zukünftigen Update des Clud-Adapters hier etwas machen?

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

                                        Wow, danke das du dir so viel Mühe machst!

                                        Ja, das wäre spitze, wenn das irgendwann klappen würde 🙂

                                        Wer ist denn für die Updates des Cloud Adapter zuständig, bzw. könnte das realisieren?

                                        Lieben Gruß, Karim.

                                        1 Reply Last reply Reply Quote 0
                                        • Meistertr
                                          Meistertr Developer last edited by

                                          das ist hat leider nix mit dem cloudadapter zu tun (den bluefox entwickelt hat und betreut ) sondern mit den Vorgaben von Amazon. Die haben was die Steuerung angeht nur wenig Befehle freigegeben.

                                          Gesendet von meinem SM-G930F mit Tapatalk

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

                                            @Meistertr:

                                            das ist hat leider nix mit dem cloudadapter zu tun (den bluefox entwickelt hat und betreut ) sondern mit den Vorgaben von Amazon. Die haben was die Steuerung angeht nur wenig Befehle freigegeben. `
                                            Hatte ich befürchtet. Da bleibt nur die Hoffnung, dass Amazon den Umfang der Befehle erweitert.

                                            Bei der englischen Alexa funktioniert ja schon wesentlich mehr…

                                            https://developer.amazon.com/public/sol … lorrequest

                                            @Karim: Als Kompromiss-Lösung vielleicht:

                                            • Begriff "Heizung" für AN/AUS

                                            und

                                            • Begriff "Temperatur" für die Temperatur-Regelung?
                                            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

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            28
                                            3511
                                            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