- 21 jan 2009, 23:53
#8510
Dit even voor de perfectionisten onder ons. Al hoewel... Lees mee, en concludeer zelf.
Het volgende. Elke minuut laat ik met de tags van weatherlink de actuele windsnelheid wegschrijven voor weergave op de website. De website herlaadt ook voldoende vaak om geen updates te missen. Ik heb ook een profiel met alleen tags erin, welke ik gebruik om de gegevens up te loaden naar mijn MySQL database. Eigenlijk zoals die ook gebruikt wordt door HWA.
Nu komt het probleem: het valt me regelmatig op dat als ik naar de console zit te kijken, en er komt een windstoot van bv. 60 km/u voorbij op het scherm, dat deze daarna nooit op de website of in de MySQL database voorbij komt! Wel in de log van Weatherlink zelf, vreemd genoeg! Soms is het verschil echt groot. Bv op de console 60 km/u, op de website en in de database: 43 km/u bijvoorbeeld! Dit is vervelend! Nu blijkt het dagrecord wel goed vastgelegd te worden. Dus in mijn script heb ik een soort statement gemaakt dat als het dagrecord verbeterd wordt, dan die piek dan op dat moment gebeurt is, en overschrijf ik dat specifieke record daarmee. Echter ik ben hier nog niet helemaal blij mee want bijvoorbeeld maandag kwam er na de windstoot van 80 km/u in het begin van de middag, 's avonds nog een opleving van 70 km/u. Deze heb ik dus niet vastgelegd
....
Om dit verder te onderzoeken heb ik een parallelscriptje gemaakt dat dus elke minuut de tags weergeeft die met de wind te maken hebben.
Je ziet na de regel met de stationstijd en de pc-tijd een tabelletje met de WindAvg10 t/m WindAvg1 (dus 10 minuten gemiddelde tot 1 minuut gemiddelde), daaronder de windstoot in dezelfde periode en daaronder nog de windsnelheid (wat dat is, mag Joost weten want ik kan het nergens aan correleren. Ik denk dat het de snelheid is precies op het aanmaken van de tag. Vrij nutteloos.). Dan de Wind10avg, welke ook op je console te zien is.
De 10-minuten-gemiddelden werken wel erg mooi, dus dat is OK (linksboven steeds in de tabelletjes). Maar het probleem is dus de pieksnelheden (rechtsonder in het tabelletje, dus elke minuut). Vanaf 23:21u gezien zie je in de Weatherlink tabel 19.3 km/u staan, wat overeenkomt met mijn script. Echter daarna komt Weatherlink met 22.5 km/u, wat dus NIET terugkomt in het script en dus nooit wordt uitgevoerd in de tags! Zo klopt 23:26u ook niet. Hier zijn de verschillen niet zo groot, maar het gaat even om het idee (als het hard waait dus wel!!!).
Wat ik nu dus vermoed is dat die cyclus van 1x per minuut die tags schrijven in een sjabloon geheel los loopt ten opzichte van de database in Weatherlink. Het zou kunnen dat de sjablonen met de tags gevuld worden met de steeds updatende bulletin-waarden (vandaar dat dit ook waarschijnlijk open moet staan). Doordat dat wellicht niet helemaal synchroon loopt en tijdens het maken van de grafieken en andere sjablonen misschien geen updates worden genoteerd in het bulletin, ontstaan waarschijnlijk deze verschillen.
Niet zo fraai dus. Heeft iemand hier een oplossing voor gevonden?
Een oplossing zou kunnen zijn door ook elke minuut de laatste regel van de database uit te lezen met mijn script, maar dan wordt het wel een geknutsel. Bovendien wil ik terug naar 1x per 10 minuten voor de database van Weatherlink omdat ik dan in geval van crash 2 weken de tijd heb om alles op orde te krijgen (logger).
Het gaat er dus om dat ik een manier wil vinden om toch alle pieken juist te registreren.
Ik zal trouwens nog proberen om alle grafieken etc uit te zetten, wellicht dat dat helpt omdat hij minder lang bezig is.
Het volgende. Elke minuut laat ik met de tags van weatherlink de actuele windsnelheid wegschrijven voor weergave op de website. De website herlaadt ook voldoende vaak om geen updates te missen. Ik heb ook een profiel met alleen tags erin, welke ik gebruik om de gegevens up te loaden naar mijn MySQL database. Eigenlijk zoals die ook gebruikt wordt door HWA.
Nu komt het probleem: het valt me regelmatig op dat als ik naar de console zit te kijken, en er komt een windstoot van bv. 60 km/u voorbij op het scherm, dat deze daarna nooit op de website of in de MySQL database voorbij komt! Wel in de log van Weatherlink zelf, vreemd genoeg! Soms is het verschil echt groot. Bv op de console 60 km/u, op de website en in de database: 43 km/u bijvoorbeeld! Dit is vervelend! Nu blijkt het dagrecord wel goed vastgelegd te worden. Dus in mijn script heb ik een soort statement gemaakt dat als het dagrecord verbeterd wordt, dan die piek dan op dat moment gebeurt is, en overschrijf ik dat specifieke record daarmee. Echter ik ben hier nog niet helemaal blij mee want bijvoorbeeld maandag kwam er na de windstoot van 80 km/u in het begin van de middag, 's avonds nog een opleving van 70 km/u. Deze heb ik dus niet vastgelegd

Om dit verder te onderzoeken heb ik een parallelscriptje gemaakt dat dus elke minuut de tags weergeeft die met de wind te maken hebben.

Je ziet na de regel met de stationstijd en de pc-tijd een tabelletje met de WindAvg10 t/m WindAvg1 (dus 10 minuten gemiddelde tot 1 minuut gemiddelde), daaronder de windstoot in dezelfde periode en daaronder nog de windsnelheid (wat dat is, mag Joost weten want ik kan het nergens aan correleren. Ik denk dat het de snelheid is precies op het aanmaken van de tag. Vrij nutteloos.). Dan de Wind10avg, welke ook op je console te zien is.
De 10-minuten-gemiddelden werken wel erg mooi, dus dat is OK (linksboven steeds in de tabelletjes). Maar het probleem is dus de pieksnelheden (rechtsonder in het tabelletje, dus elke minuut). Vanaf 23:21u gezien zie je in de Weatherlink tabel 19.3 km/u staan, wat overeenkomt met mijn script. Echter daarna komt Weatherlink met 22.5 km/u, wat dus NIET terugkomt in het script en dus nooit wordt uitgevoerd in de tags! Zo klopt 23:26u ook niet. Hier zijn de verschillen niet zo groot, maar het gaat even om het idee (als het hard waait dus wel!!!).
Wat ik nu dus vermoed is dat die cyclus van 1x per minuut die tags schrijven in een sjabloon geheel los loopt ten opzichte van de database in Weatherlink. Het zou kunnen dat de sjablonen met de tags gevuld worden met de steeds updatende bulletin-waarden (vandaar dat dit ook waarschijnlijk open moet staan). Doordat dat wellicht niet helemaal synchroon loopt en tijdens het maken van de grafieken en andere sjablonen misschien geen updates worden genoteerd in het bulletin, ontstaan waarschijnlijk deze verschillen.
Niet zo fraai dus. Heeft iemand hier een oplossing voor gevonden?
Een oplossing zou kunnen zijn door ook elke minuut de laatste regel van de database uit te lezen met mijn script, maar dan wordt het wel een geknutsel. Bovendien wil ik terug naar 1x per 10 minuten voor de database van Weatherlink omdat ik dan in geval van crash 2 weken de tijd heb om alles op orde te krijgen (logger).
Het gaat er dus om dat ik een manier wil vinden om toch alle pieken juist te registreren.
Ik zal trouwens nog proberen om alle grafieken etc uit te zetten, wellicht dat dat helpt omdat hij minder lang bezig is.