Ankündigung
Einklappen
Keine Ankündigung bisher.
Amazon Alexa Plugin
Einklappen
X
-
Ich habe ein Update gemacht von shng dann ging es aber noch. Dann hat meine Firewall das zeitliche gesegnet. Neue Hardware und neu aufgesetzt und dann neues let's Encrypt Zertifikat auf der Sophos utm im reverse proxy. Seither geht es nicht mehr.
-
@patrickg
Hi, hast du etwas geändert? Bei mir war nginx das Hauptproblem. Jetzt läuft aber alles.
Frohe Weihnachten
Einen Kommentar schreiben:
-
patrickgoll
Hi, hast du etwas geändert? Bei mir kamen einige Fehler, es läuft aber jetzt einwandfrei.
Einen Kommentar schreiben:
-
Tja jetzt hat es wohl auch mich erwischt. Meine Alexa geht nicht mehr und ich hab keinen Schimmer warum. Ich bekomme dieselbe Meldung wie Salf #371Gibt es dafür schon Erkenntnisse was benötigt wird?Code:"errorMessage": "unable to verify the first certificate"
Danke und Grüße und natürlich frohe Weihnachten.
Einen Kommentar schreiben:
-
patrickgoll sind noch ein paar layoutfehler drin, auch habe ich im dev gerade korrigiert, dass man port 80 rausnimmt.. besser ist eine weiterleitung im nginx von http auf https. damit kann man dann ohne rumkonfigurieren die zertifikate nach 3 monaten erneuern
Einen Kommentar schreiben:
-
Also ich kann nur strikt davon abraten, den RasPi und das darauf laufenden SHNG offen ins Netz zu stellen... Selbst wenn das die einfachere Lösung ist...
Meine NGINX Anleitung auch mit Alexa Bestandteilen ist übrigens jetzt unter http://smarthomeng.de/user/visualisi...rse_proxy.html abrufbar.
Zuletzt geändert von psilo; 19.12.2017, 08:34.
- Likes 1
Einen Kommentar schreiben:
-
Ich hab nach langem nixverstehen endlich meinen Skill verknüft!
WIe verbinde ich das ganze aber jetzt mit meinem SmarthomneNG.
Also ich habe die aws_lambda.js in meine index.js kopiert und muss nun da die variablen ändern richtig? Ich steig in dem Teil einfach nicht dahinter,
muss ich meinem Raspberry mit dem smarthomeNG öffentlich machen? Vielen Dank schon mal den helfenden !
Code:/* You need to specify the following environmental variables in the lambda function: SMARTHOME_HOST foobar.dyndns.tld - SMARTHOME_PORT 443 - endpoint must be https enabled! - SMARTHOME_PATH '/' - SMARTHOME_AUTH 'user:password' */ exports.handler = function(event, context, callback) { var data = JSON.stringify(event) var options = { hostname: 'http:\\mydyndns\ip', port: '443', path: '/', method: 'POST', auth: 'hansimgluck:12345', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(data) } }; var https = require('https'); var req = https.request(options, (res) => { console.log(`HTTP ${res.statusCode}`); res.setEncoding('utf8'); var responseData = ''; res.on('data', (dataChunk) => { responseData += dataChunk }); res.on('end', () => { console.log('raw response:', responseData) var response = JSON.parse(responseData); if (res.statusCode == 200) { console.info('OK', JSON.stringify(response)) callback(null, response); } else { console.error('Failed', JSON.stringify(response)) callback('DependentServiceUnavailableError'); } }); }); req.on('error', (e) => { console.error('request failed', e); callback(e); }); console.log('requesting', data) req.write(data); req.end(); }
Einen Kommentar schreiben:
-
Kann man sich die aktuelle Temperatur eines Raumes ausgeben lassen? Laut actions_temeprature.py ist diese funktion noch nicht implementiert oder übersehe ich etwas?
Einen Kommentar schreiben:
-
Wieder einen Schritt weiter. Keine Ahnung was ich gemacht habe, aber AWS bringt jetzt keine Fehlermeldung. Die App findet aber keine Geräte.
EDIT:Code:{ "payload": { "discoveredAppliances": [ { "actions": [ "turnOff", "turnOn" ], "manufacturerName": "smarthomeNG.alexa", "modelName": "smarthomeNG.alexa-device", "isReachable": true, "applianceId": "wohnzimmer-lampe", "additionalApplianceDetails": { "item1": "EG.Wohnzimmer.Licht" }, "version": "1.3.0.9.0", "friendlyDescription": "Wohnzimmer Lampe", "friendlyName": "Wohnzimmer Lampe" } ] }, "header": { "namespace": "Alexa.ConnectedHome.Discovery", "name": "DiscoverAppliancesResponse", "payloadVersion": "2", "messageId": "3e097bd79dfc44d2899d264690854138" } }
Gelöst, geil, geil geil. Danke für eure Unterstützung.
Die Lösung für dieses Problem war die Payload auf v2 zu ändern.Zuletzt geändert von Salf; 12.12.2017, 09:20.
Einen Kommentar schreiben:
-
Hallo malte ,
danke für den Hinweis mit den SSL Zertifikaten. Ich hab nun ein wenig geforscht, wo den diese auf der NAS liegen und entsprechend ergänzt. Ich bekomme nun eine andere Fehlermeldung.
Irgendwie stehe ich bei dem Thema noch etwas im Dunkeln. Hier mal die aktuelle Fehlermeldung.
Code:{ "errorMessage": "RequestId: 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 Process exited before completing request" }Die Nginx Einstellungen legt Synology bei der Einrichtung über DSM automatisch in den Ordner "app.d". Der Nachteil ist aber, dass diese bei jedem Neustart überschrieben werden. Daher schreibe ich später noch ein autostart script. Welche Vorteile hat "/etc/nginx/sites-enabled/your-home"Code:START RequestId: 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 Version: $LATEST 2017-12-11T19:28:10.328Z 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 requesting {"header":{"payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","messageId":"F8752B11-69BB-4246-B923-3BFB27C06C7D"},"payload":{"accessToken":"1"}} 2017-12-11T19:28:12.885Z 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 HTTP 400 2017-12-11T19:28:12.908Z 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 raw response: <html> <head><title>400 Request Header Or Cookie Too Large</title></head> <body bgcolor="white"> <center><h1>400 Bad Request</h1></center> <center>Request Header Or Cookie Too Large</center> <hr><center>nginx</center> </body> </html> 2017-12-11T19:28:12.909Z 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 SyntaxError: Unexpected token < at Object.parse (native) at IncomingMessage.<anonymous> (/var/task/index.js:40:24) at emitNone (events.js:72:20) at IncomingMessage.emit (events.js:166:7) at endReadableNT (_stream_readable.js:905:12) at nextTickCallbackWith2Args (node.js:437:9) at process._tickDomainCallback (node.js:392:17) END RequestId: 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 REPORT RequestId: 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 Duration: 2631.27 ms Billed Duration: 2700 ms Memory Size: 128 MB Max Memory Used: 25 MB RequestId: 6c1d05f3-dea9-11e7-b45f-7fcada1d5242 Process exited before completing request
Einen Kommentar schreiben:
-
nach langem hin und her habe ich nun endlich alles mit nginx hinbekommen und Alexa scheint per AWS erreichbar zu sein.
Per AWS Test bekomme ich mein Test Discovery Objekt zu sehen
Code:{ "header": { "payloadVersion": "3", "namespace": "Alexa.ConnectedHome.Discovery", "name": "DiscoverAppliancesRequest", "messageId": "F8752B11-69BB-4246-B923-3BFB27C06C7D" }, "payload": { "accessToken": "1" } }
Result:
Nun frage ich mich wieso ich nix bei der Alexa app unter Gerätesuche sehe...Code:{ "payload": { "discoveredAppliances": [ { "manufacturerName": "smarthomeNG.alexa", "actions": [ "turnOn", "turnOff" ], "friendlyDescription": "Arbeitzimmer Licht", "isReachable": true, "additionalApplianceDetails": { "item1": "EG.Arbeiten.Licht" }, "modelName": "smarthomeNG.alexa-device", "version": "1.3.0.9.0", "friendlyName": "Arbeitszimmer", "applianceId": "ew_light_arbeitszimmer-alias1" }, { "manufacturerName": "smarthomeNG.alexa", "actions": [ "turnOn", "turnOff" ], "friendlyDescription": "Arbeitzimmer Licht", "isReachable": true, "additionalApplianceDetails": { "item1": "EG.Arbeiten.Licht" }, "modelName": "smarthomeNG.alexa-device", "version": "1.3.0.9.0", "friendlyName": "Licht", "applianceId": "ew_light_arbeitszimmer" } ] }, "header": { "name": "DiscoverAppliancesResponse", "namespace": "Alexa.ConnectedHome.Discovery", "payloadVersion": "2", "messageId": "f399992783dd409bac52c2b32d3c914d" } }
Item.config in smartvisu
Jemand ne idee.Code:[EG] [[Arbeiten]] [[[Licht]]] type = bool knx_dpt = 1 knx_cache = 1/3/1 # Status knx_send = 1/3/0 # Schalten alexa_device = ew_light_arbeitszimmer alexa_name = "Licht" alexa_alias = "Arbeitszimmer" alexa_description = "Arbeitzimmer Licht" alexa_actions = "turnOn turnOff"
Besten Dank.
EDIT: Gefunden. der Trigger muss ja noch aktiviert werden. Grrr
Zuletzt geändert von Polecat; 11.12.2017, 19:31.
Einen Kommentar schreiben:
-
Hallo Salf ,
bist du dir sicher, dass du die richtige Config auf dem Synology bearbeitest? Ich habe meine Config für den nginx hier liegen: /etc/nginx/sites-enabled/your-home .
Ansonsten sehe ich in deiner Config nicht wirklich, wo du denn die Zertifikate aufführst?! Das sollte ja eigentlich ungefähr so aussehen:Beste Grüße,Code:ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
Malte
Einen Kommentar schreiben:
-
Kann mir bitte jemand helfen. Ich komme mit den Zertifikaten nicht weiter. Die Tipps von SvStefan (Seite 6) habe ich auch befolgt.
Mein System: Synology NAS
Da läuft Smartvisu und SmarthomeNG einwandfrei drauf.
Meine aktuelle Lambda Fehlermeldung:
Meine NGINX Configuration (/etc/nginx/app.d/server.ReverseProxy.conf)Code:{ "errorMessage": "unable to verify the first certificate", "errorType": "Error", "stackTrace": [ "Error (native)", "TLSSocket.<anonymous> (_tls_wrap.js:1016:38)", "emitNone (events.js:67:13)", "TLSSocket.emit (events.js:166:7)", "TLSSocket._finishInit (_tls_wrap.js:585:8)" ] }Code:server { listen 8090 ssl; listen [::]:8090; server_name XXX.SERVERNAME.XXX; access_log /var/log/nginx/alexa.log combined; error_log /var/log/nginx/alexa.err debug; auth_basic "alexa"; auth_basic_user_file /etc/nginx/.htpasswd; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_intercept_errors on; proxy_http_version 1.1; proxy_pass http://192.168.178.40:8090; } }
Einen Kommentar schreiben:


Einen Kommentar schreiben: