Dag Homey’s , hier een beginner.
Ik probeer op advies van https://homeycornelisse.nl/diy-maak-shortcuts-widgets-voor-ios/ een shortcut te maken op mijn iphone.
Is het iemand wel gelukt? en kan deze mij een tip geven
Dag Homey’s , hier een beginner.
Ik probeer op advies van https://homeycornelisse.nl/diy-maak-shortcuts-widgets-voor-ios/ een shortcut te maken op mijn iphone.
Is het iemand wel gelukt? en kan deze mij een tip geven
Zeker is het gelukt. In de opdrachtenapp maak je een opdracht aan met ‘Haal inhoud van URL op’. Hier geef je dan de url https://xyz.connect.athom.com/api/manager/logic/webhook/commando
Xyz is de code van jouw homey, op te zoeken via de developers site.
Commando is het commando dat je aan homey wil doorgeven (zie hieronder)
Let op: als je in het commando spaties hebt staan moeten die hierboven vervangen worden door %20.
In Homey maak je een flow met als trigger ‘webhook ontvangen’ en geef je daar het commando op dat hierboven is gebruikt.
Zo simpel is het. De tutorial die hierboven staat vond ik nodeloos ingewikkeld.
Het zou nog wel gaaf zijn als Homey iets terug kan sturen naar de shortcut op iPhone. Is dat mogelijk?
Ikbweet biet of dat mogelijk is. Zie ook niet direct een toepassing daarvoor. Wat wil je doen?
Weet ik ook niet. Denk bijvoorbeeld aan het terugkoppelen van variabelen of andere gecombineerde zaken (tekst, waarden, etc). Of de status nadat je een commando hebt gegeven.
Ik heb de nieuwe Homey zonder mic. En gebruik ook geen Google.
Het verzoek is eigenlijk 2 delen:
Volgens mij kan dat niet.
En wat niet, 1 of 2?
Ik zou me voor kunnen stellen dat punt 1 ook afhankelijk is van de functionaliteit in bijvoorbeeld Shortcuts. Of een ander systeem.
Volgens mij kan Homey niks terugsturen naar de opdrachtenapp onder ios. Is one-way.
Wat je wel kunt doen is dat je vanuit Telegram commando’s kunt geven aan de Homey en Homey kan dan een reactie terugsturen naar datzelfde kanaal. Is wel even wat programmeren in HomeyScript voor nodig maar dat kan werken.
Even wat… of flink wat?
Niet erg veel. Zijn wat basic-javascript commando’s. Wat je kunt doen is:
Thanks. Ik ga op zoek naar wat tutorials. Ik ben geen JS held
Ben ik ook niet. W3schools.com heeft me enorm verder geholpen. Ik heb mijn archief nog eens nagekeken en daarin onderstaand script gevonden dat ik destijds gebouwd heb. Gebruik het niet meer maar misschien geeft t je wat inspiratie. De homeyflows die ik hierbij gebruikte heb ik helaas niet meer.
// INPUT
// <commando_volledig>: string waarin commando en waarde is opgesloten
// OUTPUT
// : feitelijke commando
// : parameter
// <commando_resultaat>: resultaat uitgevoerde commando
try {
//args[0] = “Dim keuken: 65” // tbv testen
if (args.length == 0 || args[0] == "") {
console.log("Geen argument(en)")
return true
}
else {
var newline = "\r\n"
var commando_volledig = args[0].trim()
var commando = ""
var waarde = 0
var commando_resultaat = ""
// splitsen commando_volledig in commando en waarde
if (commando_volledig.indexOf(":") == -1) {
commando = commando_volledig
}
else {
commando = commando_volledig.substr(0, commando_volledig.indexOf(":") + 1);
waarde = Number(commando_volledig.substr(commando_volledig.indexOf(":") + 2, commando_volledig.length - commando_volledig.indexOf(":") - 2));
//console.log(waarde)
}
switch (commando) {
case "Help":
commando_resultaat = "Beschikbare commando\'s:"
commando_resultaat = commando_resultaat
commando_resultaat = commando_resultaat + newline + newline + "Help"
commando_resultaat = commando_resultaat + newline + "Dim keuken: <waarde in %>"
commando_resultaat = commando_resultaat + newline + "Max vol play1: <waarde in %>"
commando_resultaat = commando_resultaat + newline + "Max vol play3: <waarde in %>"
commando_resultaat = commando_resultaat + newline + "Max vol soundbar: <waarde in %>"
commando_resultaat = commando_resultaat + newline + "Voordeur reactietijd: <waarde in sec>"
break;
case "Dim keuken:":
if (waarde < 0 || waarde > 100 || isNaN(waarde)) {
waarde = -1
commando_resultaat = "Je hebt geen percentage opgegeven"
break;
}
else {
commando_resultaat = "<Dimwaarde spotjes> aangepast naar: " + waarde + "%"
waarde = waarde / 100
break;
}
case "Max vol play1:":
if (waarde < 0 || waarde > 100 || isNaN(waarde)) {
waarde = -1
commando_resultaat = "Je hebt geen percentage opgegeven"
break;
}
else {
commando_resultaat = "<Max vol Play:1> aangepast naar: " + waarde + "%"
waarde = waarde / 100
break;
}
case "Max vol play3:":
if (waarde < 0 || waarde > 100 || isNaN(waarde)) {
waarde = -1
commando_resultaat = "Je hebt geen percentage opgegeven"
break;
}
else {
commando_resultaat = "<Max vol Play:3> aangepast naar: " + waarde + "%"
waarde = waarde / 100
break;
}
case "Max vol soundbar:":
if (waarde < 0 || waarde > 100 || isNaN(waarde)) {
waarde = -1
commando_resultaat = "Je hebt geen percentage opgegeven"
break;
}
else {
commando_resultaat = "<Max vol Soundbar> aangepast naar: " + waarde + "%"
waarde = waarde / 100
break;
}
case "Voordeur reactietijd:":
if (waarde < 0 || isNaN(waarde)) {
waarde = -1
commando_resultaat = "Je hebt geen aantal seconden opgegeven"
break;
}
else {
commando_resultaat = "<Voordeur reactietijd (sec)> aangepast naar: " + waarde + " sec."
break
}
default:
waarde = -1
//console.log(commando)
commando_resultaat = "Onbekend commando. Gebruik Help voor lijst met commando\'s"
}
console.log(commando_resultaat)
console.log(commando)
console.log(waarde)
setTagValue("commando_resultaat", { type: "string", title: "Commando resultaat" }, commando_resultaat)
setTagValue("commando", { type: "string", title: "Commando" }, commando)
setTagValue("waarde", { type: "number", title: "Waarde" }, waarde)
return true
}
}
catch (error) {
console.log(error)
return false
}