Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

punker

Also, eigentlich läuft alles super. Danke dafür!
Aber seit ein paar Tagen kommt immer eine Ansage wegen einem Skill "Technoline Mobile Alerts" den man verknüpfen soll wenn ich meine Temperatursensoren (ein CUL_WS und ein Onewire Sensor) abfragen will.
Schaue ich dann bei alexa.amazon.de unter meine Skills ist dort auf einmal ein "Technoline Mobile Alerts" Skill vorhanden den ich nicht installiert hab.
Hab auch die alexanamen schon geändert um Missverständnisse auszuschliessen.
Wie kommts bzw. was kann ich dagegen machen?
alexa-fhem version: 0.5.14
ansonsten tägliches Update - also alles aktuell!

LG

Dieter

The truth is out there!

justme1968

da versucht alexa vermutlich besonders schlau zu sein. beschwer dich direkt bei amazon
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

punker

LG

Dieter

The truth is out there!

justme1968

bei amazon beschweren.

feedback in der alexa app nutzen. das ist genau dafür da und amazon reagiert normalerweise sehr schnell.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

punker

LG

Dieter

The truth is out there!

Feinfinger

Hallo zusammen,

Ich habe diese Frage bereits in einem anderen Thread gestellt, aber lt der Kommentare bin ich hier wohl besser aufgehoben.


Folgendes docker image bekomme ich nicht ans laufen auf meinem NUC https://github.com/fhem/alexa-fhem-docker

Bereits unternommen habe ich:


Gestarted über folgenden Befehl, da meine config.json in diesem Verzeichnis liegt: /home/fhem/fhem-docker/alexa-fhem

sudo docker run -d --name alexa-fhem -p 3000:3000 fhem/alexa-fhem -v /home/fhem/fhem-docker/alexa-fhem:/alexa-fhem


Image wird gepullt, in der Console auch gestartet.

Bei Portainer steht dann allerdings folgender Kommentar:

Last output cat: /alexa-fhem/config.json: No such file or directory cat: /alexa-fhem/config.json: No such file or directory alexa-port(undefined): FAILED;

und im alexa-fhem log kommt folgendes


[1/29/2019, 6:32:44 AM] os.homedir()=/alexa-fhem


[1/29/2019, 6:32:44 AM] using config from /alexa-fhem/.alexa/config.json


*** CONFIG: parsed completely


[1/29/2019, 6:32:44 AM] this is alexa-fhem 0.5.15


[1/29/2019, 6:32:44 AM] connecting to FHEM ...


[1/29/2019, 6:32:44 AM] [FHEM] trying longpoll to listen for fhem events


[1/29/2019, 6:32:44 AM] [FHEM] starting longpoll: http://fhem:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1548739964949


[1/29/2019, 6:32:44 AM] Server listening on: http://:::3000 for direct connections


[1/29/2019, 6:32:44 AM] [FHEM] got csrfToken: csrf_374019469736464


[1/29/2019, 6:32:44 AM] [FHEM] Checking devices and attributes...


[1/29/2019, 6:32:44 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&fwcsrf=csrf_374019469736464&XHR=1


[1/29/2019, 6:32:44 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=csrf_374019469736464&XHR=1


[1/29/2019, 6:32:44 AM] [FHEM] waiting for events ...


[1/29/2019, 6:32:44 AM] [FHEM] Fetching FHEM devices...


[1/29/2019, 6:32:44 AM] [FHEM] fetching: http://fhem:8083/fhem?cmd=jsonlist2%20alexaName=..*&fwcsrf=csrf_3746419469736464&XHR=1


[1/29/2019, 6:32:45 AM] [FHEM] alexa device is Alexa


[1/29/2019, 6:32:45 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7BAlexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7BAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.15%22%7D%3B%7B%24defs%7BAlexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_374019469736464&XHR=1


[1/29/2019, 6:32:45 AM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7B%24defs%7BAlexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20Alexa%20.eventToken%3B%7B%24defs%7BAlexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_374019469736464&XHR=1


*** FHEM: connected


[1/29/2019, 6:32:45 AM] [FHEM] got: 29 results


Das alexa Modul erkennt nun die 0.5.15 Version, allerdings wird jede Anfrage an meinen Cutom Skill mit der Antwort quittiert:

Bei der Antwort des anegeforderten Skill ist ein Problem aufgetreten

Für mich sieht das so aus, als wenn das Modul die config.json nicht findet, jedoch stimmt der Pfad im run Befehl des Containers.


Was mache ich falsch?


Dieses Image hier https://hub.docker.com/r/sbiermann/x86-alexa-fhem/ funtioniert übrigens einwandfrei, das heißt, alle Freigaben und Ordner stimmen, ist jedoch etwas alt.

Wenn mir jemand sagt, wie ich dieses Image auf den aktuellen Stand bringe, würde mir das auch reichen.


Ich starte natürlich immer nur einen Container von beiden, also kann auch kein Port Problem vorliegen.


Freue mich auf eure Ideen :-)
Proxmox VM - MAPLE-CUL - SIGNALDINO

Loredo

Zitat von: Feinfinger am 29 Januar 2019, 20:50:01
Bei Portainer steht dann allerdings folgender Kommentar:

Last output    cat: /alexa-fhem/config.json: No such file or directory cat: /alexa-fhem/config.json: No such file or directory alexa-port(undefined): FAILED;

und im alexa-fhem log kommt folgendes


[1/29/2019, 6:32:44 AM] os.homedir()=/alexa-fhem


[1/29/2019, 6:32:44 AM] using config from /alexa-fhem/.alexa/config.json



Danke für die Rückmeldung. Das Image ist noch nicht so richtig getestet und ich denke mit einem der nächsten Builds ist das gelöst.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Feinfinger

Proxmox VM - MAPLE-CUL - SIGNALDINO

justme1968

#413
es gibt seit eben die version 0.5.15 von alexa-fhem.

neu ist die unterstützung von kontakt sensoren.

scheinbar ist amazon aber noch nicht ganz fertig damit. aktuell geht nur die anzeige in der alexa app. die abfrage per sprache meldet immer das das gerät nicht antwortet. das stimmt aber nicht. es wird genau die gleiche antwort geschickt wie bei abfrage über die app.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Paul

Zitat von: justme1968 am 31 Januar 2019, 22:35:18
es gibt seit eben die version 0.5.16 von alexa-fhem.

neu ist die unterstützung von kontakt sensoren.

scheinbar ist amazon aber noch nicht ganz fertig damit. aktuell geht nur die anzeige in der alexa app. die abfrage per sprache meldet immer das das gerät nicht antwortet. das stimmt aber nicht. es wird genau die gleiche antwort geschickt wie bei abfrage über die app.

Kann ich damit fragen "sind alle Fenster zu"
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

gvzdus

Das hat nichts mit SmartHome-Skills zu tun, sondern mit Amazon.
Es wird vermutlich nicht gehen. Der Job eines SmartHome-Skills ist, Amazon auf Anfrage mitzuteilen, wie der Status eines SmartHome-Gerätes ist (hier: Eines Fensterkontaktes). Ob Amazon daraus etwas Komplexes wie "Ist der Status aller Fensterkontakte: "Geschlossen"?" bauen kann, halte ich für eher fragwürdig.

MadMax-FHEM

Eventuell ginge das über einen Dummy oder Structure die eben den Status aller Fenster "sammelt" und dann z.B. "alle Fenster" heißt ;)

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)

Reinhart

#417
Zitat von: Paul am 31 Januar 2019, 23:52:33
Kann ich damit fragen "sind alle Fenster zu"

Ich habe mir das mit dem Modul 37_echodevice gebastelt, da kannst du praktisch alles zusammen stellen was du willst.
Einfach echodevice einrichten, einen Dummy Switch anlegen, einen Notify drauf und einen Perlcode und der 99_myUtils aufrufen.
Dann in der Alexa App eine Routine einrichten, der Aufruf ist frei gestaltbar, zB: Alexa, sind alle Fenster zu? Die Routine in der App schaltet dann einfach den Dummy und der Notify reagiert und ruft deine Routine in der 99_myUtils auf. Das geht bei mir innerhalb 2-3 Sekunden.

Alexa.Temp.Ein {
  {alexaRoomTemperature()};
  fhem("set Alexa.Temp Aus");
  }

der notify kann dabei so aussehen, Alexa.Temp ist der Dummy mit einem Switch.

sub alexaRoomTemperature() {
   my $wohn = (ReadingsVal("Th_Wohnzimmer_Weather", "measured-temp", ""));
        $wohn =~ s/\./,/g;
   my $schlaf = (ReadingsVal("HMS100T_311c", "temperature", ""));
        $schlaf =~ s/\./,/g;
   my $aussen = (ReadingsVal("netatmo_aussen", "temperature", ""));
        $aussen =~ s/\./,/g;
   my $humidity = (ReadingsVal("netatmo_wz", "humidity", 0));
        $humidity =~ s/\./,/g;       
   my $titlevorlauf = ReadingsVal("Vorlauf", "temperature", "");
        $titlevorlauf =~ s/\./,/g;
   my $titleruecklauf = ReadingsVal("Ruecklauf", "Ruecklauf", "");
        $titleruecklauf =~ s/\./,/g;
        my $titlekurve = ReadingsVal("HKurve", "HKurve", "");   
        $titlekurve =~ s/\./,/g;
        my $titlewater = ReadingsVal("WarmW.Temp.", "WarmW.Temp.", "");
        $titlewater =~ s/\./,/g;
        fhem("set ECHO_G000RA0XXXXXXXX speak Im Wohnhaus messe ich folgende Temperaturen. Wohnzimmer $wohn Luftfeuchte $humidity Prozent Grad Schlafzimmer $schlaf Grad Aussentemperatur $aussen Grad Vorlauf $titlevorlauf Grad Rücklauf $titleruecklauf Grad Warmwasser $titlewater Grad und die Heizkurve ist auf $titlekurve eingestellt");
}

so ähnlich kann der Code in der 99_myUtils dann aussehen, ich habe das hier mit Temperaturen durchgeführt.

Somit hast du einen nahezu 90% Ersatz für den Custom Skill. Der einzige große Nachteil (die fehlenden 10%) ist die fehlende Textausgabe am Show, aber ansagen kannst du dir damit lassen was du willst. Ich habe einige solcher Textansagen eingerichtet.
Ach ja, wenn du mehrere Echo Geräte hast, kannst du eine Gruppe bilden und auf allen gleichzeitig den Text ausgeben, ich habe es nur auf einem eingerichtet. Man kann es auch einrichten, das der Text auf dem ausgegeben wird auf dem gefragt wurde. Aber das kannst alles in dem Thread nachlesen.

Somit bleibe ich auf Fhemlazy und aktivere den alten Skill nicht mehr. Port 3000 bleibt bei mir für immer geschlossen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

geohem

@Feinfinger

Hast du dir dieses Dockerimage einmal angesehen?
Das funktioniert bei mir sehr gut.

https://forum.fhem.de/index.php/topic,89745.0.html
Fhem auf bpi2mu - Fhem Remote auf Raspberry2
hmlan - hmuartlgw - culmax -yeelightbridge-jeelink-cul

TobiRm

Ich dachte grad ich versuchs mal, hat leider nicht geklappt.
Ich habe das "alte" alexa-fhem gestoppt und befolgt, was unter https://wiki.fhem.de/wiki/FHEM_Connector steht.

node ist v10.14.10
Auch alexa-fhem wurde ohne Fehler installiert.


Muss man das alte alexa-fhem löschen/deinstallieren?
Er wollte die key und cert.pem haben, die Einträge stehen immernoch in der config.json, ist das richtig?

Nach dem anlegen mit define alexa alexa bekomme ich nur

Readings
alexaFHEM
stopped; failed to connect to fhem: 401: Authorization Required


Wenn ich mit
sudo /usr/bin/alexa-fhem
das ganze von Hand starte, startet er und findet Geräte.

Sollte eigentlich meineip:3000 zum testen ob der Service arbeitet, noch funktionieren?

Gruß