Minimera antal rader i tabellen temps

http://karpero.mine.nu/ha

Moderators: Daniel, tom_rosenback, Telldus

aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Nu ser jag att den inte längre lägger upp en rad varannan minut, utan nu gör den som det var tänkt.

Misstänker att det kan bero på att jag har fixat serial fältet i tempsensors så att den stämmer överens med sensor serial i temps tabellen?

En fråga till om detta, jag har nu t ex "mandolyn-temperaturehumidity-31-humidity" i serial fältet i tempsensors och i sensor_serial i temps eftersom de heter så
i parser/system_config/telldusduo.php i arrayn $whitelistedSensors, är det tänkt så att det måste vara samma värden i arrayn som i serial / sensor_serial i databas tabellerna?
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

För övrigt extremt fina grafer i page=logs-measurements som ni har gjort! Skulle man inte kunna få med en graf från en extern temperatur /datakälla url?

Antar att det riktiga vägen skulle vara att genom parcer.php och sedan logga värderna i temps.

Tex yr.no tillhandahåller lokal väderdata gratis i xml format se http://om.yr.no/verdata/xml/

då skulle man i princip kunna ta in extern temperatur, luftfuktighet, nederbörd och vind utan egna kompatibla sensorer / väderstation
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

Hmmm... Ja, en parser för att parsa externa källor känns ju inte som att det borde vara så svårt att göra, vore ju lite snyggt att ha. Om du gör en som funkar får du gärna skicka in den till oss så kan vi lägga med den i HA :D

Gällande din fråga om ID:n så är det enkla svaret att ID ska vara samma överallt. Heter sin sensor "mandolyn-temperaturehumidity-31-humidity" så ska den heta det både i $whitelistedSensors och databastabellerna. Om du går in under inställningar->sensorer och klickar på "Uppdatera givare" så uppdateras tempsensors så den stämmer överens med temps (dvs om det finns värden ifrån sensorer i temps som inte finns i tempsensors så läggs dessa sensorer upp där också).

/Daniel
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Jag ska se om jag klarar av att fixa nått som kan läsa in xml väderdata från yr.no. Jag såg bara att det inte är aktuella mätningar utan väderprognos för varje heltimme kommade 4 dygn .Jag tror att det är onödigt att anropa urlen / xml parsern oftare än var fjärde? timme som yr updaterar xml filen så, så det får kanske bli en annan cron eller cachade xml värden.

Man får altså vädret som de tror det ska bli isf aktuella mätvärden men närmaste tiden borde det vara nästan lika bra och för väderberoende händelser är det kanske tom bra att kunna veta vädret i "förväg". De anger även hur mulet det är vilket skulle kunna bli användbar om man styrlampor utifrån solupp och nedgång, vid mulet väder behövs det ju tändas mycket tidigare…


Hur ska annat än temperatur vara formaterat i temps databasen, t ex vindstyrka och vindrikning, nederbörd, molnighet ?

Yr anger utöver temp i celcius
Nederbörd i mm
Vindrikning både i grader och i värderna N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW.
Vindstyrka i ms
Luftryck i hPa

De har också en hel rad olika symboler och koder för molnighet mm se http://om.yr.no/forklaring/symbol/ men man kanske kan minska de till 4 där 1 betyder klar himmel och 4 är mest mulet.
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

aryan wrote:Hur ska annat än temperatur vara formaterat i temps databasen, t ex vindstyrka och vindrikning, nederbörd, molnighet ?

Yr anger utöver temp i celcius
Nederbörd i mm
Vindrikning både i grader och i värderna N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW.
Vindstyrka i ms
Luftryck i hPa
Generellt sett är det ju upp till användaren hur man vill att ens HomeAutomation ska tolka värdena, det ställer man in under "Sensortyper" i HA-inställningarna. Standard är mm för nederbörd och m/s för vindstyrka. Vi verkar sakna default för lufttryck, men hPa känns ju rimligt. Problemet är väl vindriktning, eftersom det sparas som en float i databasen. Jag har faktiskt ingen aning om vad man brukar använda. Kanske räkna om det till grader? Alltså typ att N blir 0, E 90, S 180 och W 270...

/Daniel

edit: Googlade lite på det. Verkar som att jag gissade rätt, det är så man gör. Se t ex http://www.physicalgeography.net/fundam ... ompass.gif
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Tack, det bir inget problem med vindriktningen som float eftersom yr.no redan också anger den i grader t ex:

Code: Select all

<windDirection deg="227.2" code="SW" name="Southwest"/>
Funderar också lite om hur molnighet bäst skulle kunna sparas, där verkar det finnas en tio-stegs okta skala som baseras på åttondelar se https://sv.wikipedia.org/wiki/Molnmängd , dessvärre har inte yr.no något liknande värde direkt xml filen så där krävs då någon slags översättnings matris se
http://om.yr.no/forklaring/symbol/ några exempel jag såg

Code: Select all

<symbol number="1" numberEx="1" name="Clear sky" var="01d"/>
<symbol number="2" numberEx="2" name="Fair" var="mf/02n.14"/>
<symbol number="3" numberEx="3" name="Partly cloudy" var="mf/03n.14"/>
<symbol number="4" numberEx="4" name="Cloudy" var="04"/>
<symbol number="15" numberEx="15" name="Fog" var="15"/>
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

Kan notera att den här tråden fick igång det annars lite halvsovande utvecklingsteamet (dvs Tom och jag). Inte helt omöjligt att det kommer en release väldigt snart :D

/Daniel
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Toppen!

Jag har nu gjort lite som läser in xml yr.no väderprognosem ( http://www.yr.no/place/Sverige/Stockhol ... y_hour.xml ) till en multidimensionell array som ser ut så här:

Code: Select all

Array
(
    [2015-12-14 23:00:00] => Array
        (
            [temp] => -7
            [pressure] => 1023.8
            [precipitation] => 0
            [windspeed] => 1.4
            [windheading deg] => 235
            [windheading name] => Southwest
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 00:00:00] => Array
        (
            [temp] => -7
            [pressure] => 1023.8
            [precipitation] => 0
            [windspeed] => 1.5
            [windheading deg] => 240
            [windheading name] => West-southwest
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 01:00:00] => Array
        (
            [temp] => -7
            [pressure] => 1023.7
            [precipitation] => 0
            [windspeed] => 1.7
            [windheading deg] => 239.1
            [windheading name] => West-southwest
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 02:00:00] => Array
        (
            [temp] => -8
            [pressure] => 1023.8
            [precipitation] => 0
            [windspeed] => 1.9
            [windheading deg] => 243.9
            [windheading name] => West-southwest
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 03:00:00] => Array
        (
            [temp] => -8
            [pressure] => 1023.5
            [precipitation] => 0
            [windspeed] => 1.5
            [windheading deg] => 223.8
            [windheading name] => Southwest
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 04:00:00] => Array
        (
            [temp] => -7
            [pressure] => 1023.6
            [precipitation] => 0
            [windspeed] => 2.8
            [windheading deg] => 249.8
            [windheading name] => West-southwest
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 05:00:00] => Array
        (
            [temp] => -6
            [pressure] => 1023.8
            [precipitation] => 0
            [windspeed] => 2.8
            [windheading deg] => 264.6
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 06:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1023.7
            [precipitation] => 0
            [windspeed] => 2.3
            [windheading deg] => 245.1
            [windheading name] => West-southwest
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 07:00:00] => Array
        (
            [temp] => -3
            [pressure] => 1024
            [precipitation] => 0
            [windspeed] => 2.5
            [windheading deg] => 247.3
            [windheading name] => West-southwest
            [cloudcover okta] => 8
            [cloudcover name] => Fog
        )

    [2015-12-15 08:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1024.1
            [precipitation] => 0
            [windspeed] => 3.1
            [windheading deg] => 266
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 09:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1024.3
            [precipitation] => 0
            [windspeed] => 3.6
            [windheading deg] => 268.8
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 10:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1024.5
            [precipitation] => 0
            [windspeed] => 4.1
            [windheading deg] => 277
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 11:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1024.9
            [precipitation] => 0
            [windspeed] => 4.6
            [windheading deg] => 278.8
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 12:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1024.9
            [precipitation] => 0
            [windspeed] => 4.8
            [windheading deg] => 283.1
            [windheading name] => West-northwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 13:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1025.3
            [precipitation] => 0
            [windspeed] => 4.6
            [windheading deg] => 286.9
            [windheading name] => West-northwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-15 14:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1025.6
            [precipitation] => 0
            [windspeed] => 4.5
            [windheading deg] => 282.6
            [windheading name] => West-northwest
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 15:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1026
            [precipitation] => 0
            [windspeed] => 4.1
            [windheading deg] => 283.5
            [windheading name] => West-northwest
            [cloudcover okta] => 4
            [cloudcover name] => Fair
        )

    [2015-12-15 16:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1026.4
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 287
            [windheading name] => West-northwest
            [cloudcover okta] => 4
            [cloudcover name] => Fair
        )

    [2015-12-15 17:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1026.7
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 288.1
            [windheading name] => West-northwest
            [cloudcover okta] => 4
            [cloudcover name] => Fair
        )

    [2015-12-15 18:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1026.9
            [precipitation] => 0
            [windspeed] => 3.4
            [windheading deg] => 283.2
            [windheading name] => West-northwest
            [cloudcover okta] => 4
            [cloudcover name] => Fair
        )

    [2015-12-15 19:00:00] => Array
        (
            [temp] => -3
            [pressure] => 1026.9
            [precipitation] => 0
            [windspeed] => 3.3
            [windheading deg] => 279.6
            [windheading name] => West
            [cloudcover okta] => 4
            [cloudcover name] => Fair
        )

    [2015-12-15 20:00:00] => Array
        (
            [temp] => -3
            [pressure] => 1027.1
            [precipitation] => 0
            [windspeed] => 3.2
            [windheading deg] => 272.5
            [windheading name] => West
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 21:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1027.2
            [precipitation] => 0
            [windspeed] => 3.2
            [windheading deg] => 265.6
            [windheading name] => West
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 22:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1027.5
            [precipitation] => 0
            [windspeed] => 3.3
            [windheading deg] => 265.8
            [windheading name] => West
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-15 23:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1027.7
            [precipitation] => 0
            [windspeed] => 3.5
            [windheading deg] => 269.3
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 00:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1027.5
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 267.7
            [windheading name] => West
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-16 01:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1027.4
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 266.1
            [windheading name] => West
            [cloudcover okta] => 6
            [cloudcover name] => Partly cloudy
        )

    [2015-12-16 02:00:00] => Array
        (
            [temp] => -5
            [pressure] => 1027.1
            [precipitation] => 0
            [windspeed] => 3.7
            [windheading deg] => 260.6
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 03:00:00] => Array
        (
            [temp] => -5
            [pressure] => 1027.3
            [precipitation] => 0
            [windspeed] => 4.3
            [windheading deg] => 263.4
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 04:00:00] => Array
        (
            [temp] => -4
            [pressure] => 1026.8
            [precipitation] => 0
            [windspeed] => 4.8
            [windheading deg] => 272.5
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 05:00:00] => Array
        (
            [temp] => -3
            [pressure] => 1026.2
            [precipitation] => 0
            [windspeed] => 4.8
            [windheading deg] => 275.7
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 06:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1026.2
            [precipitation] => 0
            [windspeed] => 5.8
            [windheading deg] => 274.7
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 07:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1026.1
            [precipitation] => 0
            [windspeed] => 6.2
            [windheading deg] => 281.9
            [windheading name] => West-northwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 08:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1025.8
            [precipitation] => 0
            [windspeed] => 6.1
            [windheading deg] => 281.5
            [windheading name] => West-northwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 09:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1025.8
            [precipitation] => 0
            [windspeed] => 6.1
            [windheading deg] => 278.6
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 10:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1025.6
            [precipitation] => 0
            [windspeed] => 6.2
            [windheading deg] => 277
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 11:00:00] => Array
        (
            [temp] => 1
            [pressure] => 1025.5
            [precipitation] => 0
            [windspeed] => 6
            [windheading deg] => 278.5
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 12:00:00] => Array
        (
            [temp] => 1
            [pressure] => 1025.5
            [precipitation] => 0
            [windspeed] => 5.8
            [windheading deg] => 276.4
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 13:00:00] => Array
        (
            [temp] => 1
            [pressure] => 1025.3
            [precipitation] => 0
            [windspeed] => 5.2
            [windheading deg] => 274.9
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 14:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1025.1
            [precipitation] => 0
            [windspeed] => 4.9
            [windheading deg] => 269.4
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 15:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1025
            [precipitation] => 0
            [windspeed] => 4.8
            [windheading deg] => 267
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 16:00:00] => Array
        (
            [temp] => 0
            [pressure] => 1024.7
            [precipitation] => 0
            [windspeed] => 4.6
            [windheading deg] => 266.5
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 17:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1024.2
            [precipitation] => 0
            [windspeed] => 4.2
            [windheading deg] => 269.1
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 18:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1024
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 268.6
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 19:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1023.8
            [precipitation] => 0
            [windspeed] => 4.1
            [windheading deg] => 268
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 20:00:00] => Array
        (
            [temp] => -1
            [pressure] => 1023.3
            [precipitation] => 0
            [windspeed] => 3.8
            [windheading deg] => 266.5
            [windheading name] => West
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 21:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1023
            [precipitation] => 0
            [windspeed] => 3.5
            [windheading deg] => 251.7
            [windheading name] => West-southwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

    [2015-12-16 22:00:00] => Array
        (
            [temp] => -2
            [pressure] => 1022.5
            [precipitation] => 0
            [windspeed] => 3.6
            [windheading deg] => 233.7
            [windheading name] => Southwest
            [cloudcover okta] => 8
            [cloudcover name] => Cloudy
        )

)
Men nu är jag lite osäker på nästa steg
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Jag kan göra ett skript som skriver/uppdaterar i temps tabellen med dessa värden men jag vill gärna göra det så som HA är uppbyggd. Jag antar det innebär att jag ska skapa ett antal filar i parser mappen t ex:

Code: Select all

	example_logfiles:
		yrprognos:
			yr.txt
			yr_err.txt
	yrprognosparser_config_sample.php
	yrprognosparser_config.php
	yrprognosparser.php
	system_config:
		yrprognos.php
	system_config_samples:
		yrprognos.php
	systems:
		yrprognos.php
har jag tänkt rätt så?

En ny yrprognosparser.php isf att köra det i parser.php gör det enlare att köra anropet med annat intervall i ett eget cron, men man skull kunna koda in det i parser.php också och begränsa antalet url anrop / hämtningar av xml filen någon annanstans trots även när cron t ex kör parser.php varannan minut.

Ä det någon av de befintliga parsers (t ex cumulus) som kan vara bra att kolla på / använda som exempel på hur det ska se ut?
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

Nja, nu känns det som att du har krånglat till det lite väl mycket. Den enda fil du egentligen måste skapa är den som ligger i systems-mappen, där lägger du din kod. Den filen kommer att köras varje gång parsern körs. Det koden egentligen behöver göra är att för varje avläsning som ska skrivas till databasen sätta ihop en array med sensor_serial, temp_c och date och skicka till writeReading. Ta en titt på t ex yoctolight.php, det är nog den enklaste parsern. Sedan kan du även skapa en fil med inställningar i system_config_samples, vilken användaren förväntas kopiera över till system_config och modifiera efter behov.

Är du med då?

/Daniel
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Ok tack ja då är jag med. Jag kollar på det mera i kväll.

Får nog lägga till någon typ av cache funktion eller annat sätt att förhindra att xml filen kommer att hämtas lika ofta som parser.php körs eftersom det då finns en risk att filen hämtas i onödan från yr.no, den bör hämtas högst var 10e minut.
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

Hmmm... Jag tänker att egentligen vill du ju bara fråga yr om det är så att det har gått nog lång tid sedan senaste avläsningen, eller hur? Spontant tänker jag att du borde kunna använda funktionen getData($sensor, $interval) som ligger längst ner i sensors/dbfunctions.php. Skicka med ett lämpligt antal sekunder som andra argument och om du får tillbaka en tom array så finns det inga avläsningar inom intervallet. Dvs du behöver inte ens titta på värdena i arrayen, bara att om den är tom så är det dags att fråga yr igen :-)

/Daniel
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Ok det låter lovande. Jag har inte kommit så mkt längre för jag tänkte installera nya HA V3.1 först, men eftersom installern rekommenderade en nyare version av PHP så ville jag göra det också men den fanns för Wheezy, så nu slutade det med att jag gör en dist-upgrade till Jessie och det tar ett tag på en Raspberry Pi B. Känns lite som Pettson som ska baka en pannkakstårta :-)

Fö måste jag både uppdatera befintlig data i tabellen och lägga in nya rader efter att jag hämtat en xmlfil, ställer det till det?
Daniel
Posts: 317
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by Daniel »

Gällande PHP-version så funkar det säkert bra med en äldre version också. Det var mer det att vi resonerade så inför release att vi har ju faktiskt inte testat själva på någon jättegammal PHP på jättelänge, så vi kan inte gärna garantera att det funkar.

/Daniel
Senaste info och release om/av HomeAutomation hittas här http://karpero.mine.nu/ha
Latest info and release of HomeAutomation can be found here http://karpero.mine.nu/ha
aryan
Posts: 89
Joined: Fri Mar 17, 2023 9:45 am

Re: Minimera antal rader i tabellen temps

Post by aryan »

Fixade nu en enkel testsida yr.php som hämtar xml filen från yr, 2 ggr per timme och sätter in värderna för dessa ”sensor_serial” i temps:
Sverige_Stockholm_Örby_cloudcover
Sverige_Stockholm_Örby_precipitation
Sverige_Stockholm_Örby_pressure
Sverige_Stockholm_Örby_temp
Sverige_Stockholm_Örby_windheading
Sverige_Stockholm_Örby_windspeed

För att slippa dubba rader i tabellen och göra en för invecklat sql anrop la jag först till en unique index i tabellen som kombinerar sensor serial och date så här

Code: Select all

ALTER TABLE `temps` ADD UNIQUE `unique_index`(`sensor_serial`, `date`);
De sql anrop som yr.php sidan gör ser t ex ut så hä:

Code: Select all

INSERT `temps` (`sensor_serial`, `temp_c`, `date`) VALUES ('Sverige_Stockholm_Örby_temp','0','2015-12-17 02:00:00') ON DUPLICATE KEY UPDATE `temp_c` = '0';
Det funkar bra men när jag vill visa värdarna i grafer på sidan mätpunkter (?page=logs-measurements) kör jag fast. Antingen så visas alla värden i tabellen temperatur vilket t ex med 1014.7 för lufttryck gör att temperaturskalan blir tokigt, eller så visas de inte när ändrad mina nya sensorer på page=conf-sensors så att de är rätt typ osv.
Inga andra sensorer än sensortype 1 (temperature) och 2 (humidity) visas altså i grafer trots att jag t ex har en för lufttryck i tempsensors:

Så här är raderna för lufttryck nu i sensortypes och tempsensors tabeller:

Code: Select all

INSERT INTO `sensortypes` (`id`, `description`, `unit`, `gaugetype`, `min`, `max`, `low`, `high`, `sort`)
VALUES
	(8, 'Pressure', 'hPa', 'speedometer', 870, 1100, 870, 1100, 0);


INSERT INTO `tempsensors` (`id`, `serial`, `name`, `sensortype`, `sort`, `dateadded`, `gaugetype`, `min`, `max`, `low`, `high`)
VALUES
	(12, 'Sverige_Stockholm_&Ouml;rby_pressure', 'Lufttryck', 8, 0, '2015-12-17 00:27:33', 'speedometer', NULL, NULL, NULL, NULL);
Post Reply