structure über Alexa steuern

Begonnen von Dr. Boris Neubert, 20 September 2021, 15:14:49

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

habe eine structure mit allen Rollläden im Erdgeschoss:

Internals:
   ATTR       room
   CFGFN     
   CHANGEDCNT 2357
   DEF        room MQTT2_DVES_.*
   DEVSPECDEF 1
   FUUID      61475cc7-f33f-1bf0-977b-6d655ade46e4f4dc
   NAME       structure.rollladen
   NOTIFYDEV  MQTT2_DVES_B9B00E,global,MQTT2_DVES_3E744C,MQTT2_DVES_C5BF63,MQTT2_DVES_B4EB31
   NR         21406
   NTFY_ORDER 50-structure.rollladen
   STATE      100
   TYPE       structure
   READINGS:
     2021-09-20 15:07:45   LastDevice      MQTT2_DVES_B9B00E
     2021-09-20 15:07:45   LastDevice_Abs  MQTT2_DVES_B9B00E
     2021-09-20 15:07:45   state           100
Attributes:
   alexaName  Rollladen
   alias      Rollladen
   appOptions {
   "panel" : {
      "btn": "mdi-chevron-right",
      "link" : "/devices/room=Rollladen"
    }
}
   genericDeviceType scene
   room       Strukturen,System


Der structure habe ich einen alexaName und genericDeviceType wie im Wiki beschrieben verpasst. Leider findet Alexa das Gerät nicht. Geht das grundsätzlich nicht oder hat es schon jemand zum Laufen gebracht?


Die Alternative wäre ein Dummy namens "Rollladen", der über ein Notify die einzelnen Rollläden triggert. Aber da ich schonmal für fhemApp die structure definiert habe, wäre es schön, sie auch für Alexa verwenden zu können.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Beta-User

Bist du sicher, dass genericDeviceType wirklich "scene" sein muss?
Kenne zwar alexa nicht, aber für RHASSPY müßte es "blind" sein.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Unabhängig davon ob genericDeviceType hier dir richtige Wahl ist (wenn ein setter für pct vorhanden ist und Alexa sich vlt. die Position aus state holt, kanns auch klappen, weiß es aber nicht), mein ich in Erinnerung zu haben das eine scene von Alexa nicht angesagt wird das sie gefunden/erkannt wurde, zumindest war es mal so, sie ist einfach dann in dem Reiter Szenen unter Geräte drin/zu finden.

justme1968

wenn das ganze als rollladen in alexa auftauchen soll ist blind richtig. im log solltest du sehen was als reading und set automatisch erkannt wird. je nach tatsächlich vorhandenem reading und kommando namen kann es sein das du ein homebridgeMapping für currentPosition und targetPostion anlegen.

scene braucht man nur wenn man das ganze als szene in alexa ansprechen will. etwas 'aktive xyz mode' oder ähnliches.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Zitat von: Beta-User am 20 September 2021, 15:33:09
Bist du sicher, dass genericDeviceType wirklich "scene" sein muss?
Kenne zwar alexa nicht, aber für RHASSPY müßte es "blind" sein.

Es steht so im Abschnitt https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Was_geht_alles_.3F:
Zitat
structure Devices aus FHEM (ab alexa-fhem version 0.5.7)

    können mit genericDeviceType scene als Szene eingebunden werden
    über alexaRoom kann der name um einen Ort ergänzt werden
    Szenen aus einer structure lassen sich ein- und ausschalten
    Wichtig:
        Ein Skill darf nur 12 Szenen automatisch erkennen und einbinden.

Ich habe nun wie geraten den genericDeviceType auf "blind" geändert. Damit wird die structure von Alexa erkannt und ich kann mit "Alexa, Rollladen schließen" das gewünschte erreichen. Ob andere Rollladen-Befehle wie "mache Rollladen hoch" auch gehen, habe ich noch nicht getestet.

Danke für Eure Hilfe!

Viele Grüße
Boris




Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

TomLee

Und vlt. noch eine Anmerkung weil das jetzt schon das zweite Mal auffällt.

Einen der generischen Namen sollte man nicht in alexaName verwenden, diese generischen Namen sind bspw. für in Gruppen gedacht zu verwenden, deine Gruppe heißt Wohnzimmer die Rollläden Willi, Kauz und Ali und mit Echo, <Rolladen/Rolläden,Jalousie,Markise> ganz auf/zu oder auch Prozentwerte soll man sie steuern können, hat bei mir (und anderen) aber noch nie geklappt.

Und zwei Namen in Alexaname wie im andern Thread Rollladen links (jetzt unabhängig davon das Rollladen eh ein generischer Name ist und nicht verwendet werden sollte) soll man eigentlich auch vermeiden, es macht jeder ja, kommt aber auch nicht von mir, das hat Justme1968 vor längerem oft betont, kann gut sein das es Heute nicht mehr so ist, hab ich dann aber nicht mitbekommen.

Dr. Boris Neubert

Zitat von: TomLee am 20 September 2021, 16:36:11
Und zwei Namen in Alexaname wie im andern Thread Rollladen links (jetzt unabhängig davon das Rollladen eh ein generischer Name ist und nicht verwendet werden sollte) soll man eigentlich auch vermeiden, es macht jeder ja, kommt aber auch nicht von mir, das hat Justme1968 vor längerem oft betont, kann gut sein das es Heute nicht mehr so ist, hab ich dann aber nicht mitbekommen.

Das kann ich nicht bestätigen. Natürlich heißen die Rollladen "Rollladen links" und "Rollladen rechts" usw. :-) Was anderes kann sich ja kein Mensch merken. Alexa versteht das bei mir und kann die Rollladen auseinanderhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

es ist wichtig zu wissen das alexa 'generische' namen unterstürzt. d.h. wenn man rollladen oder licht in einem kommando verwendet und sich ein echo angesprochen fühlt der über die alexa app mit passenden geräten in einem raum (d.h. gruppe) gesteckt wurde steuerte alexa alle geräte mit passendem typ im entsprechenden raum. auf diese art kann man dann z.b. einfach sagen 'alexa, licht aus' und alle lampen im raum in dem man sich gerade befindet gehen aus. das geht recht gut mit lampen. auch wenn man einen bestimmten raum explizit nennt. im prinzip geht das auch mit rollläden. wie gut scheint aber sehr unterschiedlich zu sein. scheinbar hängt es auch davon ab ob und wie sehr sich der tatsächliche geräte name mit dem generischen namen überschneidet oder in die quere kommt. leider ändert sich das funktionieren auch manchmal scheinbar plötzlich abhängig von änderungen auf alexa/amazon seite.

d.h. gut wenn es bei dir (gerade) so funktioniert wie gewünscht. du musst aber im hinterkopf behalten das es unter umständen plötzlich probleme machen kann.

und noch was: ohne weitere konfiguration über das homebridge mapping ist ein einfaches hoch und runter nur eine änderung um jeweils etwa 10% in die entsprechende richtung. ganz hoch oder ganz runter muss man explizit auch so benennen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Dr. Boris Neubert

Zitat von: justme1968 am 20 September 2021, 18:54:56
und noch was: ohne weitere konfiguration über das homebridge mapping ist ein einfaches hoch und runter nur eine änderung um jeweils etwa 10% in die entsprechende richtung. ganz hoch oder ganz runter muss man explizit auch so benennen.

Änderungen (derzeit zum Guten) kann ich bestätigen. Bis vor einer Weile musste man umständlich sagen "Alexa, Rollladen ganz öffnen". Mittlerweile geht aber auch "Alexa, Rollladen öffnen" (ohne ganz).

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

TomLee

Cool, meine (Test-)Himbeere öffnet und schliesst jetzt auch ohne ganz.

Brauchen tu ich das wirklich manchmal, bei einer Jalousie und ich gebe zu deren alexaName ist auch ein generischer Name ->Jalousie

binford6000

Zitates ist wichtig zu wissen das alexa 'generische' namen unterstürzt. d.h. wenn man rollladen oder licht in einem kommando verwendet und sich ein echo angesprochen fühlt der über die alexa app mit passenden geräten in einem raum (d.h. gruppe) gesteckt wurde steuerte alexa alle geräte mit passendem typ im entsprechenden raum. auf diese art kann man dann z.b. einfach sagen 'alexa, licht aus' und alle lampen im raum in dem man sich gerade befindet gehen aus.

Danke Andre für den Hinweis!
Ich bin diesbezüglich in die SONOS-Falle getappt: Die SONOS-App möchte die LS im Standard in Räume stecken. Der Gerätename ist dann gleich dem Raumnamen. Und wenn man dann eine Gerätegruppe in Alexa erstellen möchte geht das nicht, weil zB. die Beam (mit Alexa) bereits "Wohnzimmer" heißt...   :-\

Also Gefahr erkannt - Gefahr gebannt:

  • Alle SONOS LS mit Alexa umbenannt,
  • Alle SONOS LS anschließend in Alexa gelöscht,
  • den SONOS Skill getrennt und neu verbunden (damit die Speaker mit neuem Namen erkannt werden)
  • Gerätegruppen für die Räume erstellt und die passenden SONOS LS reingesteckt
  • Tada! Alexa, Licht aus/ Rolladen runter usw. funktioniert im jeweiligen Raum. Bombe!   :)
VG Sebastian

PS: Ich fahre die Rollläden auch über den Custom-Skill, da hier ALLES MÖGLICHE geht...  8)