Ankündigung
Einklappen
Keine Ankündigung bisher.
Amazon Alexa Plugin
Einklappen
X
-
Du musst in der Alexa App bei Geräte nach dem nicht reagierenden Gerät suchen (Lupe) wenn wer es findet, drauf drücken und dann oben rechts das Zahnrad. Da kann na es löschen.
-
Hallo Andre,
vielen dank erstmal für deine Antwort.
ich hab es mit deinem Code probiert, dann kam folgendes Log
kann das mit der Dateiendung .mjs zu tun haben ?PHP-Code:
2025-11-23T21:57:08.892+01:00
INIT_START Runtime Version: nodejs:24.v25 Runtime Version ARN: arn:aws:lambda:eu-west-1::runtime:9789c897924b8267853973afab7f065eaf98a441d27aa14bb62b2560df1ea5a0
INIT_START Runtime Version: nodejs:24.v25 Runtime Version ARN: arn:aws:lambda:eu-west-1::runtime:9789c897924b8267853973afab7f065eaf98a441d27aa14bb62b2560df1ea5a0 2025-11-23T21:57:09.035+01:00
2025-11-23T20:57:09.035Z - ERROR (node:2) Warning: Failed to load the ES module: /var/task/index.js. Make sure to set "type": "module" in the nearest package.json file or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
2025-11-23T20:57:09.035Z - ERROR (node:2) Warning: Failed to load the ES module: /var/task/index.js. Make sure to set "type": "module" in the nearest package.json file or use the .mjs extension. (Use `node --trace-warnings ...` to show where the warning was created) 2025-11-23T21:57:09.038+01:00 2025-11-23T20:57:09.038Z - ERROR Init Error {"errorType":"Runtime.UserCodeSyntaxError","errorMessage":"SyntaxError: Unexpected token 'export'","name":"Runtime.UserCodeSyntaxError","stack":["/var/task/index.js:1","export const handler = async(event) => {","^^^^^^","","SyntaxError: Unexpected token 'export'"," at wrapSafe (node:internal/modules/cjs/loader:1691:18)"," at Module._compile (node:internal/modules/cjs/loader:1734:20)"," at Object..js (node:internal/modules/cjs/loader:1893:10)"," at Module.load (node:internal/modules/cjs/loader:1480:32)"," at Module._load (node:internal/modules/cjs/loader:1299:12)"," at TracingChannel.traceSync (node:diagnostics_channel:328:14)"," at wrapModuleLoad (node:internal/modules/cjs/loader:244:24)"," at cjsLoader (node:internal/modules/esm/translators:342:5)"," at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:234:7)"," at ModuleJob.run (node:internal/modules/esm/module_job:377:25)"]}
Dann habe ich zurück gewechselt auf den generierten Code oben und habe die Items auf wenige Lampen reduziert, und siehe da
er hat sie gefunden und ich kann sie Ansteuern 😍.
Jetzt bin ich gerade dabei Stück für Stück meine Items zu suchen um die Fehlerhaften zu finden. Ich halte euch auf dem Laufenden.
Kleines Update: Teilweise hat er auch keine Neuen Items erkannt weil die neuen genauso hießen wie die Alten(Payload2). Auf die altem außer die in Routinen oder Gruppen habe ich aber aktuell gar kein Zugriff mehr in der App darum kann ich sie erstmals nicht löschen. Kennt da jemand eine Alternative evtl über die Developper Seite?
Viele Grüße
ChristianZuletzt geändert von Volzor; 23.11.2025, 23:42.
Einen Kommentar schreiben:
-
Hallo Volzor,
probier mal bitte folgende Lambda-Funktion unter NodeJs 24, ich konnte das nicht final testen (nur aus der Lambda raus).
Gerne Rückmeldung
Viele GrüßeCode:export const handler = async(event) => { try { console.log("event", event); var myHeader = { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + Buffer.from(process.env.SMARTHOME_AUTH, "utf-8").toString("base64"), 'Content-Length': Buffer.byteLength(JSON.stringify(event)) } var myUrl = "https://" + process.env.SMARTHOME_HOST + ":" + process.env.SMARTHOME_PORT + process.env.SMARTHOME_PATH console.log(myUrl) const response = await fetch(myUrl, { method: 'POST', headers : myHeader, body: JSON.stringify(event) }); const data = await response.json(); console.log(data); if (response.status == 200) { return { statusCode: response.statusCode, body: JSON.stringify(data), }; } else { return { statusCode: response.statusCode, body: response.text() }; } } catch (error) { console.error(error); return { statusCode: 500, body: JSON.stringify(error), }; } }
Andre
Einen Kommentar schreiben:
-
Hallo zusammen,
ich habe es nach 5 Jahren jetzt doch nochmal gewagt auf Payload V3 umzustellen und hänge jetzt kurz vor dem Ziel. Zunächst habe ich versucht auf nodejs24.x umzustellen gab aber Fehler Jetzt habe ich den bisherigen nodejs24.x wieder verwendet Die neue Testroutine hat
Daher scheint die Verbindung Lambda smarthome zu klappen, leider findet er keine neuen Geräte in der App gibt es da neuen Quellcode für die Lamda Funktion der alte lässt sich nämlich auch nicht mehr kompilierenCode:version":"3"},{"type":"AlexaInterface","interface":"Alexa.EndpointHealth","version":"3","properties":{"supported":[{"name":"connectivity"}],"proactivelyReported":false,"retrievable":true}},{"type":"AlexaInterface","interface":"Alexa.RangeController","version":"3","properties":{"supported":[{"name":"rangeValue"}],"proactivelyReported":false,"retrievable":true},"instance":"cfg_rollo_west-alias1","capabilityResources":{"friendlyNames":[{"@type":"asset","value":{"assetId":"Alexa.Setting.Opening"}}]},"configuration":{"supportedRange":{"minimumValue":0,"maximumValue":100,"precision":1},"unitOfMeasure":"Alexa.Unit.Percent"},"semantics":{"actionMappings":[{"@type":"ActionsToDirective","actions":["Alexa.Actions.Close"],"directive":{"name":"SetRangeValue","payload":{"rangeValue":100}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Open"],"directive":{"name":"SetRangeValue","payload":{"rangeValue":0}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Lower"],"directive":{"name":"AdjustRangeValue","payload":{"rangeValueDelta":20,"rangeValueDeltaDefault":false}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Raise"],"directive":{"name":"AdjustRangeValue","payload":{"rangeValueDelta":-20,"rangeValueDeltaDefault":false}}}],"stateMappings":[{"@type":"StatesToValue","states":["Alexa.States.Closed"],"value":0},{"@type":"StatesToRange","states":["Alexa.States.Open"],"range":{"minimumValue":1,"maximumValue":100}}]}}]},{"endpointId":"cfg_rollo_west-alias2","friendlyName":"Westrollos","description":"Rolllaeden West by SmartHomeNG","manufacturerName":"SmarthomeNG","displayCategories":["EXTERIOR_BLIND"],"cookie":{"extraDetail1":"config.beschattung.rollowest.pos"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa","version":"3"},{"type":"AlexaInterface","interface":"Alexa.EndpointHealth","version":"3","properties":{"supported":[{"name":"connectivity"}],"proactivelyReported":false,"retrievable":true}},{"type":"AlexaInterface","interface":"Alexa.RangeController","version":"3","properties":{"supported":[{"name":"rangeValue"}],"proactivelyReported":false,"retrievable":true},"instance":"cfg_rollo_west-alias2","capabilityResources":{"friendlyNames":[{"@type":"asset","value":{"assetId":"Alexa.Setting.Opening"}}]},"configuration":{"supportedRange":{"minimumValue":0,"maximumValue":100,"precision":1},"unitOfMeasure":"Alexa.Unit.Percent"},"semantics":{"actionMappings":[{"@type":"ActionsToDirective","actions":["Alexa.Actions.Close"],"directive":{"name":"SetRangeValue","payload":{"rangeValue":100}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Open"],"directive":{"name":"SetRangeValue","payload":{"rangeValue":0}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Lower"],"directive":{"name":"AdjustRangeValue","payload":{"rangeValueDelta":20,"rangeValueDeltaDefault":false}}},{"@type":"ActionsToDirective","actions":["Alexa.Actions.Raise"],"directive":{"name":"AdjustRangeValue","payload":{"rangeValueDelta":-20,"rangeValueDeltaDefault":false}}}],"stateMappings":[{"@type":"StatesToValue","states":["Alexa.States.Closed"],"value":0},{"@type":"StatesToRange","states":["Alexa.States.Open"],"range":{"minimumValue":1,"maximumValue":100}}]}}]},{"endpointId":"cfg_lamellen_west-alias1","friendlyName":"Westlamellen","description":"Lamellenverstellung West in Prozent by SmartHomeNG","manufacturerName":"SmarthomeNG","displayCategories":[],"cookie":{"extraDetail1":"config.beschattung.lamellenwest.blindpos"},"capabilities":[{"type":"AlexaInterface","interface":"Alexa","version":"3"},{"type":"AlexaInterface","interface":"Alexa.EndpointHealth","version":"3","properties":{"supported":[{"name":"connectivity"}],"proactivelyReported":false,"retrievable":true}},{"type":"AlexaInterface","interface":"Alexa.RangeController","version":"3","properties":{"supported":[{"name":"rangeValue"}],"proactivelyReported":false,"retrievable":false}}]}]}}} END RequestId: 54292e62-776d-44f0-8e7e-2ba4ee6e46f7 REPORT RequestId: 54292e62-776d-44f0-8e7e-2ba4ee6e46f7 Duration: 301.30 ms Billed Duration: 302 ms Memory Size: 512 MB Max Memory Used: 61 MB
Hat da jemand aktuell mal mit zu tun gehabt ?
Kleines Update: Ich habe ChatGPT gebeten das alte Script auf Nodejs24.x umzubauen
Der hat dann folgendes Log geworfen , dh die Request von Alexa geht durch und die Verbindung zu Smarthome steht auchCode:const https = require('https'); exports.handler = async (event) => { const data = JSON.stringify(event); const options = { hostname: process.env.SMARTHOME_HOST, port: process.env.SMARTHOME_PORT, path: process.env.SMARTHOME_PATH, method: 'POST', auth: process.env.SMARTHOME_AUTH, headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(data) // <-- korrigiert } }; console.log("requesting", data); try { const responseData = await new Promise((resolve, reject) => { const req = https.request(options, (res) => { console.log(`HTTP ${res.statusCode}`); let body = ''; res.setEncoding('utf8'); res.on('data', (chunk) => { body += chunk; }); res.on('end', () => { console.log("raw response:", body); resolve({ statusCode: res.statusCode, body }); }); }); req.on('error', (err) => { console.error("request failed", err); reject(err); }); req.write(data); req.end(); }); const parsed = JSON.parse(responseData.body); if (responseData.statusCode === 200) { console.info("OK", JSON.stringify(parsed)); return parsed; } else { console.error("Failed", JSON.stringify(parsed)); throw new Error("DependentServiceUnavailableError"); } } catch (err) { console.error("Error:", err); throw err; } };
er kann das Ganze aber nicht verarbeiten sonst würden die neuen Geräte in Alexa angezeigt ....
Viele Grüße ChristianHTML-Code:[TD]2025-11-21T21:26:31.221+01:00[/TD] [TD]2025-11-21T20:26:31.221Z - INFO raw response: {"event": {"header": {"namespace": "Alexa.Discovery", "name": "Discover.Response", "payloadVersion": "3", "messageId": "60f05652d2014849bd07570aaf25722b"}, "payload": {"endpoints": [{"endpointId": "config_lueftung", "friendlyName": "L\u00fcftung", "description": "L\u00fcftungsturbo f\u00fcr 5 min by SmartHomeNG", "manufacturerName": "SmarthomeNG", "displayCategories": ["OTHER"], "cookie": {"extraDetail1": "config.HeizungLueftung.Lueftung"}, "capabilities": [{"type": "AlexaInterface", "interface": "Alexa", "version": "3"}, {"type": "AlexaInterface", "interface": "Alexa.EndpointHealth", "version": "3", "properties": {"supported": [{"name": "connectivity"}], "proactivelyReported": false, "retrievable": true}}, {"type": "AlexaInterface", "interface": "Alexa.PowerController", "version": "3", "properties": {"supported": [{"name": "powerState"}], "proactivelyReported": false, "retrievable": true}}]}, {"endpointId": "cfg_rollo_eg", "friendlyName": "Rolll\u00e4den Erdgeschoss", "description": "Rolllaeden EG in Prozent by SmartHomeNG", "manufacturerName": "SmarthomeNG", "displayCategories": ["EXTERIOR_BLIND"], "cookie": {"extraDetail1": "config.beschattung.rolloeg.pos"}, "capabilities": [{"type": "AlexaInterface", "interface": "Alexa", "version": "3"}, {"type": "AlexaInterface", "interface": "Alexa.EndpointHealth", "version": "3", "properties": {"supported": [{"name": "connectivity"}], "proactivelyReported": false, "retrievable": true}}, {"type": "AlexaInterface", "interface": "Alexa.RangeController", "version": "3", "properties": {"supported": [{"name": "rangeValue"}], "proactivelyReported": false, "retrievable": true}, "instance": "cfg_rollo_eg", "capabilityResources": {"friendlyNames": [{"@type": "asset", "value": {"assetId": "Alexa.Setting.Opening"}}]}, "configuration": {"supportedRange": {"minimumValue": 0, "maximumValue": 100, "precision": 1},[/TD]Zuletzt geändert von Volzor; 21.11.2025, 22:19.
Einen Kommentar schreiben:
-
Hallo Jürgen,
das alexa4p3-plugin kann bereits Payload Version 3 (dafür steht 4p3). Im Web-Interface des Plugins kannst du rechts oben sehen ob noch Geräte mit Payload V2 definiert sind (used actions .....). Es wird auch noch Payload V2 unterstützt.
Ich meine der Skill in der AWS-Cloud muss auf V3 eingerichtet sein, bin aber nicht sicher, muss ich prüfen.
Viele Grüße
Andre
Einen Kommentar schreiben:
-
Hallo,
hat das Auswirkungen für uns? Ich kann mich schwach erinnern, dass ich in den Amazon Settings mal einen Skill umgestellt habe...
https://knx-user-forum.de/forum/%C3%...gek%C3%BCndigt
Gruß Jürgen
Einen Kommentar schreiben:
-
Bekomme ich auch jeden Monat. Ist für den Steuernachweis weil man ja ein Business Konto eröffnet hat. Da du ja aber nichts umsetzt, wird es immer bei Null bleiben;-)
Einen Kommentar schreiben:
-
Rechnung von Amazon
Hallo,
ich habe letzte Woche erstmals eine Rechnung von Amazon für das Cloud Geraffel bekommen: 0 Euro.
Nun habe ich letzten Monat auch den Mail Hoster geändert und meine Filter Regeln waren alle weg.
Sind die bisherigen Rechnungen im Spamschredder gelandet, oder ist das wirklich neu?
Grundsätzlich müsste man ja mal die Kartendaten aktualisieren, hat das schon jemand gemacht?
Gruß Jürgen
Einen Kommentar schreiben:
-
Hallo, ich musste bei mir nach einem SSD Crash alles neu machen. Jetzt kommt Alexa irgendwie nicht mehr durch nginx. kann sich diese Fehlermeldung jemand erklären. Oder mir einen Ansatz sagen wo ich hier suchen muss?
Grüße, MarcCode:2025/02/15 13:19:02 [error] 691#691: *29 access forbidden by rule, client: 34.XXX.XXX.XXX, server: smarthomeng, request: "POST /alexa/ HTTP/1.1", host> Feb 15 13:19:02 SmartHomeNG nginx[691]: 34.XXX.XXX.XXX forwarded for - - Request: "POST /alexa/ HTTP/1.1" - Status: 403 - Bytes sent: 146 Referrer: "-" - User Agent: "-"
EDIT: Habs noch hinbekommen... in der https.conf muss bei Alexa auch das basic auth einkommentiert werden.
Code:auth_basic "Restricted Area: Alexa"; auth_basic_user_file /etc/nginx/.alexa;
Zuletzt geändert von schuma; 15.02.2025, 13:56.
Einen Kommentar schreiben:
-
Hehe
Nee, das Geld geht an myonlineportal
Die haben dafür auch nen super Service.
Einen Kommentar schreiben:
-
Hallo Hendrik,Zitat von henfri Beitrag anzeigenHallo,
ja, ich kann dazu gerne Fragen beantworten.
Kostet auch, aber sehr kleines Geld.
Gruß,
Hendrik
Was nimmst Du denn für die Antworten?
Gruß Jürgen
- Likes 1
Einen Kommentar schreiben:
-
Hallo,
ja, ich kann dazu gerne Fragen beantworten.
Kostet auch, aber sehr kleines Geld.
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Hi Rene,
die VPN-Lösung in der AWS kann soweit ich weiß kein IpV6. Auf der Seite (https://docs.aws.amazon.com/vpn/late...n/VPC_VPN.html) steht :
Ich hatte mal einen Versuch mit einem "eigenen Server" in der AWS-Welt (EC2-Instance) gemacht, das ging kostet aber monatlich
AWS-VPN-Limitations.png
Ich habe mich damit auch schon beschäftigt da eventuell ein Wechsel zu Glasfaser mit Dual-Stack-Lite bevorsteht. Eine Möglichkeit könnte Cloudflare sein, Henfri hatte das
in der Vergangenheit schon mittels "Portmapper" gelöst. An Details kann ich mich aber nicht mehr erinnern. (https://myonlineportal.net/)
Viele Grüße
Andre
Einen Kommentar schreiben:
-
Hat jemand das Plugin bzw die Lambdafunktion schon via VPN angebunden? Mit unserem IPv6 Glasfaser Anschluß will ich das alles nicht mehr so richtig, vielleicht gibt es ja wirklich eine sichere (?) Lösung via VPN? Also wie hier auch gefragt: https://stackoverflow.com/questions/...tion-to-my-vpn
Einen Kommentar schreiben:
-
Hallo...
"xyz reagiert nicht"
Kennt Ihr das?
Grundsätzlich ist die Funktion von manchen Items noch da, viele, die aber bisher funktionierten, sind plötzlich offline.
Ich hab noch nicht weiter nach der Ursache gesucht, ist aber erstmal komisch...
Edith hatte mal Zeit sich zu kümmern: SHNG reagierte nicht mehr, nach einem Stromausfall nicht mehr richtig gestartet.
Tut wieder.
Gruß JürgenZuletzt geändert von Jürgen; 15.11.2023, 11:15.
Einen Kommentar schreiben:


Einen Kommentar schreiben: