39_alexa.pm und alexa-fhem test version

Begonnen von justme1968, 03 Januar 2019, 22:43:10

Vorheriges Thema - Nächstes Thema

Teccno

Eine kurze Frage:
Ich habe Sensoren mit Temperatur- und Luftfeuchte-Fühler (Sonoff TH16 mit Tasmota und SI7021) in meinem FHEM-System. Habe sie mittels homepbridgemapping so eingerichtet, dass sie jeweils getrennt behandelt werden (je zwei eigene Devices pro Sensor). In Siri kann ich sie über die Homebridge abrufen ("Hey Siri, wie ist die Temperatur in der Küche" oder "Hey Siri, wie ist die Luftfeuchtigkeit im Wohnzimmer") und erhalte die korrekten Werte geliefert. Alexa hat die Sensoren alle erkannt, liefert jedoch lediglich die Temperaturen auf Nachfrage. Bei "Alexa, wie ist die Luftfeuchtigkeit in der Küche" kommt nur " Küche unterstützt das nicht". Soll das so? Oder hab ich einen Fehler gemacht?
Vielen Dank für die Hilfe.

justme1968

im alexa smart home api gibt es aktuell nur temperatursensoren. siehe: https://wiki.fhem.de/wiki/FHEM_Connector#Was_geht_alles_.3F und dort vor allem den link zur api doku bei amazon.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Teccno

Das erklärt es dann.

Dankeschön für die schnelle Antwort.

justme1968

hat irgendjemand probleme mit der CoProcess test version aus dem ersten beitrag?

hat es jemand probiert und hat keine probleme :) ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

Zitat von: justme1968 am 26 Januar 2019, 16:49:16
hat irgendjemand probleme mit der CoProcess test version aus dem ersten beitrag?

hat es jemand probiert und hat keine probleme :) ?

Läuft bei mir auf einem Testsystem sowohl mit tradfri als auch mit alexa-fhem problemlos.

Killen bzw. Nachstarten beim Killen (mit tradfri) funktioniert auch...

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)

justme1968

die eingecheckte version ist ab morgen auf CoProcess umgestellt.

für die anwender sollte sich nichts ändern.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

topa_LE

#411
Habe vor Tagen FHEM upgedatet und die neue Versionen von alexa-fhem wurde aktualisiert.

Habe da derzeit etwas, trotz hier zu lesen etwas ein Problem mit den neuen Keys. AWS bei Amazon lief immer problemlos mit den Keys in der config.json.

aktuell steht der Alexa define auf "stopped" mit der Fehlermeldung :

SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:11:29)


kann damit wenig anfangen, die config.json liegt in opt/fhem/.alexa . Die neue alexa-fhem.cfg wurde erstellt nach Reboot mit:

{
   "connections" : [
      {
         "port" : "8083",
         "filter" : "alexaName=..*",
         "uid" : 999,
         "name" : "FHEM",
         "server" : "192.168.178.1",
         "webname" : "fhem"
      }
   ],
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   }
}


Woher soll er sich jetzt die AWS von Amazon holen? Ich nutze keinen Custom Skill , sondern immer noch den FHEM Smarthome Skill.

Muss ich per Proxy auf den FHEM-Server per SSL zugreifen?

Im FHEM Log hab ich aktuell ständig:

2019.01.27 00:15:48 3: MyAlexa: read: end of file reached while sysread
2019.01.27 00:15:48 3: MyAlexa: alexaFHEM stopped



gvzdus

Bei Dir startet alexa-fhem ja nicht einmal. Ich kann die erste Fehlermeldung nicht eindeutig verstehen, aber hast Du die aktuelle Version mit
npm install -g alexa-fhem
installiert?
Möglich ist, dass sich die alte Version mit der neu installierten beisst. Könntest Du die Alt-Version einmal in ein anderes Verzeichnis verschieben?

Wo willst Du hin? Wenn Du auf den Proxy umstellen willst, um auf den offenen Port im Internet und den Developer-Skill zu verzichten, brauchst Du die Skill-ID nicht. Falls Du als "Entwickler" weiter machen möchtest, ist die bestehende Konfiguration unter /opt/fhem/.alexa/config.json vermutlich hilfreicher. Die würde ich dann nach /opt/fhem/alexa-fhem.cfg kopieren.

topa_LE

#413
Habe gestern einiges probiert. Aktuell habe ich den Überblick verloren.

Ja, die neue Version mit:

npm install -g alexa-fhem

habe ich mehrmals installiert. Durch nachlesen hier, habe ich mitbekommen, das die direkt nach usr/lib/node_modules installiert wird. Entsprechend habe ich die alte Version 0.3.4 in opt/fhem/alexa-fhem umbenannt und auch später komplett entfernt.

Was will ich tun? Eigentlich nur wie bisher Smarthome Fhem Skill nutzen, keine Entwicklung etc. Warum in Fhem nun weiterhin die 0.3.4 angezeigt wird, weiß ich nicht. Was muss den nun genau in die alexa-fhem.cfg rein? und benötigt man noch die config.json?

Haber hier immer wieder gelesen alexaFHEM-auth soll aktiviert werden! Welcher Wert soll dort rein? Die Skill-ID?

Wenn das nur noch über einen offenen Proxy-Server genutzt werden kann, wo sollen dann die beiden cert.pm und key.pem (alten Dateien mit Keys) hinkopiert werden. Aktuell werden Alexa Geräte wieder erkannt und es funktioniert erstmal wieder, nur eben steht dort stopped.

Wenn Alexa nicht gestartet ist, dürfte es doch gar nicht funktionieren. ?!

Leider habe ich den Faden verloren, weiß keinen Ansatz mehr.

Grundsätzlich wäre mal zu wissen, WAS genau in die alexa-fhem.cfg rein muss.

Momentan sieht meine opt/fhem/.alexa/config.json so aus:

{
    "alexa": {
        "port": 3000,
        "name": "Alexa FHEM",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.6b24xxxxxx",
        "oauthClientID": "amzn1.application-oa2-client.05d6xxxxxx"
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "192.168.178.4",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=Alexa"
        }
    ]
}


alexa-fhem.cfg

{
   "connections" : [
      {
         "port" : "8083",
         "filter" : "alexaName=..*",
         "uid" : 999,
         "name" : "FHEM",
         "server" : "192.168.178.4",
         "webname" : "fhem"
      }
   ],
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   }
}


Scheinbar ist einiges doppelt oder falsch.

binford6000

ZitatLeider habe ich den Faden verloren, weiß keinen Ansatz mehr.

Sieht ganz so aus...  :o

Also du beendest sämtliches "altes" Alexa Gedöns. Dienst Stoppen usw. Löschen kannst du später immer noch.
Und dann arbeitest du einfach das im Wiki Beschriebene ab:

https://wiki.fhem.de/wiki/FHEM_Connector

Dann sollte eigentlich nix schiefgehen.

ZitatHaber hier immer wieder gelesen alexaFHEM-auth soll aktiviert werden! Welcher Wert soll dort rein? Die Skill-ID?

Wenn dein FHEMWEB mit BasisAuth gesichert ist user und password. Ist aber auch im Wiki beschrieben...

Wenn doch Fehlermeldungen erscheinen sollten, -> einfach hier posten. Dann wird dir geholfen.  ;)
VG Sebastian

topa_LE

Hallo Sebastian, danke dir.

So habe erst mal nodejs von 6.16 auf 8.15 upgedatet.

sudo apt-get remove nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install npm@latest -g


Danach nochmals mit npm install -g alexa-fhem alexa-fhem neu installiert. An den config.json und alexa-fhem.cfg nix geändert. PRI neu gestartet und siehe da, nun habe ich bearer Token und Cert als readings. Sieht schon mal besser aus.

Werde mir das Wiki nochmal genau durchlesen. Danke.

binford6000

ZitatSo habe erst mal nodejs von 6.16 auf 8.15 upgedatet.

Hatte ich auch  ;)

config.json wird dann nicht mehr beötigt. Dafür gibts jetzt alexa-fhem.cfg direkt unter "Edit files".
VG Sebastian

binford6000

Im übrigen kann auch das neue Modul 42_npmjs.pm (seit heute im Update) von Loredo hier sehr nützlich sein.

Einfach ein
define fhemServer npmjs localhost

und man ist in Sachen nodejs immer auf dem Aktuellen  ;)

Internals:
   CFGFN     
   DEF        localhost
   FUUID      5c4d6776-f33f-0308-d911-e1261b62a9ef5b88
   HOST       localhost
   NAME       nodejs
   NOTIFYDEV  global,fhemServer
   NR         1586
   NTFY_ORDER 50-fhemServer
   STATE      npm is up to date
   TYPE       npmjs
   VERSION    0.9.0
   READINGS:
     2019-01-27 09:10:31   nodejsVersion   8.15.0
     2019-01-27 09:15:15   outdated        fetched done
     2019-01-27 09:15:15   state           npm is up to date
     2019-01-27 09:12:58   update          successful
     2019-01-27 09:15:15   updatesAvailable 0
   helper:
     lastSync   2019-01-27
Attributes:
   devStateIcon npm.updates.available:security@red npm.is.up.to.date:security@green .*in.progress:system_fhem_reboot@orange errors:message_attention@red
   group      Alexa-FHEM
   icon       alexa2
   room       90_System->92_Webdevices


VG Sebastian

topa_LE

ok, und was muss nun genau in die alexa-fhem.cfg definiert werden?

Sieh ja erst mal sehr gut aus das Define in FHEM.

Allerdings sind meine Geräte unter alexa.amazon.de nun alle offline und neue Defines die ich in den Room: Alexa lege werden nicht mehr gefunden. Gestern mit der scheinbar altes Version 0.3.4 ging es trotz stopped.


MadMax-FHEM

Die neue Config bearbeiten (wo/wie Sebastian geschrieben hat) und dort statt Filter alexaName=..* eben "room=alexa" (oder was immer dein alter Filter war) eintragen...

ODER: die Geräte passend zum aktuellen Filter abändern (alexaName setzen)

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)