Homeassitant Geräte mit Alexa sprachbefehl steuern

Hi,

hab bis jetzt zb. Steckdosen mit Tasmota versehen und diese dann mit Alexa gekoppelt ( gesteuert ). Diese konnte ich auch über Tasmota nun in HA hinzufügen, alles Top. Nur habe ich zeitweise das Problem das die Steckdosen aufgrund Wlan Probleme zeitweise die Verbindung verlieren. Jetzt wollte ich mal probieren das Mesh von Zigbee zu nutzen. Ich habe es so verstanden das jedes Gerät wa sdauerhaft mit Strom versorgt wird sozusagen als Repeater gilt. Somit kann ich halt Entfernungen besser Überbrücken und hoffe eine stabilere Verbindung zu erhalten. Nun, wie kann ich am einfachsten Steckdosen die ich über Zigbee2MQTT eingebunden habe kostenlos ohne " viel " Arbeit mit Alexa ( Sprachbefehl halt ) Steuern???

Danke vorab für eure mühe!!
Gruß
Mark

1 „Gefällt mir“

Hi, wenn ich dich richtig verstanden habe hast du bereits deine Steckdosen per Zigbee2MQTT eingebunden und kannst diese auch per HA steuern. Das ist schon mal ein guter Anfang.

Die einfachste Lösung wäre nun das Abo für die NabuCasa Cloud zu nutzen. Diese stellt dir den benötigten Zugriff von außen bereit und bietet dir die Möglichkeit (in deinem Fall) die Steckdosen quasi an Alexa weiter zu leiten. Allerdings ist der Dienst nicht kostenlos.

Für die kostenlose Variante benötigst du auch den Zugriff auf HA von “außen”. Des weiteren musst du einen eigenen Skill für Alexa erstellen und eine Datei in HA anlegen, worin du die Steckdosen an Alexa weiter gibst. Diese können dann von Alexa gefunden und somit dann auch bedient werden.
Das ist allerdings nur die Kurzfassung und um dies zu realisieren musst du schon etwas Zeit aufbringen und solltest außerdem über eine Domain verfügen die du für den Zugriff benötigst.

Hi,

danke dir für deine Antwort. Zusätzliche Gebühren kommen da nicht in frage, dann werde ich wohl Variante 2 realisieren müssen. Aber wie ich jetzt schon weiß wird es wieder irgendwo haken…

Du solltest dir nur vorher im klaren sein das dich dies erstmal Zeit kosten wird, je nachdem wie fit du am PC bist :wink:
Und wie gesagt: Du benötigst eine Domain die du für den Fernzugriff umleiten kannst. Und diese kostet ja auch “etwas”. Sofern du noch keinen solchen Zugriff eingerichtet hast, wäre dies auch dein erster Schritt.
Dafür würde ich dir raten den Zugriff per Cloudflare auf dein HA zu ermöglichen. Simon hat auch ein tolles Video dazu gemacht. (Nur der Anbieter der gratis Domain ist aktuell nicht mehr nutzbar)

und wenns irgendwo hakt, hast du hier eine super Community die dir sicher weiterhelfen wird :wink:

Nachtrag: Weitere Info dazu
Im weiteren Verlauf musst du zur Erstellung des Skills einen Developer Account bei Amazon erstellen. Außerdem noch einen AWS-Managementkonsolen Account. Bei letzterem benötigst du zum erstellen des Accounts zwingend eine Kreditkarte, die aber nicht belastet wird! Ich denke die Info ist noch wichtig bevor man sich für diese Variante entscheidet.

Für alles weitere kann ich dir dann dieses Video empfehlen. Es wird dort alles benötigte Erklärt und benötigter Code bereitgestellt:

1 „Gefällt mir“

Hi,

eine Domain habe ich schon seit längerem. Ich werde mir mal Gedanken machen.

Danke dir!!

Hallo

Möchte mich hier mal dran hängen. Ich habe soweit alles fertig inkl Skil. Zugriff von außen steht mit eigener Domain und mittels Cloudflared . Im Log keine Fehler, im Test bei AWS Lambda auch kein Fehler.
YAML im HAS angepasst, aber es werden die Entitäten in der Alexa App nicht gefunden.
Hab sogar die gesamte Prozedur nochmals neu gemacht. Bleibt dabei, es werden keine Entitäten von HAS in Alexa weiter gegeben :frowning:
Hoffe hierzu hat jemand eine Idee an was es haken könnte. Suche und probiere nun schon Tage, aber die Entitäten werden eben nicht gefunden.

Wie sieht deine alexa.yaml aus? hast du mal ein Beispiel wie du eine Entität weitergibst?

Hi,

Im Grunde, momentan nur sehr einfach wie es Cryd erklärt hat. Habe aber auch schon die erweiterte probiert wie bei Tristan.

alexa:
smart_home:
locale: de-DE
endpoint: https://api.eu.amazonalexa.com/v3/events
filter:
include_entities:
- sensor.luftgutesensor_terrasse_bmp180_temperature

Wenn ich einen Test im Lambda mache erscheinen in den Protokolldaten alle meine Sensoren.

Ist das ein Sensor, der eine Temperatur in Grad Celsius ausgibt?
Versuch es mal so:

smart_home:
  locale: de-DE
  endpoint: https://api.eu.amazonalexa.com/v3/events
  filter:

    include_entities:
      - sensor.luftgutesensor_terrasse_bmp180_temperature

  entity_config:
    sensor.luftgutesensor_terrasse_bmp180_temperature:
      name: Luftgutsensor
      description: Luftgutsensor
      display_categories: TEMPERATURE_SENSOR

Edit: sorry, das war noch ein Leerzeichen falsch
Danach HA neu starten und anschließend mit Alexa neue Geräte suchen

PS: trägst du das in deine configuration.yaml ein oder hast du eine alexa.yaml die du mit
alexa: !include alexa.yaml lädst?

Ja ist ein umgebauter Luftgütesensor von Ikea mit ESP32 und Temp/Feuchte Sensor und Tasmota.
Hab aber natürlich auch andere Entitäten probiert, überall das gleiche.

Danke, genauso hatte ich die YAML auch schon da es Tristan auf Youtube so erklärt hatte mit der erweiterten Yaml.

Im Lambda Test ist es nach wie vor erfolgreich:

{
“event”: {
“header”: {
“namespace”: “Alexa.Discovery”,
“name”: “Discover.Response”,
“messageId”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
“payloadVersion”: “3”
},
“payload”: {
“endpoints”: [
{
“displayCategories”: [
“TEMPERATURE_SENSOR”
],
“cookie”: {},
“endpointId”: “sensor#luftgutesensor_terrasse_bmp180_temperature”,
“friendlyName”: “Luftgutesensor”,
“description”: “Luftgutesensor via Home Assistant”,
“manufacturerName”: “Home Assistant”,
“additionalAttributes”: {
“manufacturer”: “Home Assistant”,
“model”: “sensor”,
“softwareVersion”: “2023.3.6”,
“customIdentifier”: “-sensor.luftgutesensor_terrasse_bmp180_temperature”
},
“capabilities”: [
{
“type”: “AlexaInterface”,
“interface”: “Alexa.TemperatureSensor”,
“version”: “3”,
“properties”: {
“supported”: [
{
“name”: “temperature”
}
],
“proactivelyReported”: true,
“retrievable”: true
}
},
{
“type”: “AlexaInterface”,
“interface”: “Alexa.EndpointHealth”,
“version”: “3”,
“properties”: {
“supported”: [
{
“name”: “connectivity”
}
],
“proactivelyReported”: true,
“retrievable”: true
}
},
{
“type”: “AlexaInterface”,
“interface”: “Alexa”,
“version”: “3”
}
]
}
]
}
}
}

screenshot-eu-west-1.console.aws.amazon.com-2023.04.01-11_44_33

Edit: Wegen der YAML. Jetzt getrennt, vorher hatte ich zum Test die Entität in die Config.Yaml eingetragen. Da ich aber Scripts nun auch getrennt habe, habe ich eine extra YAML für Alexa erstellt und natürlich verlinkt mit alexa: !include alexa.yaml

Okay, das habe ich genauso. Ich sehe auch gerade keinen Fehler bei dir :thinking:
Ich habe auf diese Weise schon etliche Entitäten an Alexa weiter geleitet, hat bisher immer problemlos funktioniert…

1 „Gefällt mir“

Also mit dem Code von oben sollte Alexa eigentlich deinen Temp Sensor finden.
Meine Vorgehensweise:
HA danach neu starten
Mit Alexa nach neuen Geräten suchen lassen

  • Welches Gerät möchtest du einrichten: Sonstiges
  • Das Gerät hat kein passendes Logo (auswählen)
  • auf “Nicht sicher?” klicken

Edit: Alexa läuft bei mir auch im 5Ghz Bereich
Edit2: Ich kann dir nur empfehlen das nochmal anhand des Videos was ich verlinkt habe, zu kontrollieren. Damit hat es eigentlich auf Anhieb funktioniert.
Hast du bei Lambda auch bei der Länderwahl Irland ausgewählt? (wie im Video beschrieben)

1 „Gefällt mir“

Hi,

ich muss das nochmal aufgreifen. Mir ist die Integration / Konfiguration bzgl. HA und Zigbee mit Alexa einfach zu aufwendig. Gibt es nicht die möglichkeit zb. in Proxmox einen neuen LXC zu erstellen der mir mit dem angeschlossenen ZigbeeStick ein Zigbee Gateway bereitstellt?? Dort würde ich dann zb. 2 neue Geräte einbinden und Alexa kann dann überdas Zigbeegateway die Geräte finden und steuern. Geht das?? Der Stick steckt ja schon imMini PC und wird per HA genutzt, also sollte es doch möglich sein sozusagen ein Zigbee Gateway so zu " Emulieren" oder??

Hi,

keiner eine Idee???

Die Anleitung ist eigentlich ganz gut und nicht so aufwendig, gibt ja einige Videos auch dazu, wenn es einmal läuft.
Die größte Schwierigkeit oder Lücke ist eben, dass du HA für Alexa von außen erreichbar machen musst.
“Nur” für Alexa würde ich dafür mein System über - DuckDns oder Cloudflare - nicht unsicher machen.

Das ist dann eher aufwendig das secure über VPN hinzubekommen, der Rest das mal einzubinden ist durch die Videos und Anleitung nicht wirklich aufwendiger als sonstige Einbindungen.

Hi,

genau dafür wollte ich halt das System nicht nach außen öffnen. Würde eher noch einen ZigbeeStick besorgen der dann ein Zigbeegateway sozusagen emuliert, wo ich mit zb. der Phoscon App Geräte einbinden kann. Per Alexa nach dem Gateway suchen und einbinden, somit sollten diese Geräte dann doch auch über Alexa zu steuern sein??? Soweit ich herausbekommen habe kann ein durchferecihter Stick nicht weiter an einer anderen VM genutzt werden.

Wahrscheinlich nicht so einfach möglich, weil dann müsste in der LXC Umgebung die Alexa API implementiert sein.
HA hat dafür einen Endpoint: /api/alexa/smart_home

Hallo, ich habe eigentlich das gleiche Problem. Zugriff von aussen über Duckdns läuft aber schon und der Alexa Mediaplayer läuft auch. Soweit so gut. Das Video von Tristan kenne ich und würde das gerne realisieren umalle anderen Hubs dann aus der Bude zu schmeißen. Leider finde das Video schwer umzusetzen, da ich nicht genau verfolgen kann woherich welchen Code bekomme und wo ich den dann wieder rein kopieren muss. Hätte von euch Experten nicht mal jemand Lust ein etwas übersichtlicheres Video zu machen. Das würde sicher vielen Usern helfen. Gruß aus Ostfriesland

Hallo,
hast du dir das Video schon angeschaut was ich oben (3ter Beitrag) verlinkt hatte?
Ich fand das deutlich übersichtlicher gestaltet als das von Tristan

Hallo, vielen Dank für Antwort. Ja habe ich. Mal abgesehen davon das Freenom im Moment keine kostenlosen Domains anbietet ist der Zugriff von aussen nicht das Problem. Das habe ich erstmal über Duckdns gelöst. Das Problem ist das schalten von Geräten per Sprache über Alexa.