Homey Web App (Soon)

Hi Uwe,
HomeyScript ist eigentlich nicht so schwer. Du brauchtst nur JavaScript-Kenntnisse und musst in der Homey-API-Beschreibung wĂŒhlen :grin:

Hier mal ein Beispiel. Ich prĂŒfe damit mehrere Fenster und gebe einen Text zurĂŒck, der ĂŒber Alexa ausgegeben wird. Der Flow ist als Favorit gespeichert und kann so direkt ĂŒber Alexa aufgerufen werden.
Die Sktipte kann man als Flow-Bedingung verwenden (true/false-RĂŒckgabe). Viel besser ist aber, dass man auch Flow-Tags erzeugen, im Skript fĂŒllen und im Flow weiter verwenden kann.

Das Skript:
grafik

// FensterprĂŒfung
let devices = await Homey.devices.getDevices();
let windowText = “”;
let currentText = “”;
let logText = “”;
let windowOpen = false;
_.some(devices, device => {
if(device.class == ‘sensor’)
{
if( device.capabilitiesObj &&
device.capabilitiesObj.alarm_contact &&
device.capabilitiesObj.alarm_contact.value )
{
currentText = “”;
if( device.name == “Fenster GĂ€stezimmer”)
currentText = “GĂ€stezimmer”;
if( device.name == “Fenster BĂŒro”)
currentText = “BĂŒro”;
if( device.name == “TerrassentĂŒr”)
currentText = “Wohnzimmer”;
if( device.name == “Fenster KĂŒche”)
currentText = “KĂŒche”;
if( device.name == “Fenster Schlafzimmer”)
currentText = “Schlafzimmer”;
if( device.name == “Fenster Jugendzimmer”)
currentText = “Jugendzimmer”;
if(currentText != “”){
windowOpen = true;
if(windowText==“”)
windowText = currentText;
else
windowText = windowText + ", " + currentText;
}
}
}
});
if(windowOpen == true)
windowText = "Fenster geöffnet: " + windowText;
else
windowText = “Fenster geschlossen”;
console.log(windowText);
//Homey.logic.updateVariable( id = “Fensterpruefung”, variable=windowText);
await tag(“windowText”, windowText );
return windowOpen;

Der Returnwert windowOpen ist die RĂŒckgabe fĂŒr die Flow-AND-PrĂŒfung.
Mit “await tag( )” kann man ein Tag erzeugen. “windowText” ist der Name des Tags, den man im Flow verwenden kann.

Der Flow mit dem Skript-Aufruf. In den Benachrichtigungen kann der im Skript definierte Tag “windowText” verwendet werden.