Discussie forum over overige software. Voor vragen, specificaties, ervaringen etc..
Door Eckie76
#5883
Sorry, maar als mensen met cracks aan de slag gaan pas ik meteen..
No hard feelings, maar ik hou me daar niet mee bezig uit morele bezwaren.
Door Meteo Simpelveld
#5890
Eckie76 schrijft:
Sorry, maar als mensen met cracks aan de slag gaan pas ik meteen..
No hard feelings, maar ik hou me daar niet mee bezig uit morele bezwaren.

Goedemorgen Olaf,

De link wat ik gegeven heb is naar Henk Lankamp, die heeft zelf een progamma geschreven.
Je kan die volledig legaal gebruiken.
Ik kan niet zeggen of deze geschikt is, dat moet hij zelf bekijken.
Ik ben zelf ook een tegenstander van niet legale programmatuur gebruiken

Groet Bert
Door jorissynaeve
#5891
Eckie76 schrijft:
Sorry, maar als mensen met cracks aan de slag gaan pas ik meteen..
No hard feelings, maar ik hou me daar niet mee bezig uit morele bezwaren.

Dat begrijp ik ook hoor.
Daardoor ook een deel dat ik WDisplay achterwege laat. Ik ga ook nooit iets kopen waarvan ik vind dat het niet goed werkt.

Daardoor dat ik alles zelf probeer te programmeren in het mate van het mogelijke.

Die programma's die Henk laat zien zal ik ook eens bekijken. Misschien dat ik daar ook iets mee kan doen.

Maar eigenlijk wijken we een beetje af van het eigenlijk onderwerp: zelf software maken, en niet zoeken naar gemaakte software :P
Door Eckie76
#5892
Meteo Simpelveld schrijft:
Eckie76 schrijft:
Sorry, maar als mensen met cracks aan de slag gaan pas ik meteen..
No hard feelings, maar ik hou me daar niet mee bezig uit morele bezwaren.

Goedemorgen Olaf,

De link wat ik gegeven heb is naar Henk Lankamp, die heeft zelf een progamma geschreven.
Je kan die volledig legaal gebruiken.
Ik kan niet zeggen of deze geschikt is, dat moet hij zelf bekijken.
Ik ben zelf ook een tegenstander van niet legale programmatuur gebruiken

Groet Bert


Hey Bert,

dat was niet voor jou bedoeld :)
De programma's van Lankamp ken ik, die man is goed bezig.

@ Joris,

Als je iets hebt dat goed werkt met de Nexus, houd ik me zeker aanbevolen om te testen.
Door mavlo77
#5990
Beste Joris, ik heb/had dezelfde issues met de performantie ;). Ik log zelfs elke minuut in een MYSQL, en nu 1.5 jaar lang al.

Ik gebruik dan Weatherlink voor de tags, maar dat maakt niet uit. Een scriptje leest steeds de tags uit en indien de tijd met 1 minuut is versprongen gaat deze in de database.

Aan de client-zijde op de website genereer ik dagrapportjes en later ook maandrapportjes. Echter in de dagrapportjes liep ik al vast. Althans, het hield niet over (3 tot 4 sec per dag). In dat rapportje staat een tabel van 24 uren met elk uur gemiddelde temperatuur, wind, etc (alle belangrijke gegevens). Zoals aangegeven zul je inderdaad gebruik moeten gaan maken van de juiste query's (select max(temperatuur) bla bla). Maar soms gaat dat niet. Voorbeeld: maximale uurgemiddelde wind...? Dan moet je dus steeds over een uur middelen en zo door heel de dag schuiven en daarvan de max nemen. Dat zijn serieuze bewerkingen. Zo heb ik ook een algoritme om de duur van de neerslag te bepalen etc. Maar ook worden de timestamps van de bijbehorende webcambeeldjes in de database bepaald.

Mijn oplossing: ik heb een extra tabel gemaakt naast de hoofdtabel. In dat tabel staan per uur de belangrijke gegevens van dat uur. Bijvoorbeeld totaal neerslag, maximale 10 minuten gemiddelde wind, en zo 15 kolommen met wat je zoal nodig hebt om daggegevens (of maandgegevens) te maken. Door deze gegevens te gebruiken, gaat de verwerking plots heel snel ;).

De tabel wordt als het volgt aangemaakt. Steeds als iemand op mijn website kijkt naar de samenvatting van de dag checkt het script wat de meest recente uurlijkse samenvattingen is. Stel als 3 uur niemand op de website gekeken heeft, dan moet hij dus 3 uursamenvattingen maken. De ontbrekende getallen vult hij dan in, waarna op de site de gegevens worden getoond. Op die manier houdt de hulpdatabase zichzelf bij. Het laatste uur overschrijft hij altijd omdat in het lopende uur natuurlijk de gemiddelden steeds meelopen.

Ik moet alleen nog even een taak aanmaken op de server dat hij toch elke dag even een check doet, zodat niet als er 3 dagen niemand kijkt hij dus 20 seconden moet pruttelen om de 3x 24 uren te berekenen ;).

Ik heb het zo gemaakt dat je de tabel altijd kunt legen (bijvoorbeeld als bij voortschrijdend inzicht blijkt dat een variabele mist of verkeerd is berekend), en handmatig door het script uit te voeren de hele historie van 1.5 jaar uurlijkse samenvattingen weer opnieuw wordt opgebouwd. Staat de pc wel lekker een uur te ploeteren, maar het is zeer tof om dan te zien dat je een volledig kloppende hulptabel krijgt uit je eigen programmeersels ;).

Als je meer wilt weten, laat maar even weten.
Door jorissynaeve
#6013
Bedankt voor je uiteenzetting.
Ik ben niet zo voor client-side generatie omdat ik denk dat dit toch steeds wat laadsnelheid van de gebruiker opneemt waardoor alles sneller gaat.
Echter lijkt het me wel leuk om dit te programmeren.

Maar momenteel ben ik gewoon bezig met "server-side" generatie van alle variabelen. Op de pc worden alle files gemaakt die vervolgens geüploaded worden naar de server. Omdat de server waar ik alles op host niet van mij is, kan ik onmogelijk alle databasegegevens daar op zetten. Dat zou een tamelijk grote impact hebben op de capaciteit van die server.

Het programmeren van het programma vlot al tamelijk. Bijna alle weeractueeldata kan ik genereren op zeer korte tijd (lees < 1sec). Enkel de startup van het programma duurt ongeveer 30seconden maar dat is natuurlijk geen probleem. Statusbalken etc tonen de laadtijd :)

Nu nog een vraagje. Is het mogelijk rechtstreeks vanuit mysql rainrates te bepalen en daar dan ook de max van bepalen?
De enigste mogelijkheid dat ik momenteel zie, waarbij de performance ook niet te slecht wordt, is telkens de rainrates in een aparte tabel op te slaan indien er nieuwe gegevens bij komen.
Door mavlo77
#6019
Met plezier gedaan. Mijn uitdrukking "client side" is misschien niet handig gekozen, omdat de berekeningen wel op de server plaatsvinden (ik bedoelde eigenlijk: door client geinitieerd). Als de gebruiker de statistiekpagina oproept, dan zal op de server in het php script de ontbrekende uurlijkse statistieken worden bijberekend. Zie het als een soort caching. Je kunt het ook gewoon zelfstandig laten uitvoeren. Ik heb gewoon een functie gemaakt, zoiets als update_uurstat(). Je kunt dit perfect aanroepen vanuit het script waarmee je ook de data upload naar je MYSQL.

Maar goed, het werkt goed, en het is zeker leuk als je eigen programmeersels nog werken ook :).

Ik snap je overweging waarom je het niet op de webhost zet. Er is nog een nadeel: als je internetverbinding even weg is, dan kan je de data ook niet wegschrijven. De lokale MYSQL is dan gewoon beschikbaar. Al denk ik er toch over om e.e.a. op de webhosting te plaatsen, al vind ik het wel een leuk idee dat de gegevens hier ter plekke worden berekend voor elke website bezoeker :).

Vanuit je MYSQL is het niet zo makkelijk om direct rainrates te bepalen, als deze niet door het station worden weggeschreven. VP2 schrijft de max rainrate weg, en die gebruik ik maar. Maar als je echt steeds over 10 minuten zou willen middelen bijvoorbeeld, dan zul je zelf een scriptje moeten maken dat een lopend gemiddelde maakt. Het is wel vrij lastig want je zult eerst moeten bepalen wanneer het regent en wanneer niet. Als tussen twee metingenvan 0.2 mm, 10 minuten zit, is het dan even 10 minuten droog geweest, of heeft het geregend met 1.2 mm/u??? Dat weet je niet, dus zul je een soort definitie moeten maken.

Ik snap niet precies je bezwaar om niet direct de rainrates bij te voegen?
Door jorissynaeve
#6116
Na enkele dagen weg geweest te zijn terug begonnen met verder programmeren. Eerste punt is een extra database voor rainrate/heatindex/... om zo sneller de maxima/minima/ea.. te bepalen.

Databaseformaat is HSQL omdat hiervoor SQL niet geïnstalleerd hoeft te worden. Dit is op iedere computer zonder extra installatie te gebruiken en heeft volledige SQL-query-mogelijkheden. Iemand die hier ervaring mee heeft?
Want momenteel heb ik een query om de maximum en minimum jaarneerslagsommen te bepalen maar krijg steeds een foutmelding die ik niet krijg bij de gewone sql:

java.sql.SQLException: Not in aggregate function or group by clause: org.hsqldb.Expression@44cbbe
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)

En hier de sql:

SELECT b.m, d.t FROM (SELECT MAX(a.c) as m FROM (SELECT (MAX(RAIN_SUM)-MIN(RAIN_SUM)) as c, DATE_TIME as t FROM All_Table GROUP BY YEAR(DATE_TIME)) a ) b, (SELECT (MAX(RAIN_SUM)-MIN(RAIN_SUM)) as c, DATE_TIME as t FROM All_Table GROUP BY YEAR(DATE_TIME)) d WHERE d.c = b.m
Door Meteonoord
#6117
Mededeling cq. vraag aan de moderators,

Waarom lopen deze berichten uit het kader ?

Groet

Bert J. van Bergen
Door Luc
#6119
Mededeling cq. vraag aan de moderators, Waarom lopen deze berichten uit het kader ? Groet Bert J. van Bergen

Komt waarschijnlijk door de code tag die Joris gebruikt heeft of door te vaak quote in quote. Wellicht zit er een foutje in de CSS van het forum. Lastig om uit te vogelen waardoor dit precies komt. Als ik tijd over heb, dan ga ik eens spitten.

EDIT: Ik heb de code tags weggehaald en dan gaat het goed. In ieder geval een aanknopingspunt....