Heb het scrpit nu werkend. Wel aardig verbouwd met behulp van ChatGPT. Het adres wordt nu geplaatst in de Variabele VolledigadresCamper.
Volgens mnij is de fout in het eerdere script dat Nominatim verplkicht stelt dat er een header wordt meegegeven. Doe ik dit niet dan wordt er geen data gestuurd
const latitude = args[0].split(“,”)[0];
const longitude = args[0].split(“,”)[1];
// Header verplicht voor Nominatim
const headers = {
“User-Agent”: “HomeyScript-Paul/1.0”
};
const url = `https://nominatim.openstreetmap.org/reverse?format=json&lat=${latitude}&lon=${longitude}\`;
// Asynchrone functie om alles te doen
async function updateVolledigAdres() {
try {
// Nominatim API oproepen
const response = await fetch(url, { headers });
const data = await response.json();
if (!data.display_name) {
throw new Error(“Geen volledig adres gevonden.”);
}
const volledigAdres = data.display_name;
console.log("Volledig adres ontvangen:", volledigAdres);
// Haal alle Homey logic variables op
const variables = await Homey.logic.getVariables();
const VolledigadresCamper = Object.values(variables).find(variable => variable.name === ‘VolledigadresCamper’);
if (VolledigadresCamper) {
// Variabele bijwerken
await Homey.logic.updateVariable({
id: VolledigadresCamper.id,
variable: {
value: volledigAdres
}
});
console.log("Variabele 'VolledigadresCamper' bijgewerkt.");
} else {
console.error("Variabele 'VolledigadresCamper' niet gevonden.");
}
// Return het adres voor debug / Flow gebruik
return { VolledigadresCamper: volledigAdres };
} catch (err) {
console.error("Fout:", err.message);
return { fout: err.message };
}
}
// Voer de async functie uit en wacht op resultaat
return await updateVolledigAdres();