Mars Warrior schreef op dinsdag 27 augustus 2019 @ 17:04:
[...]
Ik heb al vaker wat commentaar geleverd - ook hier in dit topic - over de breaking changes die ontwikkelaars blijkbaar heel normaal vinden en te pas en te onpas gebruiken, zonder - zo lijkt het - ook maar 1 seconde zich druk te maken over de gevolgen voor de gebruikers.
Hier zit een verstopte variabele in. Core ontwikkelaars doen de reviews en niemand houdt in de gaten wat de user impact is voor wijzigingen die
advanced users raken.
Ik heb dat ook een keer - onder een ander Github pseudoniem - in een architectuur discussie gemeld, maar de reacties zijn in beide gevallen niet echt positief: het is nodig, ik weet niet waar ik het over heb en we werken hard, etc...
Er zitten flink wat onderkoningen in het project… Dat is bij zo'n project ook essentieel – je hebt de mankracht niet om alles zelf in de gaten te houden en veel mensen hebben hier geen zin in.
De administrator van het project is pragmatisch. Van de andere hass.io dev en een aantal van de mensen die prominent aanwezig zijn in de issue tracker zie ik deze kwaliteit minder.
Sub-attributes met een hulpsensor is voor mij echt een anti-patroon. De inherente ontwerpfout is dat er geen relatie (lijkt?) te zijn tussen instanties van componenten en de gemeten waarden die in de state machine zitten.
Wat nog wel eens werk in de discussies daar is óf refereren naar toegankelijke computer science theorie (het is niet genormaliseerd datamodel, dat is redundantie).
Of dat het een ontwerpfout is: RestoreEntity is misschien voor bepaalde entities die afwijken nodig, maar states restoren is een zinvolle default/shared concern.
Soms werkt dat ook tegen discussies: met last_changed zou je ook updates die later binnen komen alsnog kunnen observeren, maar men lijkt zowel een last_changed als een last_updated te willen hebben die monotoon oplopen (over alle componenten heen).
Wederom, redundantie in datamodelVoordat we versie 1 zien die de versie 1 tag verdient zullen we eerst 0.99.137 gehad moeten hebben. Ga maar na, wat zijn sinds ~0.88/0.91 nou echt updates geweest waarvan je denkt "wow!" Het is vreemd want aan de ene kant hebben ze die robuuste visie, maar aan de andere kant zitten er fundamentele wanontwerpen in die niet aangepakt worden. Maar van problemen ga je dus weinig last hebben als je aan de GUI-kant blijft zitten en/of het niet te complex maakt, óf zelf met Python aan de gang gaat.
Prioriteiten. Stabiel krijgen en wegnemen van issues met user impact lijkt de prioriteit over features op het moment. Als dit er voor zorgt dat er binnenkort minder componenten breken is dat ontzettend goed.
offtopic:
Overigens zie ik het groeiende gebruik van HACS, wat niet door het project zelf aangeraden wordt, terwijl men wel focust op 'gebruik maar custom components' als een soort van fork.
En over die 'gebruik maar custom components' houding: Dat is een non sequitur/maakt de gevallen waar in je het wel accepteert dat iets in een core component zit special pleading, maar dat ziet men niet.
Daarnaast wordt er veel development tijd in een bizar deployment mechanisme gestoken. Hass.io met binary wheels geeft mij nul waarde als docker gebruiker terwijl er ontzettend veel tijd in gaat.