Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Alexa in Node Red ohne contrib-alexa-home oder Ähnliches

NEWS

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

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

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

Alexa in Node Red ohne contrib-alexa-home oder Ähnliches

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
alexanode redalexa ohne cloudalexa skill
82 Beiträge 14 Kommentatoren 12.1k Aufrufe 25 Watching
  • Ä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.
  • Z zzippo

    @Marsx79
    Ja, ich arbeite weiter daran, zur Zeit habe ich aber ganz andere Sorgen.... Ein Todesfall in der Familie.

    M Offline
    M Offline
    mech
    schrieb am zuletzt editiert von
    #61

    @zzippo Dann nimm dir auch die Zeit für deine Familie, das hier ist Hobby. Kopf hoch und Gruß

    Z 1 Antwort Letzte Antwort
    0
    • M mech

      @zzippo Dann nimm dir auch die Zeit für deine Familie, das hier ist Hobby. Kopf hoch und Gruß

      Z Offline
      Z Offline
      zzippo
      schrieb am zuletzt editiert von
      #62

      @mech
      Danke für die freundlichen Worte.
      Ich bin aber jederzeit für Fragen offen, Ablenkung kann ich gut gebrauchen.

      1 Antwort Letzte Antwort
      0
      • Z zzippo

        Hallo, ich wollte kurz vorstellen, wie ich die Sprachsteuerung meiner Heimautomatisierung gelöst habe.
        Am Anfang habe ich mit den alt bekannten Mitteln gearbeitet, also z.B. mit node-red-contrib-alexa-home.
        Nach einer Weile habe ich gemerkt, dass doch zu viele Einschränkungen vorhanden sind und mich auf die Suche nach einer neuen Lösung gemacht.
        Herausgekommen ist folgendes:

        • Ein eigener Smarthome Skill bei Amazon welcher über einen Raspi Reverse Proxy auf Node Red geleitet wird.
        • Ein Windows Programm mit dem ich beliebige Geräte konfigurieren kann, und das auf die Amazon Gerätesuche reagiert.
        • Eine SqLite Datenbank auf dem IOBroker Raspi, über die alle Geräte mit den entsprechenden IOBroker Datenpunkten verbunden werden.
        • Ein recht kurzer Node-Red Flow, der dann alle Dinge behandelt.

        Die Großen Vorteile an der Sache sind:

        • Alexa kann individuelle Antworten geben (zum Beispiel wenn ich sage Gäste WLAN ein. Antwortet mir Alexa mit der SSID und dem Passwort)
        • Ich kann mit gleichen Sprachbefehlen in verschiedenen Räumen arbeiten (z.B. Licht ein)
        • Ich kann alle Alexa Controller verwenden (z.B. mode, precentage, color etc.)
        • Neue Geräte erfordern keine Programmierung sondern lediglich eine Zeile in der Datenbank

        Bei Interesse kann ich das gerne einmal genauer vorstellen.

        AlexaDeviceGenerator.jpg
        db.jpg
        Flow.jpg

        M Offline
        M Offline
        matit2000
        schrieb am zuletzt editiert von
        #63

        @zzippo super schöne Lösung, werde ich zu Weihnachten mal nachbauen... weiter so!
        👍 👍 👍

        Z 1 Antwort Letzte Antwort
        0
        • M matit2000

          @zzippo super schöne Lösung, werde ich zu Weihnachten mal nachbauen... weiter so!
          👍 👍 👍

          Z Offline
          Z Offline
          zzippo
          schrieb am zuletzt editiert von
          #64

          @matit2000
          So super schön finde ich es noch nicht. Ich bin grad am forschen, wie es besser gehen könnte. Ich wollte das ganze in den ioBroker integrieren, aber dafür muss ich noch viel lernen.... vs-code, node.js, html, css, express, adapter...., und, und, und.
          für einen 56 Jährigen nicht mehr ganz so einfach 🙂

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            Christoph_12
            schrieb am zuletzt editiert von
            #65

            Hallo @zzippo,
            sehr schönes Projekt. Ich hatte bisher Alexa über einen Customskill eingebunden, da ich mit den Smart-Home-Skills zu eingeschränkt bin. Lediglich die Geräte, die nur ein- oder ausgeschaltet werden müssen habe ich über ein Smart-Home_Skill geschaltet.

            Scheinbar hast Du die Einschränkungen überwunden. Das würde ich bei mir auch gerne einbinden. Bisher muss ich die Rollladen noch über den Custom-Skill steuern.

            Ich habe jetzt im ersten Schritt einen neuen Smart-Home-Skill angelegt und aktiviert. Eine URL für das Einlesen der Geräte habe ich auch angelegt. Ich sehe, dass die URL auch abgerufen wird, es werden aber keine neuen Geräte gefunden.
            Für den Test habe ich einfach das JSON für zwei Geräte (hund und katze) angelegt, welches bei der Abfrage der neuen Geräte zurückgeliefert wird. Hat sich hier etwas geändert? Ich kann die neuen Geräte nicht finden.
            Folgender Code wird zurückgeliefert:

            {"endpoints":
            [
            
                {
                    "endpointId": "eg_esstisch_lampe_1",
                    "manufacturerName": "HM Switsch",
                    "friendlyName": "hund",
                    "description": "hund",
                    "displayCategories": ["SWITCH"],
                    "cookie": {
                        "devicename": "hund",
                        "TurnOn"    : "einschalten",
                        "TurnOff"   : "ausschalten"
                    },
                    "capabilities":
                    [
                        {
                            "type": "AlexaInterface",
                            "interface": "Alexa",
                            "version": "3"
                        },
                        {
                            "interface": "Alexa.PowerController",
                            "version": "3",
                            "type": "AlexaInterface",
                            "properties": {
                                "supported": [{
                                    "name": "powerState"
                                }],
                                    "retrievable": true
                            }
                        }
                    ]
                },
                
                {
                    "endpointId": "eg_leselampe",
                    "manufacturerName": "HM Switsch",
                    "friendlyName": "katze",
                    "description": "katze",
                    "displayCategories": ["SWITCH"],
                    "cookie": {
                        "devicename": "katze",
                        "TurnOn"    : "einschalten",
                        "TurnOff"   : "ausschalten"
                    },
                    "capabilities":
                    [
                        {
                            "type": "AlexaInterface",
                            "interface": "Alexa",
                            "version": "3"
                        },
                        {
                            "interface": "Alexa.PowerController",
                            "version": "3",
                            "type": "AlexaInterface",
                            "properties": {
                                "supported": [{
                                    "name": "powerState"
                                }],
                                    "retrievable": true
                            }
                        }
                    ]
                }
            ]
            }
            

            Kannst Du mir einmal ein Beispiel-JSON für ein Gerät zeigen, welches funktionieren müsste? Ich kann leider Deine Tools nicht verwenden, da ich kein ioBroker verwende.

            Lassen sich bei den Rollladen auch mehrere Worte für die Aktion einstellen (hoch, runter, öffnen, schließen, auf und zu)?

            Z 2 Antworten Letzte Antwort
            0
            • C Christoph_12

              Hallo @zzippo,
              sehr schönes Projekt. Ich hatte bisher Alexa über einen Customskill eingebunden, da ich mit den Smart-Home-Skills zu eingeschränkt bin. Lediglich die Geräte, die nur ein- oder ausgeschaltet werden müssen habe ich über ein Smart-Home_Skill geschaltet.

              Scheinbar hast Du die Einschränkungen überwunden. Das würde ich bei mir auch gerne einbinden. Bisher muss ich die Rollladen noch über den Custom-Skill steuern.

              Ich habe jetzt im ersten Schritt einen neuen Smart-Home-Skill angelegt und aktiviert. Eine URL für das Einlesen der Geräte habe ich auch angelegt. Ich sehe, dass die URL auch abgerufen wird, es werden aber keine neuen Geräte gefunden.
              Für den Test habe ich einfach das JSON für zwei Geräte (hund und katze) angelegt, welches bei der Abfrage der neuen Geräte zurückgeliefert wird. Hat sich hier etwas geändert? Ich kann die neuen Geräte nicht finden.
              Folgender Code wird zurückgeliefert:

              {"endpoints":
              [
              
                  {
                      "endpointId": "eg_esstisch_lampe_1",
                      "manufacturerName": "HM Switsch",
                      "friendlyName": "hund",
                      "description": "hund",
                      "displayCategories": ["SWITCH"],
                      "cookie": {
                          "devicename": "hund",
                          "TurnOn"    : "einschalten",
                          "TurnOff"   : "ausschalten"
                      },
                      "capabilities":
                      [
                          {
                              "type": "AlexaInterface",
                              "interface": "Alexa",
                              "version": "3"
                          },
                          {
                              "interface": "Alexa.PowerController",
                              "version": "3",
                              "type": "AlexaInterface",
                              "properties": {
                                  "supported": [{
                                      "name": "powerState"
                                  }],
                                      "retrievable": true
                              }
                          }
                      ]
                  },
                  
                  {
                      "endpointId": "eg_leselampe",
                      "manufacturerName": "HM Switsch",
                      "friendlyName": "katze",
                      "description": "katze",
                      "displayCategories": ["SWITCH"],
                      "cookie": {
                          "devicename": "katze",
                          "TurnOn"    : "einschalten",
                          "TurnOff"   : "ausschalten"
                      },
                      "capabilities":
                      [
                          {
                              "type": "AlexaInterface",
                              "interface": "Alexa",
                              "version": "3"
                          },
                          {
                              "interface": "Alexa.PowerController",
                              "version": "3",
                              "type": "AlexaInterface",
                              "properties": {
                                  "supported": [{
                                      "name": "powerState"
                                  }],
                                      "retrievable": true
                              }
                          }
                      ]
                  }
              ]
              }
              

              Kannst Du mir einmal ein Beispiel-JSON für ein Gerät zeigen, welches funktionieren müsste? Ich kann leider Deine Tools nicht verwenden, da ich kein ioBroker verwende.

              Lassen sich bei den Rollladen auch mehrere Worte für die Aktion einstellen (hoch, runter, öffnen, schließen, auf und zu)?

              Z Offline
              Z Offline
              zzippo
              schrieb am zuletzt editiert von zzippo
              #66

              @Christoph_12

              Hallo Christoph,
              ein Kompletter Response für einen Power Controller muss so aussehen:
              (Die MessageId ist generiert)

              {
                "event": {
                  "header": {
                    "namespace": "Alexa.Discovery",
                    "name": "Discover.Response",
                    "payloadVersion": "3",
                    "messageId": "11339ec1-6c30-45bb-a7bf-12e113ebfc7c" 
                  },
                  "payload": {
                    "endpoints": [
                      {
                        "friendlyName": "hund",
                        "endpointId": "eg_esstisch_lampe_1",
                        "manufacturerName": "HM Switch",
                        "description": "hund",
                        "displayCategories": [
                          "SWITCH"
                        ],
                        "capabilities": [
                          {
                            "properties": {
                              "supported": [
                                {
                                  "name": "powerState"
                                }
                              ],
                              "proactivelyReported": false,
                              "retrievable": false
                            },
                            "type": "AlexaInterface",
                            "interface": "Alexa.PowerController",
                            "version": "3"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
              

              zu Deiner Frage mit den Rollos, ja mit ModeController kannst Du beliebig viele Kommandos angeben.

              C 1 Antwort Letzte Antwort
              0
              • C Christoph_12

                Hallo @zzippo,
                sehr schönes Projekt. Ich hatte bisher Alexa über einen Customskill eingebunden, da ich mit den Smart-Home-Skills zu eingeschränkt bin. Lediglich die Geräte, die nur ein- oder ausgeschaltet werden müssen habe ich über ein Smart-Home_Skill geschaltet.

                Scheinbar hast Du die Einschränkungen überwunden. Das würde ich bei mir auch gerne einbinden. Bisher muss ich die Rollladen noch über den Custom-Skill steuern.

                Ich habe jetzt im ersten Schritt einen neuen Smart-Home-Skill angelegt und aktiviert. Eine URL für das Einlesen der Geräte habe ich auch angelegt. Ich sehe, dass die URL auch abgerufen wird, es werden aber keine neuen Geräte gefunden.
                Für den Test habe ich einfach das JSON für zwei Geräte (hund und katze) angelegt, welches bei der Abfrage der neuen Geräte zurückgeliefert wird. Hat sich hier etwas geändert? Ich kann die neuen Geräte nicht finden.
                Folgender Code wird zurückgeliefert:

                {"endpoints":
                [
                
                    {
                        "endpointId": "eg_esstisch_lampe_1",
                        "manufacturerName": "HM Switsch",
                        "friendlyName": "hund",
                        "description": "hund",
                        "displayCategories": ["SWITCH"],
                        "cookie": {
                            "devicename": "hund",
                            "TurnOn"    : "einschalten",
                            "TurnOff"   : "ausschalten"
                        },
                        "capabilities":
                        [
                            {
                                "type": "AlexaInterface",
                                "interface": "Alexa",
                                "version": "3"
                            },
                            {
                                "interface": "Alexa.PowerController",
                                "version": "3",
                                "type": "AlexaInterface",
                                "properties": {
                                    "supported": [{
                                        "name": "powerState"
                                    }],
                                        "retrievable": true
                                }
                            }
                        ]
                    },
                    
                    {
                        "endpointId": "eg_leselampe",
                        "manufacturerName": "HM Switsch",
                        "friendlyName": "katze",
                        "description": "katze",
                        "displayCategories": ["SWITCH"],
                        "cookie": {
                            "devicename": "katze",
                            "TurnOn"    : "einschalten",
                            "TurnOff"   : "ausschalten"
                        },
                        "capabilities":
                        [
                            {
                                "type": "AlexaInterface",
                                "interface": "Alexa",
                                "version": "3"
                            },
                            {
                                "interface": "Alexa.PowerController",
                                "version": "3",
                                "type": "AlexaInterface",
                                "properties": {
                                    "supported": [{
                                        "name": "powerState"
                                    }],
                                        "retrievable": true
                                }
                            }
                        ]
                    }
                ]
                }
                

                Kannst Du mir einmal ein Beispiel-JSON für ein Gerät zeigen, welches funktionieren müsste? Ich kann leider Deine Tools nicht verwenden, da ich kein ioBroker verwende.

                Lassen sich bei den Rollladen auch mehrere Worte für die Aktion einstellen (hoch, runter, öffnen, schließen, auf und zu)?

                Z Offline
                Z Offline
                zzippo
                schrieb am zuletzt editiert von
                #67

                Ich wollte noch einmal ein Update geben. Bin dabei den Device Generator als HTML/Javascript umzusetzen. Sieht schon ganz gut aus, und ich habe noch neue Ideen implementiert.

                new adg.png

                new adg2.png

                new adg3.png

                M 1 Antwort Letzte Antwort
                0
                • Z zzippo

                  @Christoph_12

                  Hallo Christoph,
                  ein Kompletter Response für einen Power Controller muss so aussehen:
                  (Die MessageId ist generiert)

                  {
                    "event": {
                      "header": {
                        "namespace": "Alexa.Discovery",
                        "name": "Discover.Response",
                        "payloadVersion": "3",
                        "messageId": "11339ec1-6c30-45bb-a7bf-12e113ebfc7c" 
                      },
                      "payload": {
                        "endpoints": [
                          {
                            "friendlyName": "hund",
                            "endpointId": "eg_esstisch_lampe_1",
                            "manufacturerName": "HM Switch",
                            "description": "hund",
                            "displayCategories": [
                              "SWITCH"
                            ],
                            "capabilities": [
                              {
                                "properties": {
                                  "supported": [
                                    {
                                      "name": "powerState"
                                    }
                                  ],
                                  "proactivelyReported": false,
                                  "retrievable": false
                                },
                                "type": "AlexaInterface",
                                "interface": "Alexa.PowerController",
                                "version": "3"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                  

                  zu Deiner Frage mit den Rollos, ja mit ModeController kannst Du beliebig viele Kommandos angeben.

                  C Offline
                  C Offline
                  Christoph_12
                  schrieb am zuletzt editiert von
                  #68

                  Danke @zzippo, das funktioniert jetzt.
                  Jetzt wird an mein Script folgendes übergeben:

                   [data] => Array
                          (
                              [directive] => Array
                                  (
                                      [header] => Array
                                          (
                                              [namespace] => Alexa.PowerController
                                              [name] => TurnOff
                                              [payloadVersion] => 3
                                              [messageId] => 067b0ff4-47a5-4017-bd6e-20093ebd44ba
                                              [correlationToken] => AAAAAAAAAQCdkRvyue7L1Qq0qi/...Qc5nVN0TSG5ee
                                          )
                  
                                      [endpoint] => Array
                                          (
                                              [scope] => Array
                                                  (
                                                      [type] => BearerToken
                                                      [token] => Atza|IwEGNZBZz....YDa2Mx_czIbpTjwpu0fzM
                                                  )
                  
                                              [endpointId] => maus_1
                                              [cookie] => Array
                                                  (
                                                  )
                  
                                          )
                  
                                      [payload] => Array
                                          (
                                          )
                  
                                  )
                  
                          )
                  

                  Ich hatte das Gerät maus_1 genannt. Schalten kann ich also damit. Ich frage mich nur:
                  Wie komme ich an die Info, welcher Echo die Anfrage geschickt hat?
                  Wie kann ich den Text, der als Bestätigung ausgegben wird vorgeben? Wird das im Response mit angegeben?

                  C 1 Antwort Letzte Antwort
                  0
                  • C Christoph_12

                    Danke @zzippo, das funktioniert jetzt.
                    Jetzt wird an mein Script folgendes übergeben:

                     [data] => Array
                            (
                                [directive] => Array
                                    (
                                        [header] => Array
                                            (
                                                [namespace] => Alexa.PowerController
                                                [name] => TurnOff
                                                [payloadVersion] => 3
                                                [messageId] => 067b0ff4-47a5-4017-bd6e-20093ebd44ba
                                                [correlationToken] => AAAAAAAAAQCdkRvyue7L1Qq0qi/...Qc5nVN0TSG5ee
                                            )
                    
                                        [endpoint] => Array
                                            (
                                                [scope] => Array
                                                    (
                                                        [type] => BearerToken
                                                        [token] => Atza|IwEGNZBZz....YDa2Mx_czIbpTjwpu0fzM
                                                    )
                    
                                                [endpointId] => maus_1
                                                [cookie] => Array
                                                    (
                                                    )
                    
                                            )
                    
                                        [payload] => Array
                                            (
                                            )
                    
                                    )
                    
                            )
                    

                    Ich hatte das Gerät maus_1 genannt. Schalten kann ich also damit. Ich frage mich nur:
                    Wie komme ich an die Info, welcher Echo die Anfrage geschickt hat?
                    Wie kann ich den Text, der als Bestätigung ausgegben wird vorgeben? Wird das im Response mit angegeben?

                    C Offline
                    C Offline
                    Christoph_12
                    schrieb am zuletzt editiert von
                    #69

                    Hi,
                    ich konnte die Rolllade einbinden per:

                    {
                      "event": {
                        "header": {
                          "namespace": "Alexa.Discovery",
                          "name": "Discover.Response",
                          "payloadVersion": "3",
                          "messageId": "maus_message"
                        },
                        "payload": {
                          "endpoints": [
                            
                    
                            {
                              "endpointId": "dach_rolllade",
                              "manufacturerName": "HM",
                              "description": "Rolllade Giebelwand",
                              "friendlyName": "Giebelrolllade",
                              "displayCategories": ["ROLLLADE"],
                              "cookie": {},
                              "capabilities": [
                                {
                                  "type": "AlexaInterface",
                                  "interface": "Alexa.ModeController",
                                  "instance": "Rolllade.Position",
                                  "version": "3",
                                  "properties": {
                                    "supported": [
                                      {
                                        "name": "mode"
                                      }
                                    ],
                                    "retrievable": true,
                                    "proactivelyReported": true
                                  },
                                  "capabilityResources": {
                                    "friendlyNames": [
                                      {
                                        "@type": "asset",
                                        "value": {
                                          "assetId": "Alexa.Setting.Opening"
                                        }
                                      },
                                      {
                                        "@type": "text",
                                        "value": {
                                            "text": "hoch",
                                            "locale": "de-DE"
                                            }
                                        }                  
                                    ]
                                  },
                                  "configuration": {
                                    "ordered": false,
                                    "supportedModes": [
                                      {
                                        "value": "Position.Up",
                                        "modeResources": {
                                          "friendlyNames": [
                                            {
                                              "@type": "asset",
                                              "value": {
                                                "assetId": "Alexa.Value.Open"
                                              }
                                            },
                                            {
                                            "@type": "text",
                                                "value": {
                                                    "text": "hoch",
                                                    "locale": "de-DE"
                                                    }
                                            }                          
                                          ]
                                        }
                                      },
                                      {
                                        "value": "Position.Down",
                                        "modeResources": {
                                          "friendlyNames": [
                                            {
                                              "@type": "asset",
                                              "value": {
                                                "assetId": "Alexa.Value.Close"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  },
                                  "semantics": {
                                    "actionMappings": [
                                      {
                                        "@type": "ActionsToDirective",
                                        "actions": ["Alexa.Actions.Close", "Alexa.Actions.Lower"],
                                        "directive": {
                                          "name": "SetMode",
                                          "payload": {
                                            "mode": "Position.Down"
                                          }
                                        }
                                      },
                                      {
                                        "@type": "ActionsToDirective",
                                        "actions": ["Alexa.Actions.Open", "Alexa.Actions.Raise"],
                                        "directive": {
                                          "name": "SetMode",
                                          "payload": {
                                            "mode": "Position.Up"
                                          }
                                        }
                                      }
                                    ],
                                    "stateMappings": [
                                      {
                                        "@type": "StatesToValue",
                                        "states": ["Alexa.States.Closed"],
                                        "value": "Position.Down"
                                      },
                                      {
                                        "@type": "StatesToValue",
                                        "states": ["Alexa.States.Open"],
                                        "value": "Position.Up"
                                      }  
                                    ]
                                  }
                                },
                                {
                                  "type": "AlexaInterface",
                                  "interface": "Alexa",
                                  "version": "3"
                                }
                              ]
                            }
                    
                    
                    
                    
                          ]
                        }
                      }
                    }
                    

                    Der Befehl, die Rolllade zu bewegen wird bei den Befehlen "öffnen" und "schließen" ausgeführt und korrekt mit ok vom Echo quittiert.

                    Sage ich aber "Giebelrolllade hoch", dann kommt als Antwort "Giebelrolllade unterstützt das nicht." Der Befehl wird aber dennoch korrekt an mein Verarbeitungsscript geschickt.

                    Kann mir mal jemand seine Rollladendefinition senden, der außer öffnen und schließen weitere Befehle angelernt hat?
                    Mich würde auch die Definition interessieren, für ein Gerät, bei dem eine alternative Antwort gegeben wird.
                    Also den Inhalt aus MeineAdresse.de:443/alexaDisc (sh. Post#19)

                    Z 1 Antwort Letzte Antwort
                    0
                    • C Christoph_12

                      Hi,
                      ich konnte die Rolllade einbinden per:

                      {
                        "event": {
                          "header": {
                            "namespace": "Alexa.Discovery",
                            "name": "Discover.Response",
                            "payloadVersion": "3",
                            "messageId": "maus_message"
                          },
                          "payload": {
                            "endpoints": [
                              
                      
                              {
                                "endpointId": "dach_rolllade",
                                "manufacturerName": "HM",
                                "description": "Rolllade Giebelwand",
                                "friendlyName": "Giebelrolllade",
                                "displayCategories": ["ROLLLADE"],
                                "cookie": {},
                                "capabilities": [
                                  {
                                    "type": "AlexaInterface",
                                    "interface": "Alexa.ModeController",
                                    "instance": "Rolllade.Position",
                                    "version": "3",
                                    "properties": {
                                      "supported": [
                                        {
                                          "name": "mode"
                                        }
                                      ],
                                      "retrievable": true,
                                      "proactivelyReported": true
                                    },
                                    "capabilityResources": {
                                      "friendlyNames": [
                                        {
                                          "@type": "asset",
                                          "value": {
                                            "assetId": "Alexa.Setting.Opening"
                                          }
                                        },
                                        {
                                          "@type": "text",
                                          "value": {
                                              "text": "hoch",
                                              "locale": "de-DE"
                                              }
                                          }                  
                                      ]
                                    },
                                    "configuration": {
                                      "ordered": false,
                                      "supportedModes": [
                                        {
                                          "value": "Position.Up",
                                          "modeResources": {
                                            "friendlyNames": [
                                              {
                                                "@type": "asset",
                                                "value": {
                                                  "assetId": "Alexa.Value.Open"
                                                }
                                              },
                                              {
                                              "@type": "text",
                                                  "value": {
                                                      "text": "hoch",
                                                      "locale": "de-DE"
                                                      }
                                              }                          
                                            ]
                                          }
                                        },
                                        {
                                          "value": "Position.Down",
                                          "modeResources": {
                                            "friendlyNames": [
                                              {
                                                "@type": "asset",
                                                "value": {
                                                  "assetId": "Alexa.Value.Close"
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    "semantics": {
                                      "actionMappings": [
                                        {
                                          "@type": "ActionsToDirective",
                                          "actions": ["Alexa.Actions.Close", "Alexa.Actions.Lower"],
                                          "directive": {
                                            "name": "SetMode",
                                            "payload": {
                                              "mode": "Position.Down"
                                            }
                                          }
                                        },
                                        {
                                          "@type": "ActionsToDirective",
                                          "actions": ["Alexa.Actions.Open", "Alexa.Actions.Raise"],
                                          "directive": {
                                            "name": "SetMode",
                                            "payload": {
                                              "mode": "Position.Up"
                                            }
                                          }
                                        }
                                      ],
                                      "stateMappings": [
                                        {
                                          "@type": "StatesToValue",
                                          "states": ["Alexa.States.Closed"],
                                          "value": "Position.Down"
                                        },
                                        {
                                          "@type": "StatesToValue",
                                          "states": ["Alexa.States.Open"],
                                          "value": "Position.Up"
                                        }  
                                      ]
                                    }
                                  },
                                  {
                                    "type": "AlexaInterface",
                                    "interface": "Alexa",
                                    "version": "3"
                                  }
                                ]
                              }
                      
                      
                      
                      
                            ]
                          }
                        }
                      }
                      

                      Der Befehl, die Rolllade zu bewegen wird bei den Befehlen "öffnen" und "schließen" ausgeführt und korrekt mit ok vom Echo quittiert.

                      Sage ich aber "Giebelrolllade hoch", dann kommt als Antwort "Giebelrolllade unterstützt das nicht." Der Befehl wird aber dennoch korrekt an mein Verarbeitungsscript geschickt.

                      Kann mir mal jemand seine Rollladendefinition senden, der außer öffnen und schließen weitere Befehle angelernt hat?
                      Mich würde auch die Definition interessieren, für ein Gerät, bei dem eine alternative Antwort gegeben wird.
                      Also den Inhalt aus MeineAdresse.de:443/alexaDisc (sh. Post#19)

                      Z Offline
                      Z Offline
                      zzippo
                      schrieb am zuletzt editiert von
                      #70

                      @Christoph_12

                      Hallo Christoph, ich habe das für meine Rollos so gemacht:

                      {
                                    "type": "AlexaInterface",
                                    "interface": "Alexa.ModeController",
                                    "instance": "kueche.rollo",
                                    "version": "3",
                                    "capabilityResources": {
                                      "friendlyNames": [
                                        {
                                          "@type": "text",
                                          "value": {
                                            "text": "Rolll\u00E4den",
                                            "locale": "de-DE"
                                          }
                                        },
                                        {
                                          "@type": "text",
                                          "value": {
                                            "text": "Rollladen",
                                            "locale": "de-DE"
                                          }
                                        },
                                        {
                                          "@type": "text",
                                          "value": {
                                            "text": "Rollo",
                                            "locale": "de-DE"
                                          }
                                        },
                                        {
                                          "@type": "text",
                                          "value": {
                                            "text": "Rollos",
                                            "locale": "de-DE"
                                          }
                                        }
                                      ]
                                    },
                                    "properties": {
                                      "supported": [
                                        {
                                          "name": "mode"
                                        }
                                      ],
                                      "proactivelyReported": false,
                                      "retrievable": false,
                                      "nonControllable": false
                                    },
                                    "configuration": {
                                      "ordered": false,
                                      "supportedModes": [
                                        {
                                          "value": "kueche.rollo.hoch",
                                          "modeResources": {
                                            "friendlyNames": [
                                              {
                                                "@type": "text",
                                                "value": {
                                                  "text": "hoch",
                                                  "locale": "de-DE"
                                                }
                                              },
                                              {
                                                "@type": "text",
                                                "value": {
                                                  "text": "Auf",
                                                  "locale": "de-DE"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "value": "kueche.rollo.runter",
                                          "modeResources": {
                                            "friendlyNames": [
                                              {
                                                "@type": "text",
                                                "value": {
                                                  "text": "Runter",
                                                  "locale": "de-DE"
                                                }
                                              },
                                              {
                                                "@type": "text",
                                                "value": {
                                                  "text": "zu",
                                                  "locale": "de-DE"
                                                }
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                      
                      

                      sowohl mit der Sprachausgabe als auch der Ermittlung welche Alexa angesprochen wurde wird es ohne IOBroker schwer. Ich habe dafür den Alexa2 Adapter benutzt, welcher sich, wie ich glaube in die AlexaApp einklinkt.

                      C 1 Antwort Letzte Antwort
                      0
                      • Z zzippo

                        @Christoph_12

                        Hallo Christoph, ich habe das für meine Rollos so gemacht:

                        {
                                      "type": "AlexaInterface",
                                      "interface": "Alexa.ModeController",
                                      "instance": "kueche.rollo",
                                      "version": "3",
                                      "capabilityResources": {
                                        "friendlyNames": [
                                          {
                                            "@type": "text",
                                            "value": {
                                              "text": "Rolll\u00E4den",
                                              "locale": "de-DE"
                                            }
                                          },
                                          {
                                            "@type": "text",
                                            "value": {
                                              "text": "Rollladen",
                                              "locale": "de-DE"
                                            }
                                          },
                                          {
                                            "@type": "text",
                                            "value": {
                                              "text": "Rollo",
                                              "locale": "de-DE"
                                            }
                                          },
                                          {
                                            "@type": "text",
                                            "value": {
                                              "text": "Rollos",
                                              "locale": "de-DE"
                                            }
                                          }
                                        ]
                                      },
                                      "properties": {
                                        "supported": [
                                          {
                                            "name": "mode"
                                          }
                                        ],
                                        "proactivelyReported": false,
                                        "retrievable": false,
                                        "nonControllable": false
                                      },
                                      "configuration": {
                                        "ordered": false,
                                        "supportedModes": [
                                          {
                                            "value": "kueche.rollo.hoch",
                                            "modeResources": {
                                              "friendlyNames": [
                                                {
                                                  "@type": "text",
                                                  "value": {
                                                    "text": "hoch",
                                                    "locale": "de-DE"
                                                  }
                                                },
                                                {
                                                  "@type": "text",
                                                  "value": {
                                                    "text": "Auf",
                                                    "locale": "de-DE"
                                                  }
                                                }
                                              ]
                                            }
                                          },
                                          {
                                            "value": "kueche.rollo.runter",
                                            "modeResources": {
                                              "friendlyNames": [
                                                {
                                                  "@type": "text",
                                                  "value": {
                                                    "text": "Runter",
                                                    "locale": "de-DE"
                                                  }
                                                },
                                                {
                                                  "@type": "text",
                                                  "value": {
                                                    "text": "zu",
                                                    "locale": "de-DE"
                                                  }
                                                }
                                              ]
                                            }
                                          }
                                        ]
                                      }
                        
                        

                        sowohl mit der Sprachausgabe als auch der Ermittlung welche Alexa angesprochen wurde wird es ohne IOBroker schwer. Ich habe dafür den Alexa2 Adapter benutzt, welcher sich, wie ich glaube in die AlexaApp einklinkt.

                        C Offline
                        C Offline
                        Christoph_12
                        schrieb am zuletzt editiert von
                        #71

                        Danke @zzippo,
                        ich werde es mal ausprobieren. Jetzt verstehe ich auch, weshalb ich in der Alexadoku nichts zu den Funktionen "individuelle Sprachausgabe bei Smarthome-Skills" und "Ermittlung des verwendeten Echos" gefunden habe.
                        Ich hatte mal vor einigen Jahren die Kommunikation mit Echo über die Webseite getestet, die Funktionen aber wieder verworfen, da der Cookie nach unterschiedlichen Zeiträumen immer wieder neu generiert werden musste, was mir dann doch zu umständlich war.
                        Aber ich denke, da wird es auf GitHub inzwischen auch automatische Scripte geben.

                        Z 1 Antwort Letzte Antwort
                        0
                        • C Christoph_12

                          Danke @zzippo,
                          ich werde es mal ausprobieren. Jetzt verstehe ich auch, weshalb ich in der Alexadoku nichts zu den Funktionen "individuelle Sprachausgabe bei Smarthome-Skills" und "Ermittlung des verwendeten Echos" gefunden habe.
                          Ich hatte mal vor einigen Jahren die Kommunikation mit Echo über die Webseite getestet, die Funktionen aber wieder verworfen, da der Cookie nach unterschiedlichen Zeiträumen immer wieder neu generiert werden musste, was mir dann doch zu umständlich war.
                          Aber ich denke, da wird es auf GitHub inzwischen auch automatische Scripte geben.

                          Z Offline
                          Z Offline
                          zzippo
                          schrieb am zuletzt editiert von
                          #72

                          @Christoph_12

                          danach hatte ich auch vergeblich gesucht. mir ist nicht klar, warum Amazon bei Smarthome-Skills weder das angesprochen Gerät noch den Sprecher verrät,
                          zumal es gerade hier sinvoll wäre. Wie sollte man sonst verhindern, das Fremde oder Kinder das Garagentor öffnen, oder die Heizung auf voll drehen. 😠

                          C 1 Antwort Letzte Antwort
                          0
                          • Z zzippo

                            @Christoph_12

                            danach hatte ich auch vergeblich gesucht. mir ist nicht klar, warum Amazon bei Smarthome-Skills weder das angesprochen Gerät noch den Sprecher verrät,
                            zumal es gerade hier sinvoll wäre. Wie sollte man sonst verhindern, das Fremde oder Kinder das Garagentor öffnen, oder die Heizung auf voll drehen. 😠

                            C Offline
                            C Offline
                            Christoph_12
                            schrieb am zuletzt editiert von
                            #73

                            @zzippo
                            ja das ist auch der Grund, weshalb ich die Haustüre nicht per Sprache öffnen kann. Das lässt sich nicht wirklich absichern

                            Die Historydaten lassen sich per

                            https://alexa.amazon.de/api/activities?startTime=&size=1&offset=1
                            

                            abrufen. Damit lässt sich über die serialNumber das Gerät ermitteln. Die SN-IDs erhalte ich über das Script aus: https://github.com/RalfsDev/AlexaTTS/tree/master
                            Damit kann ich dann auch bel. Texte sprechen lassen.

                            Leider wird keine ID mitgeliefert, welche Person Alexa angesprochen hat. Unter Verlauf sehe ich auch keinen Hinweis darauf. Es scheint so, als sollten diese Infos nicht zugänglich gemacht werden.

                            1 Antwort Letzte Antwort
                            0
                            • Z zzippo

                              Ich wollte noch einmal ein Update geben. Bin dabei den Device Generator als HTML/Javascript umzusetzen. Sieht schon ganz gut aus, und ich habe noch neue Ideen implementiert.

                              new adg.png

                              new adg2.png

                              new adg3.png

                              M Offline
                              M Offline
                              Marsx79
                              schrieb am zuletzt editiert von
                              #74

                              @zzippo

                              Schön das es hier weitergeht. 🙂 Bin gespannt! Wann kann deine neue Version genutzt werden bzw. stellst du diese zur Verfügung?

                              Z 1 Antwort Letzte Antwort
                              0
                              • M Marsx79

                                @zzippo

                                Schön das es hier weitergeht. 🙂 Bin gespannt! Wann kann deine neue Version genutzt werden bzw. stellst du diese zur Verfügung?

                                Z Offline
                                Z Offline
                                zzippo
                                schrieb am zuletzt editiert von
                                #75

                                @Marsx79
                                Ich bin voll dabei, aber es ist noch ein harter Weg.
                                Immerhin läuft das ganze schon als Adapter. ich werde Zwischenbericht geben.
                                Und, natürlich stelle ich das dann zur Verfügung.

                                Unbenannt.jpg

                                M Z 2 Antworten Letzte Antwort
                                0
                                • Z zzippo

                                  @Marsx79
                                  Ich bin voll dabei, aber es ist noch ein harter Weg.
                                  Immerhin läuft das ganze schon als Adapter. ich werde Zwischenbericht geben.
                                  Und, natürlich stelle ich das dann zur Verfügung.

                                  Unbenannt.jpg

                                  M Offline
                                  M Offline
                                  Marsx79
                                  schrieb am zuletzt editiert von
                                  #76

                                  @zzippo

                                  Richtig cool. Sogar als Adapter! Dann viel Erfolg. 🙂

                                  1 Antwort Letzte Antwort
                                  0
                                  • Z zzippo

                                    @Marsx79
                                    Ich bin voll dabei, aber es ist noch ein harter Weg.
                                    Immerhin läuft das ganze schon als Adapter. ich werde Zwischenbericht geben.
                                    Und, natürlich stelle ich das dann zur Verfügung.

                                    Unbenannt.jpg

                                    Z Offline
                                    Z Offline
                                    zzippo
                                    schrieb am zuletzt editiert von zzippo
                                    #77

                                    Ich wollte mal ein kurzes Update geben zum aktuellen Stand.

                                    Was geplant ist:

                                    • Wie gehabt ein (oder mehrere) eigene Alexa skills
                                    • Wegfall des Reverse-Proxies
                                    • Webseite zum konfigurieren der Skills und devices
                                    • Wegfall der SQLite Datenbank
                                    • Umleitung jedes Requests vom Alexa-Skill auf beliebige Ziele (z.B. Node-Red)
                                    • Selbsbehandeln von Alexa-Requests
                                    • Frei definierbare Scripte zum wandeln der Ein und Ausgangs-Werte
                                    • Automatisches Rückmeldung von Stati an Alexa-App
                                    • Gerätesuche ersetzen durch asyncrones senden an die Alexa-API
                                    • .... und was mir sonst noch einfällt

                                    Was bereits geht:

                                    • Webseite mit Configuration der Skills
                                    • Webseite mit Configuration von Geräten, implementiert sind bereits: Power,PowerLevel,Color,Brightness,ColorTemperature,Percentage,Mode,Range,Toggle,Thermostat und Input Controller.
                                    • Hinzufügen von Skills in der Alexa-App (inkl. abholen der access und refresh tokens über AuthO
                                    • die Alexa Lambda Funktion kommuniziert schon über https mit meinem 'Skill-Server'
                                    • Ich hole den Cookie vom Alexa2 Adapter und kann so die Alexa-API ansprechen
                                    • Ich kann von der Alexa API abholen welcher Skill welche Geräte hat.
                                    • Alexa kann schon sprechen
                                    • Mann kann schon aktiv Geräte zu den Skills hinzufügen / updaten oder löschen.

                                    was noch so fehlt:

                                    • LetsEncrypt im IO-Broker zum laufen kriegen (im Moment hab ich die Keys per Hand kopiert)
                                    • Behandlung aller Requests zum Schalten, User-Scripte implementieren....

                                    hört sich erstmal nicht mehr viel an, wird aber sicher noch eine Weile brauchen.

                                    M V 2 Antworten Letzte Antwort
                                    1
                                    • Z zzippo

                                      Ich wollte mal ein kurzes Update geben zum aktuellen Stand.

                                      Was geplant ist:

                                      • Wie gehabt ein (oder mehrere) eigene Alexa skills
                                      • Wegfall des Reverse-Proxies
                                      • Webseite zum konfigurieren der Skills und devices
                                      • Wegfall der SQLite Datenbank
                                      • Umleitung jedes Requests vom Alexa-Skill auf beliebige Ziele (z.B. Node-Red)
                                      • Selbsbehandeln von Alexa-Requests
                                      • Frei definierbare Scripte zum wandeln der Ein und Ausgangs-Werte
                                      • Automatisches Rückmeldung von Stati an Alexa-App
                                      • Gerätesuche ersetzen durch asyncrones senden an die Alexa-API
                                      • .... und was mir sonst noch einfällt

                                      Was bereits geht:

                                      • Webseite mit Configuration der Skills
                                      • Webseite mit Configuration von Geräten, implementiert sind bereits: Power,PowerLevel,Color,Brightness,ColorTemperature,Percentage,Mode,Range,Toggle,Thermostat und Input Controller.
                                      • Hinzufügen von Skills in der Alexa-App (inkl. abholen der access und refresh tokens über AuthO
                                      • die Alexa Lambda Funktion kommuniziert schon über https mit meinem 'Skill-Server'
                                      • Ich hole den Cookie vom Alexa2 Adapter und kann so die Alexa-API ansprechen
                                      • Ich kann von der Alexa API abholen welcher Skill welche Geräte hat.
                                      • Alexa kann schon sprechen
                                      • Mann kann schon aktiv Geräte zu den Skills hinzufügen / updaten oder löschen.

                                      was noch so fehlt:

                                      • LetsEncrypt im IO-Broker zum laufen kriegen (im Moment hab ich die Keys per Hand kopiert)
                                      • Behandlung aller Requests zum Schalten, User-Scripte implementieren....

                                      hört sich erstmal nicht mehr viel an, wird aber sicher noch eine Weile brauchen.

                                      M Offline
                                      M Offline
                                      Marsx79
                                      schrieb am zuletzt editiert von
                                      #78

                                      @zzippo

                                      Hört sich echt super an! Bin gespannt wie das ganze nachher aussieht.

                                      1 Antwort Letzte Antwort
                                      0
                                      • Z zzippo

                                        Ich wollte mal ein kurzes Update geben zum aktuellen Stand.

                                        Was geplant ist:

                                        • Wie gehabt ein (oder mehrere) eigene Alexa skills
                                        • Wegfall des Reverse-Proxies
                                        • Webseite zum konfigurieren der Skills und devices
                                        • Wegfall der SQLite Datenbank
                                        • Umleitung jedes Requests vom Alexa-Skill auf beliebige Ziele (z.B. Node-Red)
                                        • Selbsbehandeln von Alexa-Requests
                                        • Frei definierbare Scripte zum wandeln der Ein und Ausgangs-Werte
                                        • Automatisches Rückmeldung von Stati an Alexa-App
                                        • Gerätesuche ersetzen durch asyncrones senden an die Alexa-API
                                        • .... und was mir sonst noch einfällt

                                        Was bereits geht:

                                        • Webseite mit Configuration der Skills
                                        • Webseite mit Configuration von Geräten, implementiert sind bereits: Power,PowerLevel,Color,Brightness,ColorTemperature,Percentage,Mode,Range,Toggle,Thermostat und Input Controller.
                                        • Hinzufügen von Skills in der Alexa-App (inkl. abholen der access und refresh tokens über AuthO
                                        • die Alexa Lambda Funktion kommuniziert schon über https mit meinem 'Skill-Server'
                                        • Ich hole den Cookie vom Alexa2 Adapter und kann so die Alexa-API ansprechen
                                        • Ich kann von der Alexa API abholen welcher Skill welche Geräte hat.
                                        • Alexa kann schon sprechen
                                        • Mann kann schon aktiv Geräte zu den Skills hinzufügen / updaten oder löschen.

                                        was noch so fehlt:

                                        • LetsEncrypt im IO-Broker zum laufen kriegen (im Moment hab ich die Keys per Hand kopiert)
                                        • Behandlung aller Requests zum Schalten, User-Scripte implementieren....

                                        hört sich erstmal nicht mehr viel an, wird aber sicher noch eine Weile brauchen.

                                        V Offline
                                        V Offline
                                        Volker 0
                                        schrieb am zuletzt editiert von
                                        #79

                                        @zzippo
                                        Ich kann mich meinem Vorredner nur anschließen. Sehr engagiertes und tolles Projekt.
                                        Die Anbindung war bei mir nicht ganz so einfach, da ich (derzeit noch) kein IO-Broker verwenden und so auf die Node-Red Verarbeitung angewiesen bin. Ohne meinen Sohn (Informatiker) hätte ich es mit Sicherheit auch nicht geschafft.
                                        Derzeit habe ich je einen Raspi als Reverse-Proxy, als Node-Red und als Homematic laufen.
                                        Ich würde mich über eine Weiterführung dieses Projektes sehr freuen.

                                        Gruß aus Norddeutschland

                                        1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          Fatmax
                                          schrieb am zuletzt editiert von
                                          #80

                                          @zzippo
                                          Gibt es ein Update zum Fortschritt?
                                          Ich bin ganz gespannt wie es weitergeht.

                                          Liebe Grüße,
                                          Fatmax

                                          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

                                          743

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe