Pond[CTRL] Bug

Ontdekte bug: Bij het verzetten van de klok van winter- naar zomertijd werden alle stekkers uitgeschakeld. Na het herstart werkte alles weer naar behoren.

Pond[CTRL] Webinterface update

Voorjaar! Tijd om de UV-C lamp te vervangen. Tevens de eerste keer dat een apparaat, aangesloten op Pond[CTRL], vervangen wordt en de apparaatleeftijd gereset moest worden. Helaas kon dat nog niet via de webinterface.

Vanaf nu is de leeftijd te resetten via de Reset knop.

Pond[CTRL] Update 1335

Nieuw: schakelbare stekkers zijn nu schakelbaar op dag/nacht. In de gebruikersinterface kunnen GPS-coördinaten ingevuld worden waarop het schakelen gebaseerd wordt. Dit werkt alleen bij een actieve verbinding met de Pond[CTRL] servers. Wanneer de verbinding niet actief is, dan wordt de stekker uitgeschakeld.

Nieuwe instelling in de gebruikersinterface: ‘Location’
Nieuwe switch-modes: ‘On during daylight’ en ‘Off during daylight’.
Nieuw resultaat van een /get-aanvraag, met daarin nieuwe parameters ‘day’, ‘latitude’ en ‘longitude’.

Pond[CTRL] Update 1327

Bugfix: opslaan van stekkerinstellingen overschreven andere instellingen in het geheugen.

Nieuw: volledig werkende apparaatleeftijdregistratie waarbij weergave / instellingen nog niet werken via de gebruikersinterface.

Pond[CTRL] Update 1303

Bugfix: voederpauze was volgens de webinterface na elke herstart geactiveerd.

Wijziging: updates worden niet langer geïnstalleerd tijdens een voederpauze of actieve onderhoudsmodus.

Wijziging: maximale lengte van de naam van schakelbare stekkers is nu 32 karakters.

Nieuw: gedeeltelijke (nog niet juist werkende) implementatie van de leeftijd van apparaten. Per schakelbare stekker wordt een timer bijgehouden hoe lang deze aan heeft gestaan. Dit kan handig zijn voor bijvoorbeeld het bijhouden van de maximale de levensduur van UVC-lampen.

Bekende bug in deze versie: timestamps van apparaatleeftijd worden onjuist opgeslagen en geladen vanuit het geheugen.

Pond[CTRL] Update 1245

Bugfix: Informatie over onderhoudsmodus werd niet meegenomen in een /get aanvraag, waardoor na het opnieuw openen van de interface er ‘Geen onderhoud’ getoond werd en de modus niet uitgeschakeld kon worden.

Bugfix: bij een update tijdens onderhoudsmodus of voederpauze werd deze uitgeschakeld.

Pond[CTRL] Update 1243

Nieuwe functionaliteit: onderhoudsmodus. Per schakelbare stekker is voor deze modus in te stellen of deze bij onderhoud uitgeschakeld moet worden. Onderhoudsmodus dient, in tegenstelling tot voederpauze, handmatig uitgeschakeld te worden.

Pond[CTRL] en CORS

Vakantie! Eindelijk tijd om PondCTRL aan de nieuwe vijver (ondertussen al 1.5 jaar in bedrijf) te hangen. De vijver is kraakhelder, de vissen doen het goed en de waterwaarden zijn stabiel.

Ik liep gelijk tegen een probleem aan. In oudere browsers kon je CORS (Cross-Origin Resource Sharing) nog omzeilen. Waarom zou ik dat willen? De WiFi-module van Pond[CTRL] welke fungeert als het ‘besturingssysteem’ heeft slechts 1MB flash geheugen. Wil je gebruik maken van OTA-updates, dan hou je minder dan de helft over. De HTTPS-library neemt meer dan de helft van de beschikbare ruimte in beslag waardoor er onvoldoende ruimte overblijft voor het besturingssysteem.

En toen? Een HTTPS-app naar een HTTP-bron. Ik heb een interface geschreven. De app roept op HTTPS de interface aan. De interface, geschreven in PHP, doet dezelfde aanroep via cURL naar de HTTP-bron. Voor de app komt het antwoord van een HTTPS-bron en dus voldoet deze aan de CORS-policy van moderne browsers. De interface ondersteunt zowel GET als POST verzoeken.

En dan nog wat mooie plaatjes 😁.

Kraakhelder water. De bodem is goed zichtbaar (1.20m)
Pond[CTRL] in de nieuwe behuizing. De behuizing is voorzien van een 35mm DIN-rail en de print zit geklikt op zelfgemaakte DIN-rail / PCB klemmen. Stroomvoorziening is operationeel, sensoren zijn nog niet aangesloten.
De online app. Pond[CTRL] is weer actief 👊.

Pond[CTRL]

Het tuintje is klaar en ik heb nu wat meer vrije tijd. Hoog tijd om weer verder te gaan met Pond[CTRL] en alles weer aan te sluiten. De broncode staat vanaf nu helemaal op GitHub.

De eerstvolgende stap is een nieuwe behuizing te kiezen: zelf 3D printen of een standaard behuizing. Zodra Pond[CTRL] weer operationeel is ga ik verder met de firmware waar ik een aantal maanden geleden gebleven ben.