Hehe 
Nee, das Geld geht an myonlineportal
Die haben dafür auch nen super Service.

Nee, das Geld geht an myonlineportal
Die haben dafür auch nen super Service.
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: "-"
auth_basic "Restricted Area: Alexa"; auth_basic_user_file /etc/nginx/.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-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
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;
}
};
[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]
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),
};
}
}
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)"]}
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.


Kommentar