Räknaren började om från noll

Teknisk support för produkter som finns på http://www.m.nu. Generella diskussioner rörande hårdvara hänvisas till teknikforumet.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Räknaren började om från noll

Inlägg av bjornsson »

Var och kopplade om lite i 1wire kedjan och efter inkopplingen så började räknaren för elen om från noll igen, vilket resulterar i lite lustiga värden :roll:

Går det att tvinga den att fortsätta från där den slutade på något vis?
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Räknaren började om från noll

Inlägg av elf98 »

Antagligen är batteriet slut i räknaren och när den tappar spänningen från nätet nollas den. Du har inte kopplat en LED-detektor via batteriet?

Det finns inte något sätt att sätta räknarvärdet, man måste hålla koll på förändringarna och inte absolutvärdet. Då får man "fel" en gång när värdet slår över och sedan rullar det på utan problem.
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
sege
Tar hemautomation på allvar
Inlägg: 157
Blev medlem: 05 feb 2008, 11:36
Ort: Ingarö
Kontakt:

Re: Räknaren började om från noll

Inlägg av sege »

Jag har kodat in en 'offset' i mitt system så räknaren har minskat eller ökat för mycket enligt vissa kriterier mot förra värdet räknar jag om offset och sparar om som nytt värde som jag sen utgår ifrån. På det viset anser jag mig få minimalt med fel i databasen.

Annars fick jag världens knas när räknaren slog runt eller fick totalt krupp vid något tillfälle. Trodde det var batteriet men den har hanterat spänningslöst efter det så vetifasen vad det var.

Typ så här, första siffra är räknare, efter plus är eventuellt offset och sista siffran är vad jag lagrar i SQL:
1+0 1
2+0 2
3+0 3
1+2 3 (3-1 = offset två)
2+2 4
3+2 5
4+2 6
5+2 7
2+5 7 (7-2 = offset fem)
3+5 8
4+5 9

Hmm, om det går att begripa och jag tror det var så jag gjorde. Stäm mig om jag tänkte fel här lite raskt. :D
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: Räknaren började om från noll

Inlägg av Plutonium »

Jag är dum så jag kommer att stämma dig :-)

Jag förstår syftet med offset men inte logiken riktigt, antingen så sitter jag här i världen helt själv och kliar mig i huvudet eller så är jag bara dum..

Har du någon kodsnutt man kan kika på? Bash, php etc funkar bättre än svenska - för mig ialf ;-)
http://essunga.org
Moderator - Temperatur.nu
sege
Tar hemautomation på allvar
Inlägg: 157
Blev medlem: 05 feb 2008, 11:36
Ort: Ingarö
Kontakt:

Re: Räknaren började om från noll

Inlägg av sege »

Logiken fungerar iallafall, jag har aldrig fel i min kära databas längre vilket jag hade förut. Är kanske enklare att hantera om man sparar förändring mot förra värde hela tiden istället för att bara räkna upp som jag gör.

Varning för att folk som kan koda på riktigt börjar grina:

Kod: Markera allt

if int(self.data) + int(self.offset) < int(self.lastvalue):
  print "SMALLER: " + sensor_name + " " + self.data + " " + self.lastvalue + " " + str(int(self.lastvalue) - int(self.data))
  self.offset = int(self.lastvalue) - int(self.data)
  SQL = "UPDATE 1wire SET offset='" + str(self.offset) + "' WHERE sensor_name='" + sensor_name + "'"
  self.DB.runSQL(SQL)
elif int(self.data) + int(self.offset) > int(self.lastvalue) + 500000:
  print "TOO BIG!!! Look: "  + sensor_name + " " + self.data + " " + self.lastvalue + " " + str(int(self.lastvalue) - int(self.data))
  self.offset = int(self.lastvalue) - int(self.data)
  SQL = "UPDATE 1wire SET offset='" + str(self.offset) + "' WHERE sensor_name='" + sensor_name + "'"
  self.DB.runSQL(SQL)
self.data = str(int(self.offset) + int(self.data))

bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Räknaren började om från noll

Inlägg av bjornsson »

elf98 skrev:Antagligen är batteriet slut i räknaren och när den tappar spänningen från nätet nollas den. Du har inte kopplat en LED-detektor via batteriet?

Det finns inte något sätt att sätta räknarvärdet, man måste hålla koll på förändringarna och inte absolutvärdet. Då får man "fel" en gång när värdet slår över och sedan rullar det på utan problem.
Får testa å byta det då, kört den i två år ungefär.
Måste nyligen tagit slut för hade den urkopplad för ca 2 veckor sedan och då gick det bra :)

Mins inte riktigt hur den är kopplad men har gjort enligt wikin som finns här.

Jo det funkar ju men gör jag en koll hur mycket huset förbrukat senaste veckan så får jag felaktigt värde :)
Går det att få till?
Menar vill jag plocka fram totala elförbrukningen för året blir den ju missvisande då den från dagen den nollades hoppade från ca 28000000 i databasen till noll.

Om du kollar här
http://bjornsson.no-ip.com/smartphone/
Sedan el/ månads förbrukning.
Får ju en minus förbrukning på 28.000kwh :)
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Räknaren började om från noll

Inlägg av Niklas »

RRD är bra på det sätt att det funkar även om räknaren börjar om från 0. Det gäller bara att man skapar rätt typ av RRD-databas. Min börjar om från 0 efter ett strömavbrott. Jag har haft min räknare i flera år och jag orkar inte plocka bort den för att byta batteri (måste löda också). Jag har den matad med separat adapter men går strömmen så hjälper ju inte det. ;-)
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Räknaren började om från noll

Inlägg av bjornsson »

RRD är linux baserat va?
Kanske skulle satt sig in i det och emigrerat från Microsoft :)
PatrikN78
Tar hemautomation på allvar
Inlägg: 99
Blev medlem: 24 dec 2011, 16:24
Ort: Jämjö

Re: Räknaren började om från noll

Inlägg av PatrikN78 »

bjornsson skrev:RRD är linux baserat va?
Kanske skulle satt sig in i det och emigrerat från Microsoft :)
njae det ska väl gå på Windows också.
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Räknaren började om från noll

Inlägg av bjornsson »

sege skrev:Jag har kodat in en 'offset' i mitt system så räknaren har minskat eller ökat för mycket enligt vissa kriterier mot förra värdet räknar jag om offset och sparar om som nytt värde som jag sen utgår ifrån. På det viset anser jag mig få minimalt med fel i databasen.

Annars fick jag världens knas när räknaren slog runt eller fick totalt krupp vid något tillfälle. Trodde det var batteriet men den har hanterat spänningslöst efter det så vetifasen vad det var.

Typ så här, första siffra är räknare, efter plus är eventuellt offset och sista siffran är vad jag lagrar i SQL:
1+0 1
2+0 2
3+0 3
1+2 3 (3-1 = offset två)
2+2 4
3+2 5
4+2 6
5+2 7
2+5 7 (7-2 = offset fem)
3+5 8
4+5 9

Hmm, om det går att begripa och jag tror det var så jag gjorde. Stäm mig om jag tänkte fel här lite raskt. :D


Hur skulle det se ut med mina värden, så här de åtta värdena ut som jag har i mysql databas precis när det blev nollat.


28747452
28747479
28747504
28747536
141
168
193
222
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Räknaren började om från noll

Inlägg av Niklas »

Man får liksom räkna skillnaden mellan två värden som verkar rimligt antar jag.
Det lär ju bli ett minusvärde när räknaren nollställs och då kan man ju i kod vänta på en ny avläsning och räkna ut skillnaden först när det blir + igen.. typ. Med tanke på att det aldrig kan gå bakåt om man nu inte producerar en massa el själv? ;-)
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Räknaren började om från noll

Inlägg av bjornsson »

Ja precis.
Men hur gör jag det då? :D

Kör msure nu som loggar.
sege
Tar hemautomation på allvar
Inlägg: 157
Blev medlem: 05 feb 2008, 11:36
Ort: Ingarö
Kontakt:

Re: Räknaren började om från noll

Inlägg av sege »

bjornsson skrev:Hur skulle det se ut med mina värden, så här de åtta värdena ut som jag har i mysql databas precis när det blev nollat.
28747452
28747479
28747504
28747536
141+28747395 (28747536-141 = 28747395 = offset)
168+28747395 = 28747563
193+28747395 = 28747588
222+28747395 = 28747617

Så skulle det bli. Hur man gör det där i mSure vet jag inte dock, kanske inte är möjligt. Precis som Niklas säger, så när det gäller energi har jag satt så det aldrig någonsin kan minska och om det är över vadjagnusatt så räknar jag också om, min räknare fick krupp uppåt en gång på grund av att LED-läsaren på skåpet lossnade lite och då hände det konstigheter.

Funkar i min värld när jag läser av energi en gång varje minut, läser man mer sällan 'tappar' man ju mer på mitt sätt att räkna.
bjornsson
Hemautomation - det är mer än en hobby
Inlägg: 403
Blev medlem: 25 aug 2010, 09:06
Ort: Bräcke

Re: Räknaren började om från noll

Inlägg av bjornsson »

Vad kör du för mjukvara för att läsa utav?
Lägger du in offset värdet själv?
Eller är det något som räknas ut själv?
Går det att implementera detta på min befintliga databas?
sege
Tar hemautomation på allvar
Inlägg: 157
Blev medlem: 05 feb 2008, 11:36
Ort: Ingarö
Kontakt:

Re: Räknaren började om från noll

Inlägg av sege »

Jag har hemmasnickrat som läser värdena, jag skrev även en Python-funktion för att 'städa ur' min gamla databas som hade värden som din som studsade fram och tillbaka.

Det är dock _extremt_ ruttet skrivet och anpassat för min databas så det är nog inget du har nytta av, tyvärr.
Skriv svar