Sida 1 av 2
Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 00:59
av masala
Om temperaturen är konstant för lång tid detekterar temperatur.nu detta som avbrott.
Detta hände den gångna natten för ett flertal stationer i Göteborgsområdet, Gråbo, Kungälv, Angered och Partille.
Troligen rapporterade dessa stationer kontinuerligt under hela natten men temperaturen låg inom 0.1 grader.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 13:01
av Dowser
Jo, det finns några temperatur-fenomen som triggar felhanteringen på temperatur.nu, frågan är om det är rimligt görbart att lösa allt. Det är ju exempelvis inte ofta ett så stort område är närmast konstant i temperatur under så lång tid.
Själv råkade jag ut för en sak i sommras, en *rejäl* hagelskur drog in, och temperaturen sjönk över 15 grader på en kvart. Det är också ett såntdär fenomen som inte inträffar så ofta att jag störs av att det inte syntes så tydligt på temperatur.nu
Det viktiga är ju att det bara är temporära stopp, och de påverkar inte medeltemperaturerna nämnvärt.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 14:44
av elf98
Jag har planer på att skriva om felkontrollerna från grunden...
En tanke är att ta hänsyn till närliggande stationers temperatur-delta och vikta denna parameter mot avståndet. Min tanke är att om många stationer i samma "område" har låg eller hög temperaturdelta så tillåts även stationen som testas att ha det. Störst effekt kommer denna kontroll troligtvis att ha på små förändringar.
Som ni kanske förstår är det inte helt trivialt att skriva denna algoritm!
Men funktionen finns iaf på planeringsstadiet.-
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 14:58
av Dowser
Helt klart svårt ja. Och med bara en mätstation i staden kvarstår problemet med sånna lokala fenomen som hagelstormar etc. som jag råkade ut för.
Problemet är att det nästan är omöjligt att särskilja vissa fenomen från renodlade mät-fel.
Ett alternativ är ju, även om det är *betydligt* mer jobb, att sätta mät-sekvenser som ser fel ut i "karantän" tills de godkänts av stationsägaren eller någon väder-moderator, i anslutning med dendär "stations-info" funktionen som tidigare disktuerades.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 15:02
av CirruZZ
väder moderator = väder gud

Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 15:07
av elf98
Dowser skrev:Helt klart svårt ja. Och med bara en mätstation i staden kvarstår problemet med sånna lokala fenomen som hagelstormar etc. som jag råkade ut för.
Problemet är att det nästan är omöjligt att särskilja vissa fenomen från renodlade mät-fel.
Ett alternativ är ju, även om det är *betydligt* mer jobb, att sätta mät-sekvenser som ser fel ut i "karantän" tills de godkänts av stationsägaren eller någon väder-moderator, i anslutning med dendär "stations-info" funktionen som tidigare disktuerades.
Det största problemet med att sätta temperaturer i "karantän" är nog att temperaturerna lagras i round-robin databaser. Det är inte trivalt på en fläck att ta bort data ur sådana databaser.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 15:47
av Dowser
Jag vet.
Därav "*betydligt*"

Egentligen finns det väl bara tre alternativ:
1: Dumpa databasen, komplettera och läs in igen. Helt oacceptabelt för en så liten förbättring.
2: Bygg om hela databasbakänden till temperatur.nu, yeah, right.

Förutom mängden arbete så är RRD-databaser rätt lämpade till denhär typen av data.
3: Använd extra källor med kompletterande data. Frågan är om det går utan att överlasta servern?
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 16:24
av CirruZZ
En annan sak jag funderat på gällande lika temp över en period kontra temp som slutats uppdatera. Det finns två ideer.
Som i mitt fall som levererar med en hög noggrannhet (1-wire) till temperatur.nu med två decimaler så ändras ju tempen lite hit och dit +/- 0,01 grader men det syns ju inte i grafen för den har ju en noggrannhet på en decimal. Även om inte andra decimalen visas, kan man inte använda den för att detektera om tempen har uppdaterats även om det inte ändrar tempen med en decimal noggrannhet. Detta funkar ju bara visserligen för de stationer som levererar temp med flera decimalers noggrannhet.
Andra ideen är att lägga till en tids stämpel på datan som levereras och på så sätt avgöra om informationen är aktuell eller inte.
När det gäller snabba förändringar i temperaturen så är väll egentligen bara problemet uppåt, dvs man kan på verka en sensor uppåt enkelt men att av misstag få den att mäta för lågt är väll mindre sannolikt. Behövs det någon nedre gräns för en sådan förändring?
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 16:37
av Dowser
Tidsdatan fungerar bara om du litar på att både scriptet som genererar tiden och datan fungerar samtidigt. Vad säger att tidsstämpeln inte sätts på felaktig data?
Dessutom skulle det ge en del ökad komplexitet och leda till att ett antal stationer inte uppnår kraven, vilket vore trist.
Problemet är att Erik inte har full kontroll över de 200+ mätarna ute i landet utan måste lita på att vi gör vårt jobb korrekt. Ibland gör vi dock fel, oavsett om det är beroende på att mätaren står fel eller blir utsatt för något eller att våra script buggar ur. Så han måste analysera den faktiska datan och försöka avgöra automatiskt om den är korekt eller inte. Det är inget lätt jobb.
Ett kraftigt temperaturfall nedåt uppstår så fort någon råkar rikta vattenspridaren fel eller på annat vis stänka vatten på sensorn. Först för att det ofta är kallare än luften, sen för att det tar energi när det förångas. Så visst måste den logiken fungera både uppåt och nedåt.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 16:53
av CirruZZ
Dowser skrev:Tidsdatan fungerar bara om du litar på att både scriptet som genererar tiden och datan fungerar samtidigt. Vad säger att tidsstämpeln inte sätts på felaktig data?
Jovisst kan du få hårdvarufel eller att mjukvaran hänger sig...helt vatten tät är det ju inte.
Dowser skrev:Dessutom skulle det ge en del ökad komplexitet och leda till att ett antal stationer inte uppnår kraven, vilket vore trist.
Tanken är ju att ha det som ett alternativ, finns det tids stämpel så används det för att validera uppdatering, är det så att stationen inte har eller kan leverera tidsstämple så skall den ju inte uteslutas, men det blir svårare att avgöra om den är uppdaterad.
Dowser skrev:Problemet är att Erik inte har full kontroll över de 200+ mätarna ute i landet utan måste lita på att vi gör vårt jobb korrekt. Ibland gör vi dock fel, oavsett om det är beroende på att mätaren står fel eller blir utsatt för något eller att våra script buggar ur. Så han måste analysera den faktiska datan och försöka avgöra automatiskt om den är korekt eller inte. Det är inget lätt jobb.
Nej enkelt är det absolut inte!! Men som ett alternativ till att ha någon sorsts "AI" som skall utvärdera datan så kan man ha olika sorters valideringsmetoder beroende på vad som finns att tillgå. Kanske till och med olika klassificeringar på hur tillförlitlig stationen är och hur noga ägaren har varit för att uppnå "rätta mätvärden", och då ge mer eller mindre svängrum/gränser.
Dowser skrev:Ett kraftigt temperaturfall nedåt uppstår så fort någon råkar rikta vattenspridaren fel eller på annat vis stänka vatten på sensorn. Först för att det ofta är kallare än luften, sen för att det tar energi när det förångas. Så visst måste den logiken fungera både uppåt och nedåt.
Tänkte inte på det...

kändes avlägset att tänka på bevattnings tider nu...

Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 17:03
av Dowser
Mja, att använda det för olika klassificering av stationerna vore kanske något.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 17:26
av elf98
CirruZZ skrev:En annan sak jag funderat på gällande lika temp över en period kontra temp som slutats uppdatera. Det finns två ideer.
Som i mitt fall som levererar med en hög noggrannhet (1-wire) till temperatur.nu med två decimaler så ändras ju tempen lite hit och dit +/- 0,01 grader men det syns ju inte i grafen för den har ju en noggrannhet på en decimal. Även om inte andra decimalen visas, kan man inte använda den för att detektera om tempen har uppdaterats även om det inte ändrar tempen med en decimal noggrannhet. Detta funkar ju bara visserligen för de stationer som levererar temp med flera decimalers noggrannhet.
Det där har jag inte tänkt på!!!
Stora delar av de script som analyserar temperaturerna är 4-5 år gamla och jag har inte ingående tittat på dem sedan dess.
När temperaturen hämtas avrundas den direkt till en decimal, jag tänkte nog att det var det som skulle visas på temperatur.nu samt att det är meningslöst med högre noggrannhet.
Nu har jag ändrat så att jag avrundar till 3 decimaler internt och kör mina analyser mot detta värde. Detta bör drastiskt minska problemen för de som faktiskt ger mig tillgång till fler än en decimal! Och vet man med sig att scripten aldrig någonsin crashar eller slutar att fungera kan man själv lägga in ett par tusendels graders +/- för att "lura" temperatur.nu.
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 18:09
av CirruZZ

Vad bra!!
elf98 skrev:Och vet man med sig att scripten aldrig någonsin crashar eller slutar att fungera kan man själv lägga in ett par tusendels graders +/- för att "lura" temperatur.nu.
Nu hänger jag inte med...

Du menar att om man bara kan mäta med en decimals noggrannhet så slumpar man ut ett värde på mindre än 0,01 och lägger till den levererade temperaturen för att "visa" att det är en ny temperatur, även fast den mätta temperaturen är den samma?
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 18:18
av elf98
Ja... det är ett fult sätt som jag egentligen inte rekommenderar, glöm att jag skrev det!
Re: Detekterar avbrott vid konstant temperatur ?
Postat: 07 feb 2009, 22:29
av masala
Har också funderat på att lägga till en
felsignal som amerikanarna gjorde på GPSsignalerna tidigare.
Temperaturen kan knappast mätas med större noggrannhet än +-0.05 grader och lägger man till en felsignal på +-0.01 eller 0.001 om nu temperatur.nu detekterar detta är det ett enkelt sätt att införa en dimension till i signalen. Man ser att signalen ändras trots att temperaturen är konstant.
I utfilen är det enkelt att göra det genom att t.ex. lägga till minutsiffran som tredje decimal för att prova detta.
