Page 1 of 1

P1 uitlezen en naar file schrijven

Posted: Thu May 14, 2015 10:55 pm
by mastersnarf
Hallo allemaal

Ik ben een slimme meter aan het uitlezen en deze gegevens naar een bestand aan het schrijven.
Nu wil ik voor iedere dag een file hebben met de datum
als ik het volgende doe pi@raspberrypi ~ $ python P1.py >> `date +"%d-%m-%Y"`.txt dan wordt er een file aangemaakt met de datum.txt en dit is precies wat ik wil maar als ik nu deze opdracht */1 * * * * P1.py >> `date +"%d-%m-%Y"`.txt in een crontab zet gebeurt er niets.
De uitvoering zou om de 1 minuut naar de file moeten schrijven.

wie kan me vertellen waarom dit in de crontab niet werkt of wat ik verkeerd doe
Ik ben wel een beginnende gebruiker dus snap niet veel van de programeer taal

mvg Frans

Re: P1 uitlezen en naar file schrijven

Posted: Sat May 16, 2015 1:33 pm
by Canedje
mastersnarf wrote:Hallo allemaal

Ik ben een slimme meter aan het uitlezen en deze gegevens naar een bestand aan het schrijven.
Nu wil ik voor iedere dag een file hebben met de datum
als ik het volgende doe pi@raspberrypi ~ $ python P1.py >> `date +"%d-%m-%Y"`.txt dan wordt er een file aangemaakt met de datum.txt en dit is precies wat ik wil maar als ik nu deze opdracht */1 * * * * P1.py >> `date +"%d-%m-%Y"`.txt in een crontab zet gebeurt er niets.
De uitvoering zou om de 1 minuut naar de file moeten schrijven.

wie kan me vertellen waarom dit in de crontab niet werkt of wat ik verkeerd doe
Ik ben wel een beginnende gebruiker dus snap niet veel van de programeer taal

mvg Frans
de crontab opdracht moet vanaf de root:

Code: Select all

*/5 * * * * /usr/bin/python /home/ewh/p1uitlezer.py >/dev/null 2>&1
Ook ik lees de P1 meter uit en gebruik bovenstaande crontab opdracht
Die van jou wordt dan:

Code: Select all

*/1 * * * * /usr/bin/python /jou/path/naar file/P1.py >> `/jou/path/naarfile/date +"%d-%m-%Y"`.txt 
.
(Hierbij schrijf ik eventuele uitkomst weg naar de null file)
Vergeet niet dat de crontab vanuit sudo moet worden gedaan maw:

Code: Select all

sudo crontab -e

Re: P1 uitlezen en naar file schrijven

Posted: Sat May 16, 2015 4:12 pm
by mastersnarf
Canedje wrote:
mastersnarf wrote:Hallo allemaal

Ik ben een slimme meter aan het uitlezen en deze gegevens naar een bestand aan het schrijven.
Nu wil ik voor iedere dag een file hebben met de datum
als ik het volgende doe pi@raspberrypi ~ $ python P1.py >> `date +"%d-%m-%Y"`.txt dan wordt er een file aangemaakt met de datum.txt en dit is precies wat ik wil maar als ik nu deze opdracht */1 * * * * P1.py >> `date +"%d-%m-%Y"`.txt in een crontab zet gebeurt er niets.
De uitvoering zou om de 1 minuut naar de file moeten schrijven.

wie kan me vertellen waarom dit in de crontab niet werkt of wat ik verkeerd doe
Ik ben wel een beginnende gebruiker dus snap niet veel van de programeer taal

mvg Frans
de crontab opdracht moet vanaf de root:

Code: Select all

*/5 * * * * /usr/bin/python /home/ewh/p1uitlezer.py >/dev/null 2>&1
Ook ik lees de P1 meter uit en gebruik bovenstaande crontab opdracht
Die van jou wordt dan:

Code: Select all

*/1 * * * * /usr/bin/python /jou/path/naar file/P1.py >> `/jou/path/naarfile/date +"%d-%m-%Y"`.txt 
.
(Hierbij schrijf ik eventuele uitkomst weg naar de null file)
Vergeet niet dat de crontab vanuit sudo moet worden gedaan maw:

Code: Select all

sudo crontab -e
Heb het bovenstaande gedaan zoals aangegeven maar als file met datum voert de crontab niet uit.
mijn crontab ziet er zo uit
*/1 * * * * /usr/bin/python /home/pi/P1.py >> /media/DATA/`date +"%d-%m-%Y"`.txt

wie kan me verder helpen.

mvg Frans

Re: P1 uitlezen en naar file schrijven

Posted: Sun May 17, 2015 7:34 am
by Canedje
heb je de crontab -e als super user (sudo) aangemaakt?

Probeer anders eerst is een file zonder de datum aan te maken als test
Volgens mij ziet je crontab opdracht er nu goed uit al heb ik geen ervaring met de datum toevoeging in de filenaam.
Staan je quotes wel goed zo?

Re: P1 uitlezen en naar file schrijven

Posted: Sun May 17, 2015 10:28 am
by mastersnarf
Canedje wrote:heb je de crontab -e als super user (sudo) aangemaakt?

Probeer anders eerst is een file zonder de datum aan te maken als test
Volgens mij ziet je crontab opdracht er nu goed uit al heb ik geen ervaring met de datum toevoeging in de filenaam.
Staan je quotes wel goed zo?
crontab -e is aangemaakt als super user
opdracht werkt wel als bv log.txt maar niet als datum toe voegen

Re: P1 uitlezen en naar file schrijven

Posted: Sun May 17, 2015 10:36 am
by Canedje
mastersnarf wrote:
Canedje wrote:heb je de crontab -e als super user (sudo) aangemaakt?

Probeer anders eerst is een file zonder de datum aan te maken als test
Volgens mij ziet je crontab opdracht er nu goed uit al heb ik geen ervaring met de datum toevoeging in de filenaam.
Staan je quotes wel goed zo?
crontab -e is aangemaakt als super user
opdracht werkt wel als bv log.txt maar niet als datum toe voegen
Dat is al een stap vooruit.
Dan betekend het dat de manier waar je de datum mee aanmaakt niet werkt.
Klopt het dat de quotes goed staan?
Ik heb helaas geen ervaring met scripting van datum.
Volgens mij moeten je dubbele quotes rondom de datum er niet bij

In deze link wordt ook met datum gewerkt:
https://www.raspberrypi.org/learning/te ... worksheet/

Na wat googelen vond ik ook dit als optie:

Code: Select all

date "+%d/%m/%Y %H:%M"
Als laatste deze link Hier zie ik een $ teken voor de datum om aan te geven dat het een variabele is.
Je moet dus met de quotes en aanroepen van variabelen werken om het voor elkaar te krijgen.
http://xmodulo.com/how-to-append-curren ... cript.html


Je kan ook eerst een bash script file aanmaken die wel werkt en deze met crontab aanroepen

Re: P1 uitlezen en naar file schrijven

Posted: Fri May 22, 2015 7:36 am
by Canedje
Ik ben benieuwd is het gelukt?

Re: P1 uitlezen en naar file schrijven

Posted: Sat May 23, 2015 11:55 pm
by mastersnarf
Canedje wrote:Ik ben benieuwd is het gelukt?
nee het is niet gelukt heb nu domoticz op de rasperry gezet en ga daar even mee spelen (ziet er goed uit)
ga nog een interface bouwen die 4 uitgangen hebt zodat ik een tweede raspberry er op kan aansluiten zodat ik verder kan gaan met het loggen op datum