Nytt Linux-alternativ till Easyweather

Generella Linux-frågor och frågor gällande Linuxmjukvara som saknar egen forumkategori skall postas i detta forum

Moderator: elf98

Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Nytt Linux-alternativ till Easyweather

Inlägg av daromer » 26 sep 2010, 21:11

Windchill på 350 grader dessutom :D

Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1619
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av CirruZZ » 27 sep 2010, 09:59

Ser ut som det blåser en "lätt bris" hos dig också :wink:
Projekt tråd | Blogg | Hemautomation
Rapporterar för : Ystad & Duved

Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Niklas » 30 sep 2010, 01:46

Det är väldigt kallt här idag!

Outdoor:
Temperature: -3276.6 C
Windchill: -3276.6 C
Dewpoint: -3449.1 C
Humidity: 93%
Abs pressure: 1020.0 hPa
Rel pressure: 1020.0 hPa
Average windspeed: 0.0 m/s
Gust windspeed: 0.0 m/s
Wind direction: 315 NW
Total rain: 265.8 mm

Vad händer? :)

daromer
Hemautomation - det är mer än en hobby
Inlägg: 961
Blev medlem: 23 sep 2009, 09:31
Ort: Växjö

Re: Nytt Linux-alternativ till Easyweather

Inlägg av daromer » 30 sep 2010, 10:29

Känns som den vanliga funkar bättre för tillfället :D Även om man måste konvertera några värden självt 8)

Cokeman
Wannabe
Inlägg: 18
Blev medlem: 20 sep 2010, 23:40
Ort: Luleå

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Cokeman » 30 sep 2010, 12:09

Build 26 finns nu upplaggd. http://code.google.com/p/weatherpoller/downloads/list
Niklas skrev:Det är väldigt kallt här idag!

Outdoor:
Temperature: -3276.6 C
Windchill: -3276.6 C
Dewpoint: -3449.1 C
Humidity: 93%
Abs pressure: 1020.0 hPa
Rel pressure: 1020.0 hPa
Average windspeed: 0.0 m/s
Gust windspeed: 0.0 m/s
Wind direction: 315 NW
Total rain: 265.8 mm

Vad händer? :)
Väderstationen sparar tydligen negativa siffror på ett ovanligt sätt för signed short. Har fixat det nu. (wwsr räknar för övrigt 0.1C grad fel för minusgrader).
andreas skrev: Dock så har jag problem med -a. Efter en längre stund så får jag följande fel

Kod: Markera allt

wsp: wsp.c:509: send_usb_msgbuf: Assertion `bytes_written == msgsize' failed.
Aborted
Minnet är fullt på min enhet, samt att jag ganska ofta tappar kontakten med utegivarna (måste ta och flytta enheten och utesändaren så att de sitter närmare varandra). Tänkte att det kunde vara en bidragande orsak.
Tror inte kontakten med utegivarna har med saken att göra. Jag har nog säkert tankevurpat lite i min kod som har med fullt minne att göra, har ju som sagt inte kunnat testa den själv ännu :) ... Skulle vara bra om du la till -vv på kommandoraden när det där händer och päjsta den loggen (Bara slutet av loggen när felet uppstår, annars blir det rätt mycket text :P)
andreas skrev: ./wsp --summary
Har nu ingen kontakt med utegivaren. Då borde det väl inte vara några värden under outdoor?
I winddirection så visas väl en nolla för mycket? Borde väl vara 315 och inte 3150

Kod: Markera allt

Use --help for more options.

Indoor:
  Temperature:          21.3 C
  Humidity:             49%

Outdoor:
  Temperature:          -0.1 C
  Windchill:            350.9 C
  Dewpoint:             13.5 C
  Humidity:             255%
  Abs pressure:         984.5 hPa
  Rel pressure:         984.5 hPa
  Average windspeed:    409.5 m/s
  Gust windspeed:       409.5 m/s
  Wind direction:       3150 N
  Total rain:           560.1 mm
  NO CONTACT WITH SENSOR
Ändrade så att inget syns under Outdoor när det inte finns någon kontakt med utesensorerna.

-----
Har nu även fixat så att regn-uträkningarna stämmer... För nuvarande behöver man dock läsa in hela historien för att detta ska fungera (Precis som EasyWeather fungerar).

Jag håller även på att knåpa till --quickrain, som räknar ut regndatan på ett snabbare sätt där man inte behöver läsa in all historia, men detta kan som sagt ge felaktiga uträkningar om man ändrat uppdateringsintervallet någon gång under historiedatans gång utan att resetta minnet.

Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Niklas » 30 sep 2010, 12:13

Utmärkt!

Ja jag får ett värde på regn 1h och 24h även om det inte har regnat på några dagar. :)

Cokeman
Wannabe
Inlägg: 18
Blev medlem: 20 sep 2010, 23:40
Ort: Luleå

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Cokeman » 30 sep 2010, 12:48

Niklas skrev:Utmärkt!

Ja jag får ett värde på regn 1h och 24h även om det inte har regnat på några dagar. :)
Hmmm? Med build 26 alltså? Commandline osv?

Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Niklas » 30 sep 2010, 13:16

Cokeman skrev:
Niklas skrev:Utmärkt!

Ja jag får ett värde på regn 1h och 24h även om det inte har regnat på några dagar. :)
Hmmm? Med build 26 alltså? Commandline osv?
Ah. Nej, med gamla. Med build 26 så verkar det stämma. ;)

andreas
Tar hemautomation på allvar
Inlägg: 61
Blev medlem: 17 jan 2010, 01:06
Ort: Borås
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av andreas » 02 okt 2010, 15:02

Här kommer utdrag från wsp -vv -a. Ger det någon indikation till varför det blir abort i slutet?

Kod: Markera allt

DEBUG: 3561,    2010-09-30 20:52:00,    5 minutes
--> a1 5a d0 20 a1 5a d0 20
05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 155820
DEBUG: Temp = 21.1C
DEBUG: 3560,    2010-09-30 20:47:00,    5 minutes
--> a1 5a c0 20 a1 5a c0 20
05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 156120
DEBUG: Temp = 21.1C
DEBUG: 3559,    2010-09-30 20:42:00,    5 minutes
--> a1 5a b0 20 a1 5a b0 20
05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 156420
DEBUG: Temp = 21.1C
DEBUG: 3558,    2010-09-30 20:37:00,    5 minutes
--> a1 5a a0 20 a1 5a a0 20
05 29 d3 00 ff ff ff b9 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 156720
DEBUG: Temp = 21.1C
DEBUG: 3557,    2010-09-30 20:32:00,    5 minutes
--> a1 5a 90 20 a1 5a 90 20
05 28 d3 00 ff ff ff b9 26 ff ff ff 8c 4b 07 40 05 29 d3 00 ff ff ff b9 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 157020
DEBUG: Temp = 21.1C
DEBUG: 3556,    2010-09-30 20:27:00,    5 minutes
--> a1 5a 80 20 a1 5a 80 20
05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b9 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 157320
DEBUG: Temp = 21.1C
DEBUG: 3555,    2010-09-30 20:22:00,    5 minutes
--> a1 5a 70 20 a1 5a 70 20
05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 157620
DEBUG: Temp = 21.1C
DEBUG: 3554,    2010-09-30 20:17:00,    5 minutes
--> a1 5a 60 20 a1 5a 60 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 157920
DEBUG: Temp = 21.1C
DEBUG: 3553,    2010-09-30 20:12:00,    5 minutes
--> a1 5a 50 20 a1 5a 50 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 158220
DEBUG: Temp = 21.1C
DEBUG: 3552,    2010-09-30 20:07:00,    5 minutes
--> a1 5a 40 20 a1 5a 40 20
05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 158520
DEBUG: Temp = 21.1C
DEBUG: 3551,    2010-09-30 20:02:00,    5 minutes
--> a1 5a 30 20 a1 5a 30 20
05 29 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b8 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 158820
DEBUG: Temp = 21.1C
DEBUG: 3550,    2010-09-30 19:57:00,    5 minutes
--> a1 5a 20 20 a1 5a 20 20
05 29 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40 05 29 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 159120
DEBUG: Temp = 21.1C
DEBUG: 3549,    2010-09-30 19:52:00,    5 minutes
--> a1 5a 10 20 a1 5a 10 20
05 29 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 29 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 159420
DEBUG: Temp = 21.1C
DEBUG: 3548,    2010-09-30 19:47:00,    5 minutes
--> a1 5a 00 20 a1 5a 00 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 29 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 159720
DEBUG: Temp = 21.1C
DEBUG: 3547,    2010-09-30 19:42:00,    5 minutes
--> a1 59 f0 20 a1 59 f0 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 160020
DEBUG: Temp = 21.1C
DEBUG: 3546,    2010-09-30 19:37:00,    5 minutes
--> a1 59 e0 20 a1 59 e0 20
05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 160320
DEBUG: Temp = 21.1C
DEBUG: 3545,    2010-09-30 19:32:00,    5 minutes
--> a1 59 d0 20 a1 59 d0 20
05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 160620
DEBUG: Temp = 21.1C
DEBUG: 3544,    2010-09-30 19:27:00,    5 minutes
--> a1 59 c0 20 a1 59 c0 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 160920
DEBUG: Temp = 21.1C
DEBUG: 3543,    2010-09-30 19:22:00,    5 minutes
--> a1 59 b0 20 a1 59 b0 20
05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 161220
DEBUG: Temp = 21.1C
DEBUG: 3542,    2010-09-30 19:17:00,    5 minutes
--> a1 59 a0 20 a1 59 a0 20
05 28 d3 00 ff ff ff b7 26 ff ff ff 8c 4b 07 40 05 28 d3 00 ff ff ff b6 26 ff ff ff 8c 4b 07 40
DEBUG: Seconds before current event = 161520
DEBUG: Temp = 21.1C
DEBUG: 3541,    2010-09-30 19:12:00,    5 minutes
--> a1 59 90 20 a1 59 90 20
31 60 c1 01 55 00 00 77 00 57 c2 a8 08 00 45 00 05 dc f0 4e 40 00 40 06 2e 4d 0a 00 01 01 0a 00
DEBUG: Seconds before current event = 164460
DEBUG: Temp = 44.9C
DEBUG: 3540,    2010-09-30 19:07:00,    49 minutes
--> a1 59 80 20 a1 59 80 20
wsp: wsp.c:521: send_usb_msgbuf: Assertion `bytes_written == msgsize' failed.
Aborted

andreas
Tar hemautomation på allvar
Inlägg: 61
Blev medlem: 17 jan 2010, 01:06
Ort: Borås
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av andreas » 04 okt 2010, 14:46

Använder man --format och parametern %e eller %E, så verkar logiken på texten vara omvänd;
I funktionen print_summary, rad 1428, så negeras svaret från has_lost_contact_with_sensor. Vilket inte görs i print_history_item_formatstring. Funktionen has_lost_contact_with_sensor borde väl negera svaret innan det returneras, samt ta bort negeringen på rad1428.

./wsp -A 220 --format "%N,%h,%H,%t,%T,%C,%c,%W,%G,%D,%d,%P,%p,%r,%f,%F,%R,%e,%E\n"

Kod: Markera allt

2010-10-04 12:45:00,44,72,21.0,15.2,10.2,10.8,4.8,4.8,N,0,981.5,999.0,0.0,0.0,0.0,582.0,False,0
./wsp -A 220

Kod: Markera allt

Use --help for more options.

Indoor:
  Temperature:          21.0 C
  Humidity:             44%

Outdoor:
  Temperature:          15.2 C
  Wind chill:           10.8 C
  Dewpoint:             10.2 C
  Humidity:             72%
  Absolute pressure:    981.5 hPa
  Relative pressure:    999.0 hPa
  Average windspeed:    4.8 m/s
  Gust wind speed:      4.8 m/s
  Wind direction:       0 N
  Total rain:           582.0 mm

Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Niklas » 06 okt 2010, 21:08

Kod: Markera allt

  Average windspeed:    3.1 m/s
  Gust wind speed:      3.1 m/s
De är alltid samma för mig.

Cokeman
Wannabe
Inlägg: 18
Blev medlem: 20 sep 2010, 23:40
Ort: Luleå

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Cokeman » 13 okt 2010, 23:38

Hej hopp!

Lite segt på aktivitetsfronten på ett tag nu. Har haft lite fullt upp. Nu finns det en ny version att ladda ner http://code.google.com/p/weatherpoller/downloads/list

Niklas skrev:

Kod: Markera allt

  Average windspeed:    3.1 m/s
  Gust wind speed:      3.1 m/s
De är alltid samma för mig.
Jepp! hade visst råkat göra ett copy paste-fel. Använde samma data för båda uträkningarna :shock:
andreas skrev:Använder man --format och parametern %e eller %E, så verkar logiken på texten vara omvänd;
I funktionen print_summary, rad 1428, så negeras svaret från has_lost_contact_with_sensor. Vilket inte görs i print_history_item_formatstring. Funktionen has_lost_contact_with_sensor borde väl negera svaret innan det returneras, samt ta bort negeringen på rad1428.
Jo allt du säger stämmer. Men det är däremot inget fel :) ... Men, kanske aningen ologiskt. Jag har nu istället ändrat funktionens namn till has_contact_with_sensor... Och %e, %E retunerar TRUE om det finns kontakt med sensorn (istället för tvärtom).
andreas skrev:Här kommer utdrag från wsp -vv -a. Ger det någon indikation till varför det blir abort i slutet?
Nej det säger inte direkt varför det blir fel, men man kan ju däremot se att minnes-posten just före den avslutar visar felaktig data. Du verkar även sakna kontakt med sensorn väldigt mycket :)

Hur som helst så har jag i den nya versionen tagit bort så att den inte bara avbryter programmet så fort den får problem med att läsa ur minnet, utan att den istället provar 3 gånger, och fortsätter till nästa minnesadress istället.

Jag har även lagt till --dumpmem, som läser ut allt från minnet och dumpar det i en fil (som man sen kan använda som input med --infile, istället för att läsa från stationen varje gång. Går lite snabbare att debugga då). Om detta kommando inte heller fungerar så verkar det vara nått knas med din enhet.

Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Niklas » 13 okt 2010, 23:43

Jag kan inte bygga nya versionen.

Kod: Markera allt

~/vader/weatherpoller/weatherpoller-read-only# make
gcc -Wall -lm -lusb wsp.c -o wsp.o
wsp.c:101: error: conflicting types for ‘dprintf’
/usr/include/stdio.h:397: note: previous declaration of ‘dprintf’ was here
make: *** [wsp.o] Fel 1

Cokeman
Wannabe
Inlägg: 18
Blev medlem: 20 sep 2010, 23:40
Ort: Luleå

Re: Nytt Linux-alternativ till Easyweather

Inlägg av Cokeman » 14 okt 2010, 00:38

Woops. dprintf var tydligen en GNU extension. Bytte namn på funktionen så det ska funka nu :)
http://code.google.com/p/weatherpoller/downloads/list

andreas
Tar hemautomation på allvar
Inlägg: 61
Blev medlem: 17 jan 2010, 01:06
Ort: Borås
Kontakt:

Re: Nytt Linux-alternativ till Easyweather

Inlägg av andreas » 20 okt 2010, 14:51

Med sista versionen så får jag det mesta att fungera stabilt. Har dessutom flyttat väderstationen, så nu har den mycket bättre kontakt med utegivarna.

Jag tycker dock inte att regnberäkningarna verkar stämma riktigt. Hur ska man göra för att de ska stämma?

Väderstationerna är inställd på att polla var 5:e minut.
Jag har ett cronjobb som kör wsp var 5:e minut för att läsa in uppgifterna i en MySQL databas.
wsp-kommandot är nedanstående

Kod: Markera allt

wsp -A 200 -c 3 --format "'\%N',\%h,\%H,\%t,\%T,\%C,\%c,\%W,\%G,'\%D',\%d,\%P,\%p,\%r,\%f,\%F,\%R,\%E\n"
-c 3 är för att om jag av någon anledning inte får kontakt med väderstationen vid en körning, så ska nästa körning hämta ut uppgifterna. Har även kört utan -c parametern.
%r, %f och %F är hela tiden 0.
Kör jag med parametern --quickrain så får jag andra värden än 0, men de känns inte heller riktigt rätt.

Hur ska man köra för att få så korrekta regnvärden som möjligt?

Skriv svar