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

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

Vorheriges Thema - Nächstes Thema

TomLee

Die Temperaturabfrage ist meines Wissens bisher nur mit

Wie ist die Temperatur in/im/von ...

möglich.

Wie warm ist es ...

geht nur im Costum-Skill


Tueftler1983

Dann kommt wieder das

wie ist die Temperatur in leas zimmer

In Wien beträgt die Temperatur 8 Grad Celsius bei überwiegend klarem Himmel. Heute höchstwahrscheinlich wechselnde Bewölkung mit einer Höchsttemperatur von 17 Grad und einer Tiefsttemperatur von 6 Grad.

wie ist die temperatur von leas zimmer

In Wien beträgt die Temperatur aktuell 8 Grad Celsius bei überwiegend klarem Himmel. Der heutige Wetterbericht sagt eine wechselnde Bewölkung voraus, mit einer Höchsttemperatur von 17 Grad und einer Tiefsttemperatur von 6 Grad.

TomLee

#3707
Wenn jetzt im Verlauf auch leas zimmer stand, also alles richtig verstanden wurde, ist Kreativität bei der Namensuche gefragt ;) Kinderzimmer,Jugendzimmer,Räuberhöhle wie auch immer.

edit:

Bei mir wurde bspw. aus hof -> einfahrt. Weil ich die/das Temperatur/Wetter aus Hof nicht hören wollte.

Tuxi70

Alexa versteht wohl kaum Wörter mit Umlauten. Bestes Beispiel bei mir die Küche, dass wurde zum Kochzimmer. ;)
FRITZ!Box: Fon WLAN 7560, FW: 7.0
James: Raspberry Pi 3 Alexa-Fhem 0.4.4 & FHEM 5.8 Latest Revision: 16799 & SVG-DBLog MySQL 3.10.8
Netz : VDSL 1&1 50.000 3x FRITZ!Powerline 530E FW: 1.4.0-00
Smarthome: 4x Comet DECT Thermostat Firmware: 3.68 8x FritzDECT200 Firmware: 4.08
Steuerung: Alexa

Tueftler1983

Wie ist die Temperatur in der Küche versteht Alexa und antwortet auch mit der Temperatur.
Sobald ich sage wie ist die Temperatur in DER lea versteht Alexa das auch.... Hört sich aber komisch an.

amenomade

@Tueftler1983: ich würde gerne wissen, wie Du dein Problem mit URL whitelisten gelöst hast?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Tueftler1983

Indem ich die drei return URLs ins security Profiel eingetragen habe.

Kusselin

#3712
Hallo Zusammen,

darf ich mich mal bitte kurz dazwischen drücken.....Danke.

Ich habe lt. Wiki soweit jetzt alles installiert und hier Alexa-Fhem als Service (systemd) installieren muss man ja Den Pfad /home/alexa/.alexa an die Systemgegebenheiten anpassen.

Jetzt verstehe ich nicht wie ich den Pfad entsprechend anpassen muss auf welchen Bezug???

Ich bin genauso vorgegangen wie im Wiki unter Punkt Alexa-Fhem als Service (systemd) installieren

wenn ich jetzt im Browser https:// meine server ip:3000 eingebe dann kommt nur Seitenladefehler.

Ich weiss nicht wie ich den Pfad ändern muss???

wenn sich der Pfad auf die config.json bezieht dann liegt die config unter /home/pi/.alexa
Wäre das dann der Pfad? EDIT: Ja das ist der Pfad!!

Über ne Info vielen Dank.

Gruss

Kussel

P.S.: Hier mal ein Auszug wenn ich ./bin/alexa in der Konsole starte:
./bin/alexa
-bash: ./bin/alexa: Datei oder Verzeichnis nicht gefunden
pi@raspberrypi:~ $ cd ~/alexa-fhem/
pi@raspberrypi:~/alexa-fhem $ ./bin/alexa
[2018-4-3 19:07:33] using /home/pi/.alexa/config.json
[2018-4-3 19:07:33] ---
[2018-4-3 19:07:33] this is alexa-fhem 0.4.4
[2018-4-3 19:07:33] Fetching FHEM devices...
[2018-4-3 19:07:33] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1522775253406
[2018-4-3 19:07:33] Server listening on: https://:::3000
[2018-4-3 19:07:33] [FHEM] Checking devices and attributes...
[2018-4-3 19:07:33] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=1&XHR=1
[2018-4-3 19:07:33] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=1&XHR=1
[2018-4-3 19:07:33] [FHEM] Fetching FHEM devices...
[2018-4-3 19:07:33] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=1&XHR=1
[2018-4-3 19:07:33] [FHEM] alexa device is MyAlexa
[2018-4-3 19:07:33] [FHEM] MyAlexa is switch
[2018-4-3 19:07:33] [FHEM] MyAlexa has
[2018-4-3 19:07:33] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[2018-4-3 19:07:33] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=1&XHR=1


in Fhem sieht es so aus nach dem anlegen wie im Wiki beschrieben.....ist das O.K. so?:

und nachdem ich nun MyAlexa definiert habe bin ich in das Device rein und oben auf set skillid und hinten dran die SkillID reinkopiert und auf speichern gegangen..dann kam folgendes:
stored obfuscated skillId



Tueftler1983

mir ist grade auch noch was aufgefallen,

das starten aus fhem heraus funktioniert nicht,
und wenn ich das start script manuell aufrufe kommt das dabei raus
sudo /etc/init.d/alexa start
-su: /opt/fhem/log/log/alexa-2018-04.log: Keine Berechtigung
Alexa starting
Alexa is not running
script done
script done

bin komplett nach wiki bzw Forum eintrag vorgegangen, habe alles als user pi eingerichtet


MadMax-FHEM

User pi hat verm. keine Schreibrechte unter /opt/fhem/log/log

den Pfad gibt es aber?

Entweder anderen User zum Starten wählen (z.B. fhem) aber dann den Pfad zur config.json anpassen...

Oder das Log woanders hinlegen, z.B. /home/pi/log

Oder dem User pi die notwendigen Rechte geben...

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)

Tueftler1983

okay habe im script den User pi gegen fhem getauscht.

das starten und stoppen aus fhem heraus funktioniert jetzt auch, aber in fhem wird der status nicht angezeigt er springt immer auf off.

über die konsole bekomme ich aber rückmeldung das alexa läuft
sudo /etc/init.d/alexa status
Alexa is running PID 21116
script done

MadMax-FHEM

#3716
Zitat von: Tueftler1983 am 04 April 2018, 00:25:15
okay habe im script den User pi gegen fhem getauscht.

das starten und stoppen aus fhem heraus funktioniert jetzt auch, aber in fhem wird der status nicht angezeigt er springt immer auf off.

über die konsole bekomme ich aber rückmeldung das alexa läuft
sudo /etc/init.d/alexa status
Alexa is running PID 21116
script done


Ich nutze mitlerweile dieses Modul zum Starten von alexa-fhem aus fhem: https://forum.fhem.de/index.php?topic=79952.0

Das mit DOIF und Dummy war mir zu indirekt.

So nun zu deinem "Problem".

Ich sehe du nutzt das init.d Script!?
Auch zum Starten?
Eigentlich sollte da folgendes passieren:


        perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
        perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"


Ich verwende es nicht mehr aber wie ich mich erinnere "schaltet" das Script ja FHEM.Alexa immer wieder auf off, das wird (soweit ich es verstanden habe) gebraucht, um das DOIF "weiter zu schalten".
Der tatsächliche Status sollte dann zusammen mit der Information als Text in FHEM.Alexa.Status stehen...

Hast du die Zeilen im Script?
Heißen dein DOIF/Dummy entsprechend?

Zitat
define FHEM.Alexa.Status dummy

define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa webCmd status:start:stop:restart

define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "stop")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "restart")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "status")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})

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)

MadMax-FHEM

#3717
@Kussel:

du nutzt systemd (kenne ich jetzt nicht so gut, ich bin immer noch auf initd ;)  )...

Poste doch mal dein systemd-Script und auch ein list des DOIF.
Wenn du das DOIF ohne Anpassung an systemd genommen hast dann kann es sein, dass das nicht geht.
Zumindest war die Version des DOIF das ich kenne (und hab grad nachgesehen, ist immer noch so) auf "Zusammenarbeit" mit initd bestimmt:

Zitat
define FHEM.Alexa.Status dummy

define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa webCmd status:start:stop:restart

define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "stop")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "restart")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "status")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})

Ich nutze mittlerweile das Modul hier:

https://forum.fhem.de/index.php/topic,79952.60.html

Frage: wenn du auf der Console prüfst, ob alexa-fhem läuft, was kommt dann?

Müsste sowas wie:

systemctl status alexa

sein.

Wenn der Service läuft und es (eigentlich) auch funktioniert (leider hast du das Log zu früh abgeschnitten so sieht man nicht was alexa-fhem in fhem findet) und nur die Anzeige in fhem nicht passt: siehe Anmerkung oben bzgl. DOIF und initd statt systemd.

Dann vielleicht mal das verlinkte Modul anschauen, dann braucht es die Dummies und das DOIF nicht...
Du siehst den Status direkt im Service-Modul und kannst dort auch (re)starten und stoppen...

Wenn es generell nicht geht (also Abfrage des Service liefert: Fehler/not running etc.), dann noch mal melden, dann schauen wir mal woran es hakt...

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)

Kusselin

Zitat von: Tueftler1983 am 03 April 2018, 23:49:28
mir ist grade auch noch was aufgefallen,

das starten aus fhem heraus funktioniert nicht,
und wenn ich das start script manuell aufrufe kommt das dabei raus
sudo /etc/init.d/alexa start
-su: /opt/fhem/log/log/alexa-2018-04.log: Keine Berechtigung
Alexa starting
Alexa is not running
script done
script done

bin komplett nach wiki bzw Forum eintrag vorgegangen, habe alles als user pi eingerichtet

Nur Zur Info.....genau das gleiche kommt bei mir auch wenn ich sudo /etc/init.d/alexa start in der Konsole eintippe. Bin auch nach Wiki vorgegangen...
Gruss

Tuxi70

Ich lasse FHEM und Alexa-FHEM via systemd starten.
FRITZ!Box: Fon WLAN 7560, FW: 7.0
James: Raspberry Pi 3 Alexa-Fhem 0.4.4 & FHEM 5.8 Latest Revision: 16799 & SVG-DBLog MySQL 3.10.8
Netz : VDSL 1&1 50.000 3x FRITZ!Powerline 530E FW: 1.4.0-00
Smarthome: 4x Comet DECT Thermostat Firmware: 3.68 8x FritzDECT200 Firmware: 4.08
Steuerung: Alexa