Ga naar inhoud


Cronjob, datum of tijd meegeven in logfile.


Con

Aanbevolen berichten

Deze had ik (uiteraard) al geprobeerd, het resultaat is;

 

2015-06-13 21:18:31,0.000,0.000,0.000,0.000,0.000,0.000,

 

Dus dat is um niet helemaal.

 

Voordeel is wel dat ik niets afneem :)

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites


  • Reacties 88
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Beste reacties in dit topic

Ik SUKKEL

echo "$line" | grep -q $1 ; then printf "%.3f," `expr substr $line 11 $2`",

 

Ik weet ZEKER dat ik vandaag OOK vergeten ben om $3 niet te

wijzigen in $2. (opa (ik) wordt oud (mag ik hopen))...

 

De volgende oplossing wordt helaas morgenmiddag (mag ik hopen).

 

Maar alles heeft zware progressie, dank voor je input.

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Deze had ik (uiteraard) al geprobeerd, het resultaat is;

 

2015-06-13 21:18:31,0.000,0.000,0.000,0.000,0.000,0.000,

 

Dus dat is um niet helemaal.

 

Voordeel is wel dat ik niets afneem :)

 

Is wel gek dat die nu allemaal 0.000 weg schrijft; ik had immers je lijntje code gerecycleerd.

Mogelijk heb ik ergens een aanpassing gemaakt die niet snor zit dan; ook al zie ik niet zo direct een verschil met jouw code in #74

 

 

Ik SUKKEL

echo "$line" | grep -q $1 ; then printf "%.3f," `expr substr $line 11 $2`",

 

Ik weet ZEKER dat ik vandaag OOK vergeten ben om $3 niet te

wijzigen in $2. (opa (ik) wordt oud (mag ik hopen))...

 

De volgende oplossing wordt helaas morgenmiddag (mag ik hopen).

 

Maar alles heeft zware progressie, dank voor je input.

Nou nou, niet te hard voor jezelf; het is een leerproces (ontdekkingsreis).

En, geen probleem. Met plezier gedaan.

 

 

Rekening houdend dat je met het eerste script '0.000' als output had, zullen we best nog even kijken naar het stukje code dat de templog uitleest en de andere log opvult.

Mogelijk zit die printf toch nog ergens te rotzooien met de output die we hadden.

 

En nou zie ik ook dat er 2 spaties staan achter het tweede "-teken:

printf "%.3f,"  `expr substr $line 11 $2`

moet misschien beter

printf "%.3f," `expr substr $line 11 $2`

worden...

 

 

Misschien is dit het; misschien ook niet.

 

 

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Nee, Nee, Nee, het werkt nu perfect, die 11 en $2!!!

 

Ik doelde op het vermenigvuldigen met 1000.

 

Dat wordt morgen.

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Ik kom er niet uit, die vermenigvuldiging ganiegoenie.

 

a=0001.340

b=$(printf %.3f $a)

echo $a

echo $b

echo $( $b \* 1000 )

 

Dit is een van de 100 varianten (overdrijven is een vak)

die ik heb geprobeerd. Het lukt niet.

 

Hierboven is sterk afwijkend maar ik probeerde meer

naar de basis te gaan vanwege de foutmeldingen.

 

Met deze setting krijg ik;

000.1340

1.340

command not found

 

Maar ook met vele variaties met expr krijg ik

de meest exotische foutmeldingen, how bizar.

 

Sufgesurfd en tijd om het hier neer te leggen...

aangepast door Con

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Na nog eens 2 uur ploeteren ben ik eruit;

a=0001.340

c=1000

b=$(printf %.3f $a)

e=$(echo $b \* $c | bc)

echo $a

echo $b

echo $e

 

0001.340

1.340

1340.000

 

nu nog even fine-tunen.

"bc" was niet geinstalleerd.

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Korter kan ik het niet schrijven

 

a=0011.347

a=$(echo $a \* 1000 | bc) ; a=${a%.*}

echo $a

 

Resultaat;

11347

 

Als aanvulling ${a%.*} maakt er een integer van.

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Mja, bc kan inderdaad beter van pas komen.

Geen rekening gehouden met mogelijke decimalen.

 

En korter dan dat zal het ook niet meer worden...

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Het loggen gaat nu voortreffelijk, hierna een deelresultaat.

 

Nu moet ik ook nog mijn inverter loggen, het lezen daarvan

gaat op een andere manier. Interesse? (alleen ben ik een

nog te zwakke broeder :)) Zoja dan start ik wel een nieuw topic.

 

En hier het resultaat (prachtig) alles in Wattjes;

2015-06-14 23:41:31,3318304,2209995,990489,2321022,490,0,

2015-06-14 23:42:31,3318312,2209995,990489,2321022,490,0,

2015-06-14 23:43:31,3318321,2209995,990489,2321022,480,0,

2015-06-14 23:44:31,3318329,2209995,990489,2321022,480,0,

aangepast door Con

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

start een ander draadje; met voorbeeld data zoals het uitgelezen wordt en data zoals je het zou willen loggen.

 

Ik kijk wel even mee :)

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Ik zie het nu pas, tja soms (veel teveel) MOET ik werken sh...

En ik vind dit zo leuk. ff eten en dan een nieuw topic.

 

Toppie. Nieuwe een nieuw strijdperk is (bijna) aangebroken.

Ik verheug me er nu al op...

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Voor de volledigheid hier nog even het hele script;

#!/bin/sh

#variabelen in gebruik
tempfile=p1_tmp.txt
logfile=p1.txt

log()
{
#om deze op te roepen moeten we 3 paramters opgeven
#$1 = de waarde om te zoeken met grep
#11 = start positie van substring functie
#$2 = lengte van de substring
if echo "$line" | grep -q $1; then
  x=`expr substr $line 11 $2`
  e=$(echo $x \* 1000 | bc) ; f=${e%.*}
  printf $f"," >> $logfile
fi
}

echo "" > p1_tmp.txt
#start uitlezen en stuur naar de achtergrond; log naar tijdelijk bestand
(cu -l /dev/P1meter -s 9600 --parity=none >> $tempfile)&

#maak een var 'counter' en zet deze op 0
ctr=0

echo "\n"$(date +\%F" "\%T",\c") >> $logfile

#lees de temp-log uit
while read line
do
	#Indien de teller < 18 zullen we de lijn toevoegen aan de grote logfile
	if [ $ctr -lt 18 ]; then
		ctr=$((ctr+1)) #verhoog ctr met 1
		#schrijf 6 lijnen naar grote log
		log "2.7.0" 7
		log "1.7.0" 7
		log "1.8.1" 9
		log "1.8.2" 9
		log "2.8.1" 9
		log "2.8.2" 9
	elif [ $ctr -gt 18 ]; then
		#in geval we meer dan 18 lijnen uitgelezen hebben, willen we cu stoppen
		#eerst het achtergrond proces terug naar de voorgrond brengen
		fg
		#dan afsluiten door de input te sturen met xdotool
		xdotool key ~.
	fi
done < $tempfile

#sluit script af

exit 0

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Con,

 

de reden waarom ik de 11 eerst ook als variabele bij de functie had gezet als $2, was omdat je op termijn mogelijk een of andere update hebt aan je installatie waardoor er voor een bepaalde lijn bv vanaf positie 8 gelezen moet worden.

 

Op zich kan je nu terugvallen op de voorbeelden :) maar het vraagt wel enige rework op dat ogenblik van je script.

 

Maar toch, knap gedaan.

[Vu+ Solo4K] - [VTi 13.x]

[TVV Basic+] - [CD TopHD]
Ik vind het nieuwe overzicht met ongelezen topics in een tijdslijn maar niks...

Link naar reactie
Delen op andere sites

Dat die 11 als $2 stond was op zich heel logisch.

 

Maar als iets eenmaal werkt dan probeer ik het altijd

weer korter en sneller.

 

30 jaar geleden zat ik ook tot midden in de nacht met

BBC basic te klieren, ook met functies en zoals ze dat

daar noemden procedures. Daar gold ook al voor mij

hoe korter hoe beter. Maar dat is het gemakkelijkste.

 

Om het eerst "normaal" werkend te krijgen was de kunst.

Het finetunen, ach, dat was een kwestie van trial and error.

 

Maar ook met deze 11 heb ik weer uren lopen klojen en

door jouw toedoen viel het kwartje van de $3 die daardoor

verdween en wijzigde in $2, logisch maar kom er maar ff op.

 

Jij wel dus :) , ik misbruik het excuus dat het al erg

laat was :)

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds maart 2021 glasvezel via KPN.

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

Intel Nuc i7 met W10, Gigabyte Brix met Home Assistant, 17 Shelly's en 2 ESP-tjes.

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
×
×
  • Nieuwe aanmaken...