Ter evaluatie/verbetering/efficientie : Flow voor openen en sluiten Zonwering, met KNMI, Zonnepanelen en Buienradar

Ik heb een flow gemaakt die automatisch de zonwering van de serre op het Noordwesten moet openen en sluiten.

Openen : Bij zon, dmv gegevens uit de KNMI app, de Buienradar app en de opbrengst van de zonnepanelen.

Sluiten : Bij harde wind, regen en bij slecht weer.

De flow is verdeeld in 2 delen :
Bij openen 1 trigger en verschillende voorwaarden in serie, voor het sluiten 5 evt triggers en elk een enkele voorwaarde.

Graag advies of iets beter of effectiever kan, en of ik wellicht ergens iets onlogisch in de flow heb gezet.

Ik ben net een maand bezig met Homey en zal vast nog wel een hoop moeten leren :grinning:

Laat maar, inmiddels helemaal op de schop gegooid.

Je kan bovenstaande berichten verwijderen als je wilt.

En ik zou zelf alles uitschrijven in simpele tekst, bv
Het scherm moet omhoog wanneer

  1. Het stormt
  2. Het regent
  3. De zon niet schijnt
  4. Het gaat stormen

En dan per item een flow maken. Dan krijg je een duidelijk begin en eind per item. En kun je de flow van links naar rechts lezen. Alle voorwaarden onder elkaar en naar een All kaart. Paralle acties kunnen ook na elkaar. Het scherm waarop je kan tekening is best groot, je kunt namelijk scrollen. Dan heb je misschien wel stukjes flow dubbel, maar maakt het een stukje overzichtelijker doordat je niet alles met alles combineert. Anders wordt het al letterlijk “spaghetti code” zoals je ziet :wink: Dat alles natuurlijk naar eigen voorkeur.

Die rode/gele lijnen worden gevolgd als de voorwaarde niet waar is. Is dat de bedoeling?

  • Rood en gele lijnen was idd de bedoeling, maar de rode zijn er al uit. Asl de KNMI app een error geeft gaat naw de trigger (ook KNMI) toch niet geactiveerd worden.

  • ANY had ik voor ipv na de voorwaarden gezet :roll_eyes:

  • Ik wil de flow op 1 scherm kunnen zien, zonder te scrollen.

  • die Spagetti heb ik met een paar ANY kaarten weg kunnen werken, dat stond me idd erg tegen…

Dus is het nu onderstaande geworden ;


Je bent me voor.

ik heb zoiets verzonnen. Daarbij geef ik elke flow een eigen naam, dus een eigen scherm, dan kun je namelijk elke flow apart disablen.

ik zie nu al een verschil in interpretatie van weeralarm codes. :wink:

1 Like

Nice, mooi overzichtelijk. Mij werdt het gebruik van een ALL afgeraden overigens vanwege piekbelasting van de CPU. En als het niet tussen Mei en Aug. is is de rest van de checks overbodig.

Ik heb nog een ‘als Vermogen(productie) kleiner is dan 300W’ toegevoegd voor het omhooghalen van de zonwering. Als er geen zon is, had ik helemaal niet aan gedacht.

Mijn stelling is dat je pas moet gaan optimaliseren naar performance als je performance problemen hebt :wink: leesbaarheid gaat voor, vooral ook als je de code/flow wilt delen met anderen.

Moet die ANY achter de de 3 weeralarmen geen ALL zijn?

Je kunt vanuit een flow een andere flow aanroepen. Dan krijg je een soort subroutines, maar heb ik nog geen ervaring mee.

Zit wat in, maar ik heb vooralsnog een 2dehands Homey Pro 2019…

Bij ‘Zonwering gaat open’ ? Ja, zit wat in, want als ‘geen code geel’ gaat 'ie nu open als het code rood is :stuck_out_tongue_closed_eyes:

En dan zeg je iets over leesbaarheid ? :wink: Moet je meerdere flows openen om te zien wat er gebeurt…

Bij ‘Zonwering gaat dicht’ alle ANY vervangen door ‘Status is omlaag’ anders probeert 'ie een scherm omhoog te halen wat al omhoog staat. Met de bijbehorende tijdlijnmelding dat het scherm dichtgaat vandien :innocent:

Stel je hebt een vrij veel kaartjes nodig om te bepalen of zonnescherm in de woonkamer omhoog moet. Dan heb je een flow “Moet zonnescherm in woonkamer omhoog” die als uitkomst heeft Ja/Nee. Die flow gebruik je dan in de algemene flow “Zonneschermen. In die algemene flow weet je precies wat die subflow doet, namelijk bepalen of het zonnescherm wel of niet omhoog moet. Dat maakt die algemene flow overzichtelijker. Pas als je geïnteresseerd ben in hoe die subflow werkt, open je die. Het is precies het zelfde als dat je ook niet de code van de apps opent om te kijken wat er gebeurd. Programma’s zitten boordevol subroutines/subflows. En ja, die moeten duidelijk aangeven wat ze doen en hoe ze gebruikt moeten worden. Daarom is duidelijke documentatie noodzakelijk. En dat je zo’n (sub)programmaatje zijn werk goed doet.

Ik begrijp het idee erachter wel, ik zie persoonlijk alleen nog even geen toepassing op dit moment.
'k weet dat het kan, en daar hou ik het voorlopig even bij. Mijn begrip voor zaken groeit meestal mee met wat ik werkelijk nodig heb.

Begrijp ik. Gewoon misschien een tip/advies voor als je flows niet meer op een scherm (inclusief scrollen) passen. :wink:

Mag ik even een zijdelingse vraag stellen? Ik krijg al die kaartjes van de KNMI-app niet te zien. De API-sleutel invoeren doet ook niets. Is die app nog bruikbaar of ligt het aan mij?
Als ik deze vraag beter in een andere actieve post kan plaatsen, dan hoor ik het graag!

Je krijgt meer kaartjes te zien als je een device aanmaakt. Dus gewoon in de tab een device toevoegen en dan de app kiezen.
Probeer anders deze app, die heeft geen key nodig : KNMI App voor Homey | Homey

Die andere app werkt beter. Dank voor de tip!

De App die Rmb aangeeft is ook de app die ik gebruik en waar dit draadje over gaat.

Dat er 3 apps zijn is inderdaad wel verwarrend…