Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Wert über Alexa an HomeMatic Systemvariable übergeben

    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

    Wert über Alexa an HomeMatic Systemvariable übergeben

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

      Ich habe das über ein Javascript Datenpunkt mal nachgestellt:

      Erstellt einen Datenpunkt javascript.0.Test.level:

      ! ````
      var forcecration = false;
      ! idTestLevel = "Test.level";
      ! createState(idTestLevel, 0 , forcecration, {
      name: 'Test Level mit ALexa',
      desc: 'Test Level mit ALexa',
      type: 'number',
      unit: '%',
      role: 'value'
      });

      
      Den Datenpunkt im Cloudadapter manuell hinzugefügt und den Smartnamen "Test" gegeben.
      
       ![327_alexa_test.jpg](/assets/uploads/files/327_alexa_test.jpg) 
      
      Für den Smartname wurde ausser LEVEL auch AN (100%) und AUS (0%) für Alexa zugewiesen.
      
      In der Alexa App die Smart Home Geräte neu synchronisiert.
      
      Folgende Versuche waren sofort erfolgreich:
      
      "stelle Test auf 20%"
      
      "Test auf 40 %"
      
      "schalte Test aus" -> 0%
      
       ![327_alexa_20_prozent.jpg](/assets/uploads/files/327_alexa_20_prozent.jpg) 
      
      Was jetzt notwendig ist, damit im Cloud Adapter ein Datenpunkt mit LEVEL zugeordnet wird, habe ich jetzt nicht ausgetestet.
      
      Ratespiel:
      
      [  ] .level
      
      [  ] Type = number
      
      [  ] unit = "%"
      
      [  ] Lösung ist nicht aufgeführt
      
      Ich würde auf "number" tippen, habe es aber nicht ausprobiert.
      
      Wenn es number ist und die CCU Systemvariable auch so definiert ist, dann wird wahrscheinlich der ccm Datenpunkt Direkt funktionieren.
      
      Ansonsten muss noch die Zuweisung über Javascript erfolgen.
      
      

      on("javascript.0.Test.level,"hm-rega.0.4711");

      (in der Form findet allerdings keine Typenumwandlung statt).
      1 Reply Last reply Reply Quote 0
      • ruhr70
        ruhr70 last edited by

        War so frei und habe das getestet, wann Alexa einen Level zuweist.

        Type = number

        😉

        Ich habe im Cloud-Adapter nun einen derzeit nicht verwendeten hm-rega Datenpunkt (CCU Variable) zugeordnet und zum Test den Smartnamen "Balkon" gegeben.

        Der Datenpunkt ist vom Typ Number und zusätzlich mit dem Wertebereich 0 (min) bis 2 (max) versehen.

        327_alex_2_prozent.jpg

        Dieser Datenpunkt kann nun über Alexa gesteuert werden:

        "Alexa, setzte Balkon auf 2" -> Ergebnis 0,04

        "Alexa, setzte Balkon auf 2%" -> Ergebnis 0,04

        "Alexa, Balkon auf 50%" -> Ergebnis 1

        Es wird also wunderbar der prozentuale Teil von ""min" und "max" verwendet (wenn nicht angegeben. Ansage/Wert 1:1 -> 0…100%).

        Damit ist die erste Antwort:

        ` > klar geht das..

        mit "alexa, schalte xyz auf % prozent" und diesen wert gibst du weiter `

        korrekt.

        Du kannst den hm-rega Datenpunkt direkt im Cloudadapter auswählen, wenn er den Typ Number hat.

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

          Die Frage mit der Szene ist damit allerdings nicht beantwortet…

          [EDIT] Wobei mir auch nicht klar ist, was für eine Szene per Level gesteuert werden soll.

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

            @ruhr70:

            Damit ist die erste Antwort:
            ` > klar geht das..

            mit "alexa, schalte xyz auf % prozent" und diesen wert gibst du weiter `
            korrekt.

            Du kannst den hm-rega Datenpunkt direkt im Cloudadapter auswählen, wenn er den Typ Number hat. `
            Danke dir für die Mühe die Du dir gemacht hast und der Beschreibung!

            Man muss einfach immer wieder mal über den Tellerrand schauen und alle Optionen mit in die Überlegungen einbeziehen 😉

            Ich werde damit mal herumspielen. 8-)

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

              Interessant finde ich auch, dass Alexa Prozentangaben, bzw. Zahlen ihn das Wort "Prozent" akzeptiert.

              So kann man Werte an ioBroker schicken und sie verarbeiten, ohne dass es unnatürlich klingt.

              1 Reply Last reply Reply Quote 0
              • M
                mrMuppet last edited by

                Ja, bei den Homematic Komponenten geht das prima; Heizung, Licht, Rolladen geht sehr gut.

                Aber wie kann ich Alexa beibringen die Lautstärke meines yamaha AVR zu steuern? Dort gibt es auch keine Min/Max Angabe Möglich ist -unendlich bis +16 …

                Hat das schon jemand gemacht?

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

                  @mrMuppet:

                  Aber wie kann ich Alexa beibringen die Lautstärke meines yamaha AVR zu steuern? Dort gibt es auch keine Min/Max Angabe Möglich ist -unendlich bis +16 … `

                  min/max kannst Du beim Datenpunkt als Attribut hinzufügen (Admin/Objekte/der Stift beim Datenpunkt). unendlich wird schwierig 😉

                  Einfach damit spielen, bis es mit Alexa Prozentangaben passt.

                  Oder Du nimmst einen Javascript-JHilfsdatenpunkt, wie oben beschrieben und schreibst das dann von dort in den Datenpunkt Deines AVR.

                  (Damit ein eventuelles Adapterupdate Deine hinzugefügten Attribute nicht löscht/verändert).

                  Wie sieht der Yamaha Datenpunkt denn aus?

                  Beispiel an einem vorhandenen Datenpunkt:

                  filename="Attribut hinzufügen.jpg" index="0">~~

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

                    @ruhr70 in deinem Screenshot hast Du als "Type" Zeichenkette

                    Sollte es denn nicht eher ein Datentyp "Zahl" sein?!

                    … oder ist das egal?

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

                      ne, nicht egal…

                      Der Datenpunkt kommt vom Adapter... und Du hast recht. Der Adapter sollte den Datenpunkt als "Zahl/Number" anlegen und nicht als "Zeichenkette/String".

                      Also ein "Fehler" im Adapter und ein schlechtes Beispiel für einen Datenpunkt, um zu zeigen, wo man min/max einstellen kann.

                      Danke für den Hinweis!

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

                        @ruhr70:

                        ne, nicht egal…

                        Der Datenpunkt kommt vom Adapter... und Du hast recht. Der Adapter sollte den Datenpunkt als "Zahl/Number" anlegen und nicht als "Zeichenkette/String".

                        Also ein "Fehler" im Adapter und ein schlechtes Beispiel für einen Datenpunkt, um zu zeigen, wo man min/max einstellen kann.

                        Danke für den Hinweis! `
                        Ist ja nichts verloren, man könnte den "type" ja in "Zahl" ändern (in genau der Maske deines Screenshots). 🙂

                        Kurze Anmerkung für diejenigen die sich noch nicht so gut auskennen:

                        Auf diese Art und Weise kann man auch sonstige "Objekte" bzw. "Datenpunkte" - die zunächst nur als "An/Aus" Schalter (type = "Logikwert") daherkommen - anpassen.

                        Wenn der Datentyp (type) auf "Zahl" gesetzt wird, dann akzeptieren diese Datenpunkte anschließend auch Werte (bspw. °C oder %).

                        Damit das reibungslos funktioniert sollte neben dem "min"- und "max"-Wert (die Zusammen die "möglichen Werteangaben" "von/bis" darstellen) auch noch ein weiteres Feld mit der Bezeichnung "unit" angelegt werden. In das Feld "unit" wird die "Einheit" eingetragen. Also °C oder %.

                        Zumindest bei Thermostaten wird die Verwendung der Einheit °C absolut benöigt.

                        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

                        847
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        6
                        15
                        3722
                        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