volkszaehler / volkszaehler.org Goto Github PK
View Code? Open in Web Editor NEWOpen Source Smart Meter with focus on privacy - you remain the master of your data.
Home Page: https://volkszaehler.org
License: GNU General Public License v3.0
Open Source Smart Meter with focus on privacy - you remain the master of your data.
Home Page: https://volkszaehler.org
License: GNU General Public License v3.0
I would like to see a more advanced way to select the time range shown in the graph.
In my eyes the date range shown as heading could be a little more "interactive".
If you click a date (start date or end date) a date selector div (calendar) shows up to enter the exact date range to be shown.
I've seen something like this in Google Analytics (see attachment) and really liked it.
This would make things easier to select a complete day or month e.g. to get the overall cost of my heat pump.
php
must be installed via php5
mysql
must be installed via mysql-server
Not sure how to make this easier in install.sh
?
What I expect for "Zählerstände" is that the meter value is displayed over time - in a way that there's nothing calculated on. In my case it should be a (almost) horizontal line at 15059 on y-axis.
The columns should read "Min 15059.20 kWh | Max 15059.22 kWh | Avg: Not applicable | Current: 15078.11 [Note: or not applicable, if the actual current value shouldn't be updated every n seconds] | Consumption: 0.02 kWh [i.e. Max-Min] | Cost: 0,00 €"
Either this is a bug (or a not-yet-feature) or I' too stupid to chose the right type to get displayed what I want to see...
https://github.com/volkszaehler/volkszaehler.org/blob/master/misc/tools/install.sh downloads volkszaehler using vz_tar=https://github.com/volkszaehler/volkszaehler.org/tarball/master
. This is evil (tm) as it defies pulling git updates.
Instead, it should verify git
is available and git clone
the public repo.
Hi,
ist es irgendwie möglich nur die positiven Werte auf den Verbrauch zu addieren? Also ich lese die 16.7.0 vom Stromzähler und mich würde es interessieren wie viel ich wirklich aus dem Netz gezogen habe. Aber bei der zusammen Rechnung des Verbrauches scheinen die negativen Werte auch aufaddiert zu werden. Hier mal ein paar Fotos:
http://puu.sh/gsnOC/337f25a1f2.png
Das nächste Bild kommt vom roten Bereich:
http://puu.sh/gsnTX/fd829fd2f1.png
Und mal eins wenn die Anlage Brummt, wobei man sieht das der Verbrauch definitiv im Minus ist, aber ich auch definitiv was aus dem Netz gezogen habe:
http://puu.sh/gso2Z/71fd2995fd.png
Kann mir jemand nen Tipp geben oder ist das nen Bug?
If you use the new feature modify channel for typ "Temperatur" or "Windgeschwindigkeit", it modifies the database fields for the checkboxes "public" and "active" from "1" to "on". Afterwards this channel is not public anymore because "on" != "1".
When using volkszaehler with a localization that uses "," (comma) instead of "." (dot) as decimal separator, PHP seems to store the float value differently to the database as reading it out (properties such as "cost" (float) are stored as text in the database).
Switching the localization order ("$config['locale']") in the volkszaehler.conf.php in a way, that "en_US" is in front, fixes the issue, but is not the config's intention.
However, I'm pretty sure, that calling the "middleware.php" causes the problem. When I additionally create a channel, that is not fed by the middleware.php, the value stays correct. I believe (without further investigation), that storing values, reads out the full set of properties for a certain channel and stores it again: My "0.12" went to "0,12" to "0" within a few seconds (calling middleware.php every second second [sic!]).
Changing display style, title, color should be possible at least.
altes problem, dringend zu beheben:
wenn das frontend eine middleware-antwort bekommt, mit der es nichts anfangen kann,
zB http-status!=200, wird in der fehlermeldung nur die http statuszeile ausgegeben.
das ist gerade fuer anfaenger (oder deren supporter auf der mailingliste!) wenig hilfreich.
das ist insbesondere deshalb problematisch, weil das frontend selber eine statische
html-datei ist, die in jedem fall "funktioniert", und alle middleware-aufrufe per
ajax erfolgen, so dass eine defekte middleware installation schwer zu erkennen ist.
der request der den fehler erzeugte sollte MINDESTENS mit ausgegeben werden.
ideal waehre, noch den anfang des bodies der antwort (oder einen hinweis dass der leer war) mit ausuzugeben,
und/oder einen hinweis, fuer weitere details in's logfile des webservers zu schauen.
Is replaced by 1wirevz or not?
Suggesting to delete.
If i create two channels with two different axis, this works fine as far as the channels are shown. The channels have different axis.
After restarting the browser and readding the channels there is only one unified axis.
5 years old, highly specific, website link dead.
Suggesting to delete.
currently the entity (channel) -type definitions store only a single description string.
that is not really enough to differentiate the subtle differences between channel types
and at the same time be useful for frontend display.
i kind of opened this up, when i replaced the historic names:
http://volkszaehler.org/pipermail/volkszaehler-dev/2013-February/002397.html
http://volkszaehler.org/pipermail/volkszaehler-dev/2013-October/003121.html
9486017
that created rather long names, which are not useful for the frontend display,
leading to stuff like:
a8aabef
90eb44a
and more recently:
#205
for a proper fix, we should support more than just a single name string.
useful would be:
and, to make the conversions that happen more explicit:
Hi,
i am connecting to an Mbus Meter and i always get this strange error:
./mbus-cmd --sqlout
Argument "ddebbd" isn't numeric in multiplication (*) at /usr/local/lib/site_perl/mbus.pm line 512.
INSERT INTO zaehler SET pos="0",vif="12",dif="6",value="00003622",unit="kWh",zweck="Heizenergie",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="1",vif="12",dif="19",value="78.899",unit="m^3",zweck="Volumen",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="2",vif="59",dif="59",value="0",unit="m^3/h",zweck="Fliessgeschwindigkeit",serial="39202522",valArt="Fehlerwert",count="0";
INSERT INTO zaehler SET pos="3",vif="10",dif="90",value="22.9",unit="C",zweck="Vorlauftemperatur",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="4",vif="10",dif="94",value="22.9",unit="C",zweck="Ruecklauftemperatur",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="5",vif="140 16",dif="6",value="00000000",unit="kWh",zweck="Heizenergie",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="6",vif="10",dif="166 24",value="0000",unit="h",zweck="Betriebszeit",serial="39202522",valArt="normaler Wert",count="0";
INSERT INTO zaehler SET pos="7",vif="129 32",dif="253 26",value="0",unit="",zweck="Fehler (vife=26)",serial="39202522",valArt="normaler Wert",count="0";
OR:
./mbus-cmd --sqlrawout
INSERT INTO rawdata SET serial="39202522",data="\104\57\57\104\8\3\114\34\37\32\57\36\35\47\4\126\112\0\0\12\6\34\54\0\0\12\19\153\136\7\0\59\59\189\235\221\10\90\40\2\10\94\40\2\140\16\6\0\0\0\0\10\166\24\0\0\129\32\253\26\0\115\22";
Argument "ddebbd" isn't numeric in multiplication (*) at /usr/local/lib/site_perl/mbus.pm line 512.
You can see where is the Problem with "ddebbd" ??
Thanks a lot for help.
Cu kami
Architecture draft:
Update: this is the architecture drawing from our developers meeting:
Prototype is in development.
cc @mbehr1
Just a suggestion as pull requests and issues don't get a lot of attention by the community?
Im FE erzeugte Permalinks haben (mindestens) 2 Probleme:
Beispiel:
http://localhost/vz/htdocs/frontend/?from=1374163673897&to=1378710920894&uuid[]=2a93a9a0-60df-11e2-83cc-2b8029d72006
To keep the repo in a current state I'd suggest the following ruleset for contributions:
Obsoleting contributions:
Comments welcome.
Gas meter resolution
expects impulses per k(m3) similar to kWh for el. energy, that is if the meter has 1000 imp/m3 an actual value of 1.000.000 needs be entered.
initialconsumption
is in kWh for el. energy and needs to be in k(m3) for gas. That means 2500m3 must be entered as value 2.5 for initialconsumption
.
cost
shows the same symptoms as 1) and 2).
Frontends consumption display has a performance feature that requests data grouped by month leading to return 0 if only a single month is present in the aggregated or grouped view. This will at least lead to rounding errors.
http://localhost/middleware.php/data/a24bc2c0-8ac2-11e4-9d71-75374ffa90e0.json?from=0&tuples=1
{"version":"0.3","data":{"uuid":"a24bc2c0-8ac2-11e4-9d71-75374ffa90e0","from":1419206400000,"to":1419292800000,"min":[1419292800000,41.667],"max":[1419292800000,41.667],"average":41.667,"consumption":1000,"rows":1,"tuples":[[1419292800000,41.667,1]]}}
{"version":"0.3","data":{"uuid":"a24bc2c0-8ac2-11e4-9d71-75374ffa90e0","from":1419292800000,"to":1419292800000,"average":0,"consumption":0,"rows":1}}
Scaling of flow units like l/h should be l or, if >1000, m3 for displaying consumption.
min
, max
and avg
should not scale m3 to km3 either.
root@raspberrypi:~# du -sch /srv/volkszaehler.org/vendor/jpgraph/jpgraph/lib/JpGraph/docs
23M /srv/volkszaehler.org/vendor/jpgraph/jpgraph/lib/JpGraph/docs
that (plus probably the copies in .git) accounts for at last a third of the vz.org installation footprint...
does this really have to be installed from git, given that it's used so rarely?
... at least / especially if the "now" button was used before.
this bugs me too, and it's old:
http://volkszaehler.org/pipermail/volkszaehler-dev/2014-May/003592.html
Einen Verbesserungsvorschlag fürs Frontend würde ich auch gerne Vorschlagen:
Beim Zoom auf die Stunde nach Verwendung von "jetzt" fände ich es
angenehm, wenn auf die aktuelle Stunde gezoomt würde und nicht die
mittlere Position der Darstellung
genommen wird, was im Test bei mir gestern regelmässig 12 h früher war.Wo ist der richtige Ort für solche Change Requests/Bug Reports?
Is it possible to add to the vzclient the option to add many uuid entries? So for example:
vzclient.py -u some_uuid add data value=some_val -u another_uuid add data value=another_val
So that the vzclient will only request the middleware script one time?
The generaly Idea behind this is to prevent nework overhead from calling the middleware many times for many uuids.
And also a little Question did the middleware opens only a single connection to the database or more than one?
at least the following cases lead to empty output with no useful error message
(not even in the webserver error log)
it seems that the constructor manages to ignore any errors,
and then View\JpGraph::render() ends up with a null- or misconfigured graph object.
it seems that the code ends up calling JpGraph::add() with a jpgraph library exception object,
which the logic in there silently ignores.
Please allow all possible colors at dialog of creating/editing a channel. Maybe a color wheel or so.
Same is true for the cursor.
See #190
Even if I have "daemon": false
in vzlogger.conf
the program still daemonizes:
[Nov 30 12:59:57][main] daemon=0, local=1
[Nov 30 12:59:57] Daemonize process...
This applies to vzlogger 0.3.9, compiled and run on Raspbian 2014-09-09.
Follow-on of #238
Steps to reproduce:
If the group has at least one non-group child the error doesn't occur. Need to find out if retrieving groups in data
context is desired.
Steps to reproduce:
currently this can be solved for CounterInterpreter channels by accessing the database directly,
and in general probably by requesting data for the total time the channel was logged, which is inefficient.
discussion here: http://lists.volkszaehler.org/pipermail/volkszaehler-dev/2014-March/003496.html
Gives middleware error 500. Only working with empty groups.
Is it possible, that you could switch to Highstock for displaying the graph?
http://www.highcharts.com/stock/demo
It supports touch devices, zooming, range selection and much more.
After I had successfully set up the frontend on my intranet server (using my Raspberry Pi to POST meter reading to it), I noticed that the frontend was using local times -- while my server runs on UTC.
I found a config item $config['timezone']
in volkszaehler.conf.php
which I changed to $config['timezone'] = 'UTC';
but still the frontend continues to use local time.
This applies to the frontend code which I downloaded today from GitHub (can't easily find the build?!).
Die Darstellung / Aufbereitung der Daten im Frontend funktioniert nicht ohne bestehende Internetverbindung. Kann man die benötigten Dateien lokal vorhalten (Dauerhaft oder Fallback)? So dass zumindest lokal eine Auswertung auch bei gestörter Internetverbindung möglich ist?
Steps to reproduce:
Rolling back to "Merge pull request #204 from andig/fix-cdn-usage" (304f39b) removes the behaviour.
Does not occur with Safari 8.0.2 and Chrome 40.0 on OSX.
Regards, J.
Auf der Users ML ist ein Use Case aufgetaucht der bei Verwendung von Aggregation problematisch ist: http://demo.volkszaehler.org/pipermail/volkszaehler-users/2013-December/003336.html
Ursache: wenn in einen Kanal für einen Timestamp Daten geschrieben der bereits in der Aggregationstabelle enthalten ist (d.h. ein Zeitraum > 1 Aggregationsperiode [Tag, Stunde etc] in der Vergangenheit) wird die Aggregationstabelle nicht gelöscht/ als invalide gekennzeichnet.
Vorschlag: Für Updates über die MW ließe sich das noch abfangen, für direkte Datenbankupdates trägt der Anwender die Verantwortung.
With initial consumption set a newly subscribed Channel won't show the total meter reading. A Browser refresh is needed to initialise.
Initially, instead of a specific non-MySQL DB-implementation, I'd suggest researching the best way to introduce DB abstraction. Currently, Interpreter.php
should be main focus.
Since f117a19 multiple middlewares are supported. However, vz.capabilities
is only initialized from local middleware. This might lead to issues if remote middlewares offer different functionality, e.g. channel types.
From the mailing list. To reproduce:
So, der „Fehler“ tritt dann auf, wenn ein Kanal im LOKALEN Browser mittels Cookie gespeichert war, und beispielsweise vom Ipad Browser gelöscht wurde!
Here's what I did:
The following requests deliver different consumption
for sensors of type powersensor
. Looks like a bug in the middleware:
http://host/middleware.php/data/xxxx?from=today&to=now
{"version":"0.3",
"data":{"uuid":"xxxx","from":1402174578088,"to":1402226773132,
"min":[1402174700045,0],"max":[1402223068854,6.685],
"average":2.182,"consumption":31.63,"rows":256,
"tuples":[[1402174700045,0,1],[1402196412921,0,1],[1402196538348,0,1],[1402196653923,0,1],[1402196778813,0,1],[1402196899142,0,1],[1402197019228,0.024,1],[1402197138041,0.026,1],[1402197253464,0.032,1],[1402197378832,0.036,1],[1402197493399,0.042,1],[1402197618642,0.06,1],[1402197737979,0.071,1],[1402197858487,0.083,1],[1402197974161,0.092,1],[1402198098874,0.1,1],[1402198213633,0.11,1],[1402198339114,0.118,1],[1402198453876,0.119,1],[1402198578252,0.122,1],[1402198698740,0.128,1],[1402198815194,0.128,1],[1402198933245,0.138,1],[1402199053494,0.158,1],[1402199178170,0.169,1],[1402199298420,0.181,1],[1402199419172,0.195,1],[1402199533168,0.202,1],[1402199658802,0.214,1],[1402199778447,0.223,1],[1402199898678,0.23,1],[1402200018906,0.245,1],[1402200133301,0.254,1],[1402200253272,0.271,1],[1402200373895,0.278,1],[1402200498493,0.289,1],[1402200619285,0.303,1],[1402200738614,0.315,1],[1402200858138,0.323,1],[1402200978637,0.332,1],[1402201098584,0.341,1],[1402201218827,0.35,1],[1402201338447,0.359,1],[1402201454771,0.36,1],[1402201574673,0.375,1],[1402201698717,0.382,1],[1402201818716,0.39,1],[1402201938826,0.397,1],[1402202058774,0.414,1],[1402202174673,0.418,1],[1402202293260,0.422,1],[1402202419159,0.434,1],[1402202538528,0.442,1],[1402202653872,0.443,1],[1402202777904,0.453,1],[1402202897618,0.47,1],[1402203018833,0.474,1],[1402203137079,0.484,1],[1402203258294,0.493,1],[1402203378393,0.501,1],[1402203499357,0.509,1],[1402203613954,0.514,1],[1402203738243,0.516,1],[1402203858087,0.523,1],[1402203974057,0.53,1],[1402204093024,0.539,1],[1402204213725,0.545,1],[1402204333578,0.636,1],[1402204453799,0.668,1],[1402204574074,0.703,1],[1402204698579,0.75,1],[1402204813905,0.759,1],[1402204938112,0.722,1],[1402205053280,0.788,1],[1402205178693,0.807,1],[1402205294012,0.823,1],[1402205419213,0.856,1],[1402205538818,0.979,1],[1402205654185,1.014,1],[1402205773715,1.108,1],[1402205898868,1.107,1],[1402206013937,1.15,1],[1402206138475,1.241,1],[1402206258686,1.29,1],[1402206378737,1.362,1],[1402206498338,1.431,1],[1402206615131,1.426,1],[1402206733707,1.472,1],[1402206858330,1.577,1],[1402206979764,1.607,1],[1402207098810,1.658,1],[1402207218814,1.807,1],[1402207338464,1.864,1],[1402207458786,1.919,1],[1402207577484,2.119,1],[1402207698967,2.192,1],[1402207818306,2.254,1],[1402207933578,2.365,1],[1402208053596,2.451,1],[1402208178121,2.515,1],[1402208293705,2.573,1],[1402208414031,2.71,1],[1402208538418,2.781,1],[1402208654741,2.781,1],[1402208778435,2.882,1],[1402208894997,3.029,1],[1402209018566,3.125,1],[1402209138920,3.075,1],[1402209258889,3.109,1],[1402209378741,3.263,1],[1402209493656,3.359,1],[1402209618797,3.429,1],[1402209734211,3.454,1],[1402209858447,3.608,1],[1402209978944,3.669,1],[1402210098021,3.715,1],[1402210218577,3.711,1],[1402210334101,2.977,1],[1402210459894,3.911,1],[1402210573531,4.073,1],[1402210693866,4.103,1],[1402210819143,4.148,1],[1402210933930,4.254,1],[1402211052881,4.278,1],[1402211173640,4.334,1],[1402211298829,4.409,1],[1402211417891,4.429,1],[1402211533566,4.508,1],[1402211653758,4.574,1],[1402211774403,4.67,1],[1402211899112,4.747,1],[1402212019799,4.799,1],[1402212134745,4.818,1],[1402212258453,4.874,1],[1402212373959,4.919,1],[1402212493174,4.929,1],[1402212613968,4.97,1],[1402212738470,5,1],[1402212858689,5.121,1],[1402212986139,5.16,1],[1402213099070,5.192,1],[1402213220442,5.206,1],[1402213338036,5.262,1],[1402213457513,5.296,1],[1402213579091,5.317,1],[1402213693928,5.353,1],[1402213818802,5.394,1],[1402213935052,5.397,1],[1402214053788,5.439,1],[1402214174526,5.475,1],[1402214293234,5.493,1],[1402214418998,5.505,1],[1402214538248,5.584,1],[1402214653776,5.618,1],[1402214777305,5.647,1],[1402214894064,5.666,1],[1402215018814,5.686,1],[1402215134599,5.733,1],[1402215258970,5.759,1],[1402215374246,5.808,1],[1402215493606,5.772,1],[1402215618969,5.881,1],[1402215733830,5.93,1],[1402215858464,5.948,1],[1402215972685,5.98,1],[1402216099082,5.987,1],[1402216218839,6.023,1],[1402216337010,6.038,1],[1402216453856,6.07,1],[1402216578347,6.097,1],[1402216698864,6.136,1],[1402216818930,6.161,1],[1402216933678,6.164,1],[1402217057906,6.182,1],[1402217178949,6.176,1],[1402217298574,6.203,1],[1402217415194,6.215,1],[1402217539074,6.227,1],[1402217654681,6.237,1],[1402217778698,6.251,1],[1402217894371,6.272,1],[1402218014523,6.286,1],[1402218133581,6.319,1],[1402218258918,6.333,1],[1402218379076,6.363,1],[1402218498816,6.396,1],[1402218618802,6.443,1],[1402218738382,6.446,1],[1402218938079,6.444,1],[1402218979865,6.463,1],[1402219098396,6.451,1],[1402219218228,6.526,1],[1402219339822,6.521,1],[1402219459814,6.541,1],[1402219574601,6.539,1],[1402219699219,6.574,1],[1402219819762,6.573,1],[1402219938549,6.594,1],[1402220058089,6.614,1],[1402220179100,6.597,1],[1402220299165,6.647,1],[1402220414266,6.631,1],[1402220543959,6.637,1],[1402220686747,6.647,1],[1402220773555,6.678,1],[1402220893856,6.671,1],[1402221013606,6.573,1],[1402221139713,6.673,1],[1402221258230,6.673,1],[1402221379762,6.674,1],[1402221501142,6.675,1],[1402221640626,6.675,1],[1402221733537,6.676,1],[1402221860276,6.674,1],[1402221979997,6.675,1],[1402222101302,6.676,1],[1402222219039,6.675,1],[1402222333601,6.675,1],[1402222453536,6.675,1],[1402222572875,6.673,1],[1402222698867,6.674,1],[1402222813852,6.674,1],[1402222939765,6.676,1],[1402223068854,6.685,1],[1402223194695,6.674,1],[1402223308987,6.676,1],[1402223431796,6.674,1],[1402223551170,6.668,1],[1402223674346,6.675,1],[1402223793149,6.675,1],[1402223906154,6.676,1],[1402224026653,6.683,1],[1402224139708,6.674,1],[1402224254738,6.676,1],[1402224378675,6.676,1],[1402224498593,6.676,1],[1402224618861,6.675,1],[1402224733569,6.676,1],[1402224858150,6.675,1],[1402224978510,6.676,1],[1402225098635,6.675,1],[1402225219223,6.677,1],[1402225333808,6.676,1],[1402225459043,6.676,1],[1402225579189,6.674,1],[1402225698164,6.674,1],[1402225818425,6.675,1],[1402225938851,6.673,1],[1402226059171,6.677,1],[1402226179177,6.675,1],[1402226299158,6.676,1],[1402226413466,6.669,1],[1402226539154,6.677,1],[1402226658181,6.673,1],[1402226773132,6.675,1]]}}
and:
http://host/middleware.php/data/xxxx?from=today&to=now&tuples=1
{"version":"0.3",
"data":{"uuid":"xxxx","from":1402174578088,"to":1402226773132,
"min":[1402226773132,3.722],"max":[1402226773132,3.722],
"average":3.722,"consumption":53.964,"rows":1,
"tuples":[[1402226773132,3.722,255]]}}
Update most probably this would also affect grouped queries like group=day
and also data aggregation.
Gibts die Möglichkeit das in der Listenadministration einzustellen (also analog zu den Mails von GitHub)? Dann wäre es deutlich einfacher GitHub requests mit der ML zu verbinden?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.