Auteur Topic: Luftdaten script 2018-07-18  (gelezen 96 keer)

heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Luftdaten script 2018-07-18
« Gepost op: 25 augustus 2018, 10:22:44 »
Collega's ik probeer een nieuwe versie van het Luftdaten script te implementeren om ook de regel met het 7 dagen gemiddelde erbij te hebben maar kom er niet uit. Ik volg de instructies in het leesmij bestand.

1. de luftdaten1 gaat prima https://weer.heerschap.net/weather28/luftdaten/_test1.php
2. maar de luftdaten2 werkt niet. Ik heb sensorluft2.php in de weather28 map gekopieerd. Ik heb het pad van de sensor aangepast.

Verzend data naar eigen API: 1
Serveradres: weer.heerschap.net
Pad: /weather28/sensorluft2.php
Poort: 443
Gebruiker:
Wachtwoord:


ik gebruik poort 443 omdat ik op https zit. Dit werkte met de vorige versie van het script (sensordata.php)

2b) Ik heb 2 regels in het sensorluft2.php uitgezet omdat ze conflicteren (dus # er voor gezet) maar dat veranderd niets.
$save_last_mes  = true;         // copy upload to disk also
#$save_last_mes  = false;

#$load_regional  = true; // load sensor data to LOCAL site (f.i. leuvenair) needs userid-pw
$load_regional  = false;

In de weather28/data map zie ik de csv bestanden van het oude script maar er worden geen nieuwe "arr" bestanden bijgeschreven, ook niet na een herstart van de sensor gisteravond.

3) ik ben nog niet op dit punt maar het lijkt mij dat je het my_AHQIluftpage cq -dash.php moet aanpassen om aan te geven of je luftdaten1 dan wel 2 gebruikt. In de code staat alleen een verwijzing naar luftdaten.php.

Ik ga het denk ik nogmaals installeren vanuit het zip bestand om uit te sluiten dat een bestand via kopieren van een oudere versie van het script is. Enige suggesties van jullie kant wat er mis kan zijn?

groet jean-paul


wvdkuil

  • Administrator
  • Hero Member
  • *****
  • Berichten: 634
    • Bekijk profiel
    • Template Support
Re: Luftdaten script 2018-07-18
« Reactie #1 Gepost op: 25 augustus 2018, 10:27:20 »
De luftdaten sensor kan niet via https verzenden. Dan loopt de sensor vast en reboot.

Tenminste dat is bij mij de ervaring,

Wim

Vantage VUE / MB-Nano https://weer.sluispark.be/
Vantage VP2 / USB logger / Meteobridge https://www.weerstation-herent.be/

Support Leuven-Template at  https://support.leuven-template.eu/
Support PWS_Dashboard (HWS-Template) http://pwsdashboard.weather-template.com/

heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Re: Luftdaten script 2018-07-18
« Reactie #2 Gepost op: 25 augustus 2018, 11:24:06 »
https en luftdaten werkte bij mij al een paar maanden zonder problemen (met het oude script), ook nu zie ik in de sensor management geen problemen. Ik heb eigenlijk alleen het pad veranderd naar het sensorluft2.php script.  (was sensordata.php) :-\

update: ik zet de sensor via poort 443 weer op sensordata.php en ik zie dat de CSV bestanden weer geschreven worden in de data map...
« Laatst bewerkt op: 25 augustus 2018, 11:30:16 door heersje »

wvdkuil

  • Administrator
  • Hero Member
  • *****
  • Berichten: 634
    • Bekijk profiel
    • Template Support
Re: Luftdaten script 2018-07-18
« Reactie #3 Gepost op: 25 augustus 2018, 12:42:52 »
https en luftdaten werkte bij mij al een paar maanden zonder problemen (met het oude script), ook nu zie ik in de sensor management geen problemen. Ik heb eigenlijk alleen het pad veranderd naar het sensorluft2.php script.  (was sensordata.php) :-\

update: ik zet de sensor via poort 443 weer op sensordata.php en ik zie dat de CSV bestanden weer geschreven worden in de data map...
weer.heerschap.net/weather28/sensordata.php  n=> OK, ook met https
weer.heerschap.net/weather28/sensorluft2.php   => geeft een 500 error d.w.z. een parse error

Dus er zit een typefout in sensorluft2.php
En helaas kan ik dus niets in het script zien, door die typefout.
Unzip test_luft.php.zip en plaats test_luft.php in de map weather28/
Voer dan uit: weer.heerschap.net/weather28/test_luft.php en we zien de parse error.

Wim
Vantage VUE / MB-Nano https://weer.sluispark.be/
Vantage VP2 / USB logger / Meteobridge https://www.weerstation-herent.be/

Support Leuven-Template at  https://support.leuven-template.eu/
Support PWS_Dashboard (HWS-Template) http://pwsdashboard.weather-template.com/

heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Re: Luftdaten script 2018-07-18
« Reactie #4 Gepost op: 25 augustus 2018, 14:18:26 »
dank Wim dit is het resultaat
Parse error: syntax error, unexpected '}', expecting end of file in /subdomains/weer/weather28/sensorluft2.php on line 69
Ik heb die accolade weggehaald  aan het einde van deze regel
#
if (isset ($timezone)) { date_default_timezone_set($timezone);} }
#

en het testbestand geeft dan een leeg resultaat (dat is goed neem ik aan)

Ik heb nog altijd geen data en als ik _test2.php draai krijg ik dit
Warning: file_get_contents(./data/luft_24data_esp8266-6879252.arr): failed to open stream: No such file or directory in /subdomains/weer/weather28/luftdaten/ws_luftdaten2.php on line 106
aangezien sensorluft2.php direct onder weather28 (regel 4.1 uit leesmij) staat ga ik er van uit dat de data map de map xxx/weather28/data is (er staat gewoon data in het script en niet ./data maar in sensordata.php was dat ook al en daar werkt het). En inderdaad onder die map verschijnt nu een arr databestand. Onder de map luftdaten is ook een map data en het lijkt mij dat op basis van de foutmelding daar gezocht wordt.

Ik zie 2 mogelijkheden
1. Ik laat de sensor communiceren met het sensorluft2.php in de map luftdaten (in weerwil van regel 4.1 van het lees mij bestand)
of
2. ik moet de data locatie in sensorluft2.php uit de weather28 root veranderen naar ./luftdaten/data
#$data_dir       = 'data';
$data_dir       = './luftdaten/data';
3. of ik zet in ws_luftdaten2.php de bron van data als ../data (twee puntjes dus)
Of doe ik iets anders verkeerd?

Update: heb optie 3 toegepast en _test2.php werkt inderdaad

Jean-Paul



« Laatst bewerkt op: 25 augustus 2018, 14:24:22 door heersje »

heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Re: Luftdaten script 2018-07-18
« Reactie #5 Gepost op: 25 augustus 2018, 14:54:17 »
Als bovenstaande correct is (../data) dan rest mij nog het laatste punt uit de originele post. Ik denk dat in my_AqhiLuftDash.php cq Page een verwijzing moet worden gemaakt naar luftdaten1 of luftdaten2 nu staat er op regel 74 van Page
#----------------- Load sensor processing script
$AQscript       = '_my_scripts/ws_luftdaten.php';       // leave as is
Nu heb ik een ws_luftdaten.php van mijn vorige installatie en zie dan ook de oude data. Het hernoemen van dit bestand naar ws_luftdaten-oud.php en ws_luftdaten2.php naar ws_luftdaten.php werkt helaas echter niet.
helaas ook een 2 er achter plakken in het Dash script levert niks op
#----------------- Load sensor processing script
$AQscript       = '_my_scripts/ws_luftdaten2.php';       // leave as is




wvdkuil

  • Administrator
  • Hero Member
  • *****
  • Berichten: 634
    • Bekijk profiel
    • Template Support
Re: Luftdaten script 2018-07-18
« Reactie #6 Gepost op: 25 augustus 2018, 15:31:57 »
Vraag: waar staat het ws_luftdaten2.php script.

https://weer.heerschap.net/weather28/luftdaten/_leesmij%20EERST.pdf   
Punt 4.4 is dus akkoord, test2 werkt.

Dan punt 5, nu moeten de scripts naar de _my_scripts verplaatst worden.

En inderdaad in _my_scripts/my_AqhiLuftDash.php  moet je kiezen of je ws_luftdaten2.php of ws_luftdaten1.php wilt uitvoeren.
Nu staat daar nog de link naar de oude versie. Dat was ik nog vergeten aan te passen. Sorry.

Succes, Wim
P.S.
Ik heb het dashboard script aangepast. Wil je het voor me testen?
Alvast bedankt

Wim


« Laatst bewerkt op: 25 augustus 2018, 15:43:57 door wvdkuil »
Vantage VUE / MB-Nano https://weer.sluispark.be/
Vantage VP2 / USB logger / Meteobridge https://www.weerstation-herent.be/

Support Leuven-Template at  https://support.leuven-template.eu/
Support PWS_Dashboard (HWS-Template) http://pwsdashboard.weather-template.com/

heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Re: Luftdaten script 2018-07-18
« Reactie #7 Gepost op: 25 augustus 2018, 18:37:24 »
Hallo Wim,

Citaat
Dat was ik nog vergeten aan te passen. Sorry.

Dat geeft natuurlijk helemaal niets, de bedoeling die ik heb met mijn opmerkingen is dat jij als maker feedback krijgt van uit de gedachtegang van de gebruiker met de bedoeling om een steeds beter resultaat te krijgen. Voor het geval er verwarring is over de locatie van bestanden. Dit is mijn interpretatie van de leesmij:
1. het script staat in een zip bestand met daarin een map luftdaten, de logische stap is om die gehele map met alle bestanden onder weather28 te hangen dus xxx/weather28/luftdaten/#alle luftdaten mappen en bestanden#. (stap 2.1)
2. vervolgens wordt er getest en plaats je alleen het bestand sensorluft2.php in de map xxx/weather28, je sensor communiceert met dit bestand  en ws_luftdaten2.php blijft dus in de map xxx/weather28/luftdaten staan (stap 4.1 en 4.2). In mijn geval slaat sensorluft2.php de gegevens op in de map xxx/weather28/data . In het sensorluft2.php script wordt de locatie als volgt bepaald

#
$data_dir       = 'data';
#$data_dir       = './cache';
#
   

Ik weet niet hoe PHP die variabele interpreteert ik verwachtte iets als ./data

3. Tenslotte kopieer je een aantal bestanden waaronder ws_luftdaten2.php naar  /xxx/weather28/_my_scripts

Citaat
Vraag: waar staat het ws_luftdaten2.php script.
Dus het ws_luftdaten2 script staat op 2 locaties in de luftdaten map en in de _my_scripts map. 


Dank voor het script de keuze tussen 1 en 2 is nu duidelijk aangegeven maar ik moest nu weer het extra puntje bij ../data weghalen voor het script om te werken. Ik begrijp niet wat het perspectief is van het script maar dat moet dus xxx/weather28 zijn.

# ----------  we load our own sensor to our site
$useOwnDir      = './data/';   
$useOwnData     = $useOwnDir.'luft_24data_'.$userSensor.'.arr';

Voor de my_AqhiLuftPage.php zal eenzelfde ingreep nodig zijn. Met copy en pasten  (en de huidige regel over locatie uit te zetten) lukt het mij om een en ander weer te geven maar verlies ik de madavi grafiekjes. Dus dat maar weer even terug gezet.



heersje

  • Gebruiker van Leuven-Template
  • Sr. Member
  • *
  • Berichten: 93
    • Bekijk profiel
    • Weer-Weather-Meteo Vossem
Re: Luftdaten script 2018-07-18
« Reactie #8 Gepost op: 26 augustus 2018, 11:15:35 »
Citaat
Voor de my_AqhiLuftPage.php zal eenzelfde ingreep nodig zijn. Met copy en pasten  (en de huidige regel over locatie uit te zetten) lukt het mij om een en ander weer te geven maar verlies ik de madavi grafiekjes. Dus dat maar weer even terug gezet.

Wim ik heb het probleem boven water denk ik. In ws_luftdaten2.php definieer je een variable $userSensor

$userSensor     = 'esp8266-6879252';    # our sensor as we registered by luftdaten example 1329006Zoals je ziet geef je als voorbeeld alleen een 7 cijferige code.  Ik merkte gisteren al dat dat niet werkte  voor de Dash pagina en je er esp8266- voor moet plaatsen omdat de fijnstofmeter bij het data wegschrijven dit esp8266- ook aan de naam toevoegt.

Het probleem is dat je op regel 109 van de My_Ahqiluft_Page wel esp-8266 hard codeert voor de variabele $sensor_graphs. En daarom werken de grafiekjes niet meer omdat je dan dubbelop esp-8266 in de naam hebt staan en dus naar een niet bestaande grafiek verwijst.

De oplossing:
1) ik gebruik de in dit draadje update van de Dash pagina
2) ik verander in de   My_Ahqiluft_Page de volgende regels
regel 74: ik voeg een 2tje toe voor het benodigde script
#----------------- Load sensor processing script
$AQscript       = '_my_scripts/ws_luftdaten2.php';       // leave as is
regel 109: ik delete 'esp8266-'.
$sensor_graphs  =  $userSensor.'-sds011';
En daarmee werkt een en ander weer.

groet Jean-Paul