Is er een mogelijkheid om te togglen voor lampen in een flow?
Ik wil graag een knop waarvan als ik hem indruk dat de lampen in de kamer aan of uit gaan. Nu is het enkel zover ik zie mogelijk om of aan of uit te selecteren. Tenzei ik een specieke lamp pak of een groep maak met een externe app, maar als ik dat laatste wil doen moet ik rekening houden als ik een nieuwe lamp erbij heb dat ik die ook weer in een special groep moet toevoegen.
Ik heb geprobeerd met chatgpt
maar dit lukt niet, sommige lampen staan uit en worden dan niet geskipt en dan duurt het enorm lang om om het script te runnen en voor mijn gevoel skipt die lampen
// Stel de ruimte in waarin je de lampen wilt toggelen
const roomName = 'Woonkamer'; // Pas dit aan naar de gewenste ruimte
// Haal alle zones (ruimtes) op
const zones = await Homey.zones.getZones();
// Zoek naar de juiste zone op basis van de naam
const zone = Object.values(zones).find(zone => zone.name.toLowerCase() === roomName.toLowerCase());
if (!zone) {
return console.log(`Zone met de naam "${roomName}" niet gevonden.`);
}
// Haal alle apparaten op
const devices = await Homey.devices.getDevices();
// Loop door alle apparaten en toggle alleen lampen in de juiste zone
for (const device of Object.values(devices)) {
if (device.class === 'light' && device.zone === zone.id) {
const onoff = device.capabilitiesObj.onoff.value;
await device.setCapabilityValue('onoff', !onoff);
console.log(`✅ Toggled ${device.name} in ${roomName}`);
}
}
Bedankt voor je snelle reactie, maar ik heb 0 coding skills wat dit betreft. Ik moet het echt doen met de community die mij hiermee willen helpen met een final code.
Er van uitgaande dat lamp1 in zone1 zit, zal lamp1 aan zijn als je de lampen in zone1 aanzet. Dus het kan niet voor komen dat lamp1 uit is wanneer de overige aan staan.
Gaan bij jou alle lampen wel aan of uit als je alle lampen in een zone aan of uit zet?
Anders een boolean variabele gebruiken ipv de status van lamp1.
Anders
Dat zou je volgens mij voor moeten dragen in de ideeënbus (posten in categorie "Ideeën en Suggesties”)
Of:
Je kunt aan Device Capabilities app maker Arie vragen of hij een kaart of optie wil/kan toevoegen, met ‘Toggle’ in plaats van enkel Ja of Nee voor capability Yes/No.
Dan kun je een gehele zone ‘togglen’
Even voor de duidelijkheid: Homey heeft geen optie om gedachten te lezen. Dus als er in een kamer bepaalde lampen aan kunnen staan en andere lampen uit, dan weet Homey niet wat jij wilt als je op de knop drukt. Moet die bepaalde lampen uitgezet worden? Of juist de andere lampen aan?
Als ik op de knop druk. Dan toggelen alle lampen in de zone aan
Of alle uit
En dan bedoel ik dus echt een zone. Dus niet een groep of iets anders. Want anders moet ik als ik een nieuwe lamp toevoeg aan de zone woonkamer bijvoorbeeld ook aan een groep deze lamp toevoegen.
In Homey taal is ‘togglen’ namelijk de status omdraaien: iets wat uitstaat aanzetten, en v.v.:
Dan heb je m.i. dus gewoon deze kaarten nodig, die ik al heb laten zien:
Deze zijn voor iedere zone beschikbaar.
Vervolgens kies je wat je aan of uit wil zetten:
Deze kaart zet bij mij dan alle lampen in de zone [1.1] Keuken aan.
MAAR
Dit gaat meestal goed tot maximaal 3 apparaten. Homey schakelt namelijk niet alles netjes vlak na elkaar aan/uit, maar tegelijk. Dan gaan er soms signalen verloren met onverwachte effecten.
Je zult voor zones met veel lampen toch lampgroepen moeten maken, dan kan met de Device Capabilities app, of de < Groep > app.
Deze schakelen alle apparaten in een groep wél vlak na elkaar aan/uit!
Ik zou het eerst even proberen, want je begon je vraag met dat de script niet werkte. En bij bij werkt het aan en uitzetten van een hele zone wel. Zal ook wel afhangen van welke apps en soorten schakelaars je gebruikt.
Daarnaast kun je de script zodanig aan(laten)passen dat alleen de lampen van de desbetreffende zone opgevraagd worden, en niet getoggled worden maar aan of uitgezet.