alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

juemuc

Ich schaffe es nicht mehr meinen Dummy ein bzw. aus zu schalten.
Der Dummy ist wie folgt definiert und wid auch im Skill angezeigt.
defmod Hilfe_Juergen dummy
attr Hilfe_Juergen alexaName Test
attr Hilfe_Juergen devStateIcon an:Sirene_2:aus aus:remotecontrol/black_btn_GREEN:an fail::aus
attr Hilfe_Juergen devStateStyle style="text-align:right"
attr Hilfe_Juergen genericDeviceType blind
attr Hilfe_Juergen group Hilferufe
attr Hilfe_Juergen room Alexa,Hilferufe,Statuszentrale
attr Hilfe_Juergen setList an aus fail
attr Hilfe_Juergen webCmd :


Bei der Ansage
ZitatAlexa, Schalte Test ein
kommt die Antwort
ZitatTest unterstützt das leider nicht
Wo ist mein "Knoten"?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

justme1968

ein dummy braucht eine setList mit on und off damit er automatisch richtig funktioniert. für andere kommandos musst du ein passendes homebridgeMapping erstelen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

genericDeviceType ist blind und nicht switch...

Nimm doch den Dummy aus dem Wiki, der funktioniert...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

juemuc

Hallo zusammen,

das Problem ist, das ich im "setlist" on off fail stehen habe. Lösche ich fail, funktioniert es problemlos (genericDeviceType ist dabei gelöscht). Ich benötige aber noch fail, für eine fehlerhafte Durchführung.
Wer kann helfen.
Die Werte waren ja so wie von Euch gefordert.

Viele Grüße
Jürgen

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

justme1968

in deinem list oben steht nicht on off sondern an aus.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

Was soll mit fail passieren bzw. was bezweckst du/willst du mit fail bezwecken?

Wer setzt fail?
(und wann/warum)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

juemuc

Hallo zusammen,

mit "setlist an aus" funktioniert es auch  ;D

Den Status "fail" setze ich in einem notify. Somit kann ich diesen im setlist weg lassen. Problem gelöst. Danke für Eure Hilfe  ;D.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Shadow3561

#3157
@amenomade
Zitat von: amenomade am 30 September 2017, 22:12:47
Ist PID.WOZI ein anderes Device? Mit Reading "desired", das man mit "set desired" setzen kann?

homebridgeMapping TargetTemperature=desired:PID.WOZI:desired,minValue=18,maxValue=25,minStep=0.5 CurrentTemperature=Temp
Wenn es nicht geht, bitte ein "list PID.WOZI"
dies bringt leider auch nicht das gewünschte Ergebniss.

@juemuc

Zitatwarum nutzt Du nicht die Original-Devices? Meine AVM-Thermostate liefern die Temperatur

weil diese dummy insgesamt 4 pid regler gleichzeitig steuert.
man könnte das wohl auch mit einem notify lösen, dan habe ich aber wieder ein problem mit dem thermostat-widget in tablet ui.

Ich bin jetzt schon ein stüiter gekommen.
Mein homebridgeMapping sieht so aus,
TargetTemperature=state::state,minValue=18,maxValue=25,minStep=0.5,CurrentTemperature=Heizung_WoZi:Temp

jetzt wird der dummy zumindest als Thermostat erkannt und ich kann mit einem
"Alexa, stelle die Heizung auf 20 Grad" die Temperatur verändern.
jedoch gibt alexa ein set Heizung state 20 aus.
Das State des Device sieht dann so aus
Zitatstate                        state 20

wenn mir jetzt noch jemand helfen könnte, wäre es super.

MfG

EDIT:
so läuft es jetzt
TargetTemperature=+::state,minValue=15,maxValue=30,minStep=1,CurrentTemperature=Heizung_WoZi:Temp

wie kann ich denn alexa nach dem status der Heizung fragen?
ein "Alexa, wie ist der Status von Heizung" wird mit "Heizung reagiert gerade nicht" quittiert.

Amenophis86

#3158
Ich nutze structure und keinen Dummy. Hier mal meine, die ist auch alexa kompatibel:


Internals:
   ATTR       room
   CFGFN
   CHANGEDCNT 1817
   DEF        room WZ.HZ_Clima EZ.HZ_Clima
   NAME       WR.HZ.Alle
   NR         97
   NTFY_ORDER 50-WR.HZ.Alle
   STATE      T:22.4 D:16.0 V:0
   TYPE       structure
   CONTENT:
     EZ.HZ_Clima 16.0
     WZ.HZ_Clima 16.0
   READINGS:
     2017-10-01 12:30:47   LastDevice      EZ.HZ_Clima
     2017-10-01 12:30:47   LastDevice_Abs  EZ.HZ_Clima
     2017-10-01 12:30:47   ValvePosition   0
     2017-10-01 12:30:47   desired-temp    16.0
     2017-10-01 12:30:47   measured-temp   22.4
     2017-10-01 12:30:47   state           16.0
Attributes:
   alexaName  Wohnraum Heizung
   alexaRoom  Wohnraum
   alias      Heizung Wohnraum
   genericDeviceType thermostat
   group      Heizung
   room       Räume--Wohnraum,Z_Räume--Wohnraum,Z_System--alexa
   stateFormat T:measured-temp D:desired-temp V:ValvePosition
   structexclude WG.HZ.Alle:.*
   userReadings measured-temp {(ReadingsNum("EZ.HZ_Clima","measured-temp","0")+ReadingsNum("WZ.HZ_Clima","measured-temp","0"))/2;;}, ValvePosition {(ReadingsNum("EZ.HZ_Clima","ValvePosition","0")+ReadingsNum("WZ.HZ_Clima","ValvePosition","0"))/2;;}, desired-temp {
my $EZ_desired = ReadingsVal("EZ.HZ_Clima","desired-temp","0");
my $WZ_desired = ReadingsVal("WZ.HZ_Clima","desired-temp","0");
my $desired_temp;

if($WZ_desired ne "off" and $EZ_desired ne "off")
  {
   $desired_temp = ($EZ_desired+$WZ_desired)/2;
  }
  else
  {
   if($WZ_desired eq "off" and $EZ_desired ne "off")
   {
    $desired_temp = $EZ_desired;
   }
   elsif($WZ_desired ne "off" and $EZ_desired eq "off")
   {
    $desired_temp = $WZ_desired;
   }
   else
   {
    $desired_temp = "off";
   }
  }
sprintf("%.1f", $desired_temp);
}
   userattr   structexclude wohnung wohnung_map
   wohnung    WG.HZ.Alle


Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Shadow3561

#3159
So, es läuft, jedenfalls halbwegs :o
mit "Halbwegs" meine ich,
"Alexa, stelle die Heizung auf 19,5 Grad" wird ausgeführt und alle anderen Devices (KNX-Raumtemperaturgeber, PID-Device) werden auch auf 19,5 Grad Solltemp. gestellt.
ein
"Alexa, stelle die Heizung auf 19 Grad" wird zwar ausgeführt (der Dummy verstellt sich auf 19), jedoch wird der Wert im PID-Device und im KNX-Raumtemperaturgeber nicht akzeptiert. Es wird ein 19,0 erwartet.

Kann ich das mit dem homebridgeMapping auch irgendwie hinbiegen?

MfG

justme1968

@oeiber: amazon hat gerade das komplette api umgestellt... vielleicht liegt es daran das die HealthCheck nachricht nicht mehr geht. die ist im api nicht mehr beschrieben.

da sich einiges geändert hat das ich gerne implementieren möchte wird es etwas länger bis zum nächsten update dauern.

ausserdem hat amazon gerade probleme mit den developer skill seiten... ich sehe meine skills aktuell nicht. kann also gerade garnichts tun.

@Shadow3561: das lässt sich auf alexa und mapping seite nicht lösen. du kannst aber per cmdalias das set kommando auf fhem seite überschreiben und die fehlende nachkomma stelle ergänzen.


@alle: beim neu einrichten eines skills bis auf weiteres payload version 2 angeben. 3 ist das neue api das erst  mit meinem nächsten update geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Shadow3561

Zitat von: Shadow3561 am 01 Oktober 2017, 12:51:35
So, es läuft, jedenfalls halbwegs :o
mit "Halbwegs" meine ich,
"Alexa, stelle die Heizung auf 19,5 Grad" wird ausgeführt und alle anderen Devices (KNX-Raumtemperaturgeber, PID-Device) werden auch auf 19,5 Grad Solltemp. gestellt.
ein
"Alexa, stelle die Heizung auf 19 Grad" wird zwar ausgeführt (der Dummy verstellt sich auf 19), jedoch wird der Wert im PID-Device und im KNX-Raumtemperaturgeber nicht akzeptiert. Es wird ein 19,0 erwartet.

Kann ich das mit dem homebridgeMapping auch irgendwie hinbiegen?

MfG


Habe es jetzt gelöst.
Ich habe für meinen Dummy ein userReading erstellt und mit sprintf die Nachkommastelle hinzugefügt.
Der PID-Regler wird jetzt durch ein Notify aufs userReading getriggert.

MfG

JanHH

Welches Alexa-Gerät?

Ich suche mir einen Wolf, kann aber auch in den Debug-Ausgaben nicht das Geringste finden...

Ich möchte gern wissen, welches Alexa-Gerät einen Befehl abgesetzt hat.

Derzeit habe ich 4 Geräte (1xEcho, 2xEcho Dot, 11xFireTV Stick mit Alexa-Fernbedienung) in unterschiedlichen Zimmern. So, wie es ist, muss ich immer sagen "Computer, mach das Licht im Wohnzimmer aus". Was ich (WAF!) möchte, ist dass "Computer, mach das Licht aus" danach unterscheiden kann, ob ich das zu dem Dot im Wohnzimmer oder dem Echo im Schlafzimmer gesagt habe - und damit das "richtige" Licht schaltet.

Wenn ich die Information (Gerätename, Seriennummer, MAC-Adresse oder interne IP wären mir da herzlich egal) bekomme, kann ich mir die Auswahllogik schon hinprogrammieren - ein Dummy "Licht" mit einem Notify und etwas Perl z.B. würden reichen.

justme1968

im custom skill du musst nur die echo devices deinen räumen zuordnen. dann geht das automatisch.

im smart home skill geht das aktuell nicht. im letzen alexa blog post gibt es zwar einen andeutung dazu. es ist aber weder erklärt noch gibt es diese möglichkeit in der aktuellen alexa app.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

berbar

#3164
Hallo, habe eine Frage zum genericDeviceType. Wenn ich als genericDeviceType "Thermostat" wähle, liest die SmartHome Funktion unter der Gerätesuche das neu erstellte Gerät nicht ein. Der Typ "Switch" funktioniert. Wo könnte der Fehler liegen. Im AWS Console Log wird das Gerät auch nicht angezeigt.

define TemperaturWohnzimmer dummy
attr TemperaturWohnzimmer event-on-change-reading state
attr TemperaturWohnzimmer genericDeviceType thermostat
attr TemperaturWohnzimmer room ALEXA
attr TemperaturWohnzimmer setList 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5 25 26 27 28 29 30
define NotifyTempWohnzimmer notify TemperaturWohnzimmer set forwardRemote {fhem "set FHT_140a desired-temp $EVENT"}
BananaPi, Fritz Box 7590, MapleCul, nanoCUL 1.67,  HM LAN, ZigBee II, deconz, FHEM 6.0
ESP-01 Garagentorsteuerung,  5xFS20ST, 1xFS20SU, 1xFS20SM4, 1xFS20SD, 12xMüller Tint GU10
2xHM-CC-TC, 4x HM-CC-VC, 8xHM-CC-RT-DN, 1xHM-TC-IT-WM-W-EU
Alexa-Fhem auf OrangePi One, FHEM2FHEM