Giter VIP home page Giter VIP logo

energylogging's People

Contributors

curlymoo avatar mcmd1962 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mcmd1962

energylogging's Issues

Nog een foutje bij het aanmaken van de tabellen.

CurlyMo, Ik heb nog een foutje ontdekt, de kolom 'name' in de 'devices' tabel moet uniek zijn, anders krijg je meerdere devices met dezelfde naam en dan gaat het fout bij mysql.py.

Ik kreeg deze fout bij het draaien van mysql.py:
(1242, 'Subquery returns more than 1 row')

na het invoeren van dit in mysql:

ALTER IGNORE TABLE devices ADD UNIQUE (name);

draait het allemaal goed en krijg ik mooie grafieken te zien.

Can't use your software

Hoi,

Ik probeer jou raspberry software te bruiken om mijn slimme meter uit te lezen. maar loop bij het 3e punt al vast. (3.Change the settings in the cmdline.txt), maar dit bestand is niet te lezen.
Ook als ik de image gewoon op een SD kaart zet start de raspberry ook niet op.
kan jij mij verder helpen.

mvg Gerard

regular expressions in p1read.py

Ik probeer e.e.a. te porten naar arch OS op RPI. Bij het bekijken van de p1read.py code zie ik het volgende:

  • je gaat uit van 20 regels in de P1 datagram. Waarom dit niet gewoon dynamisch houden en checken of einde datagram ('!') bericht komt?

  • voor iedere meetpunt doe je eerst een re.match, en indien positief, gevolgd door een re.search. Ben zelf nog aan het experimenteren, maar zou je bijvoorbeeld de key/value paren kunnen opslaan in een dictionary en deze later gebruiken. Iets als:

    Initialisatie deel:

    OBIScode2name = {
    '1.7.0': 'ElecticityTotalUsed',
    '1.8.1': 'ElecticityRateUsedOffPeak',
    '1.8.2': 'ElecticityRateUsedPeak',
    '2.7.0': 'ElecticityTotalGenerated',
    '2.8.1': 'ElecticityRateGeneratedOffPeak',
    '2.8.2': 'ElecticityRateGeneratedPeak',
    '24.3.0': 'GasLogDateTime',
    '96.1.0': 'GasSerial',
    '96.1.1': 'ElecticitySerial',
    '96.3.10': 'ElecticitySwitchPosition',
    '96.14.0': 'ElecticityCurrentRate',
    }

    OBIScodes = '|'.join(OBIScode2name)
    pattern = '\d-\d:(?P%s)((?P\w+|\d+|\d+.\d+|)(?:*kWh?|))' % OBIScodes
    OBISline_RE = re.compile(pattern)
    metingdata = {}

en dan in loop iets als:

result = OBISline_RE.search(line)
if result:
metingdata[result.group('OBIScode')] = result.group('value')
else:
# wat niet door de reguliere expressie heenkomt, bv gas.

Voor de P1 meting moet natuurlijk metingdata geinitialiseerd worden!
NB: dit is nog niet voldoende uitgewerkt, de code zelf haalt nog een cijfer weg voor floats (ik neem aan om minder inserts in de db te krijgen?), e.d.
Voordeel zou kunnen zijn dat je werkt met een gecompileerde reguliere expressie, zou efficienter moeten zijn, en je hebt minder regels nodig om de gegevens uit de meting te halen.

NB: een vraagje over het schedulen van de jobs. Gebeurt dit vanuit cron?

Haakje teveel in p1read.py

Line 148: ), %.2f, '%s'), 1);\n" %

OKE: ), %.2f, '%s', 1);\n" %

achter %s' staat een ')' teveel.

Groetjes,

Berto

foutje in tables.sql

Op regel 1 van het tables.sql bestand mis je een CREATE
na het toevoegen werkt het bestand goed.

TABLE IF NOT EXISTS device_types (
type_id tinyint(1) unsigned UNIQUE AUTO_INCREMENT,
name varchar(11) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

moet zijn:

CREATE TABLE IF NOT EXISTS device_types (
type_id tinyint(1) unsigned UNIQUE AUTO_INCREMENT,
name varchar(11) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.