GithubHelp home page GithubHelp logo

uvr1611's Introduction

UVR1611 Data Logger Pro

PayPal spenden Amazon Wunschliste

Der UVR1611 Datalogger Pro ist ein webbasierender Datenlogger für die Universalregelungen UVR1611 und UVR16x2. Die Daten werden mit Hilfe des BL-NET oder CMI über den CAN oder DL abgerufen.

Die Features sind:

  • UVR1611 oder UVR16x2
  • BL-Net oder CMI
  • Datenlogging über CAN-Bus und DL in eine MySQL Datenbank
  • Web-Interface
  • Animiertes Online-Schema (Elemente und Farben)
  • Schema Historie
  • Temperaturkurven (Tages und Wochenansicht)
  • Leistungskurven (Tages und Wochenansicht)
  • Ertragsdiagramme (Monats und Tagesgruppierung)
  • Übersichtstabellen zu den Diagrammen
  • Öffentliche und private Diagramme
  • Monatliche Trendwerte
  • Aktuelles Wetter

Downloads

Vorteile der Anwendung

Der BL-Net besitzt nur eine begrenzte Speicherkapazität und die Heizungsdaten müssen deshalb regelmäßig – manuell – ausgelesen werden, damit sie nicht verloren gehen. Der direkte Webzugriff auf den BL-Net durch externe Nutzer ist in mehrfacher Hinsicht unvorteilhaft (Sicherheit und Überlastung). Das Speichern und Auslesen der Daten aus der SQL Datenbank verhindert diese Problematik.

Installation

Für die Anwendung wird ein Webserver mit PHP und ein MySQL Datenbank-Server benötigt. Die benötigten Pakete können unter Debian/Ubuntu mit folgendem Befehl installiert werden:

sudo apt-get install lighttpd php5-cgi mysql-server mysql-client php5-mysql php5-curl
sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd force-reload

Danach kann die Anwendung in den Ordner /var/www/ kopiert werden.

Konfiguration

Die Konfiguration des Datenloggers erfolgt über die Datei config/config.ini:

[mysql]
server = localhost
user = uvr1611
password = uvr1611
database = uvr1611

[uvr1611]
logger = "bl-net"
address = 10.0.0.100
port = 40000
reset = false
blnet_login = false
http_port = 80

[app]
name = "Solar/Heizung Datenauswertung"
email = [email protected]
chartcache = 600
latestcache = 60
reduction = 2

Im Abschnitt mysql befinden sich die Parameter für den Zugang zur Datenbank. Der angebene Datenbank-Benutzer benötigt die Rechte DELETE, EXECUTE, INSERT, SELECT, SHOW VIEW und UPDATE für die Datebank. Im Abschnitt uvr1611 wird der logger angegeben (bl-net oder cmi). Weiters bedindet sich hier die IP-Adresse für den BL-NET/CMI. Mit dem Schalter reset kann das Löschen der Daten vom BL-NET nach dem Logging aktiviert werden. Der Bereich app legt Einstellungen zur Anwendung fest. Anwendung fest. Unter name kann der Eintrag „Solar/Heizung Datenauswertung“ durch einen individuellen Eintrag ersetzt werden, ebenso der Eintrag unter email. chartcache und latestcache legen den Zeitraum in Sekunden fest, in dem keine neuen Daten vom Bootloader geholt werden. reduction reduziert die Daten in den Diagrammen um den angegebenen Faktor.

Datenbank

Zum Erstellen der Datenbankstruktur kann das Skript install.php verwendet werden. Dieses Skript überprüft die Information zur Datenbankverbindung aus der Datei config/config.ini. Nach dem Anlegen der Datenbankstruktur, können Beispiel Daten in die Datenbank geschrieben werden, um die spätere Einrichtung des Datenloggers zu vereinfachen. Nach der Installation, muss die Datei install.php unbedingt gelöscht werden, um unberechtigte Zurgriffe auf die Datenbank oder den Datenlogger zu verhindern!

Installation

Standort Wetter

Mit dem Datenlogger können auch aktuelle Wetterinformationen angezeigt werden. Dazu muss in der Datenbank in der Tabelle t_menu ein Eintrag vom Typ weather erstellt werden. In der Spalte schema ist der gewünschte Ort einzutragen. Die Daten werden von openWeatherMap abgerufen.

Automatisches Abrufen der Daten

Damit die Daten automatisch vom BL-Net/CMI geholt werden, muss ein cron-Job mit folgendem Inhalt eingerichtet werden (z.B.: als /etc/cron.hourly/uvr1611-logger):

#!/bin/bash

wget 'http://localhost/uvr1611/analogChart.php' -O /dev/null

Die Einrichtung des cron-Jobs ist abhängig vom Betriebssystem des Servers und muss entsprechend angepasst werden. Sollten die Daten auch weiterhin über WinSOL ausgelesen werden, ist zu beachten, dass bei der Löschung des Datenspeichers in der Konfigurationsdatei deaktiviert werden muss (reset = false)

Login und Freigabe

Standardmäßig sind die Diagramme nur für angemeldete Benutzer sichtbar. Das Standard-Passwort ist 1234 und sollte unbedingt nach dem Setup durch Aufrufen des Scripts changePassword.php geändert werden. Die Berechtigungen für einzelne Charts können in der Tabelle t_menu angepasst werden. Dazu muss für das jeweilige Diagramm das Feld view auf yes gesetzt werden. Als angemeldeter Benutzer hat man auch die Möglichkeit die Diagramme direkt zu bearbeiten und Linien per Drag & Drop hinzuzufügen.

Diagramme bearbeiten

Anpassen der Anwendung

Zuerst empfield es sich die Schema-Grafiken an die eigenen Verhältnisse anzupassen, indem diese Dateien mit einem entsprechenden Grafik Programm bearbeitet werden. Das Freeware Programm Inkscape für PC und Mac eignet sich sehr gut, weil das Festlegen der ID’s besonders einfach ist. Die ID’s werden später in der Tabelle t_schema benötigt und nachstehend wird kurz gezeigt, wie diese festgelegt werden. Nachdem die Grafik angepasst wurde, setzt man mit dem Texttool an den Stellen im Diagramm, wo später z.B. die Temperatur angezeigt werden soll ein ? ° C, klickt mit der rechten Maustaste auf dieses Objekt und es öffnet sich das nachstehende erste Fenster. Dort wird Object Properties angeklickt und das rechte Fenster erscheint. In diesem Fenster legt man mit einer freien Bezeichnung die ID und das Label fest. Im Beispiel ist die ID vl2_temp und das Label #vl2_temp. Der Label Eintrag wird später in der Tabelle t_schema unter path eingetragen.

Inkscape

Sind alle ID’s festgelegt, wird diese Datei im Ordner unter images gespeichert.

t_menu

In dieser Tabelle wird die Haupteingangsseite festgelegt. name und order sind frei festlegbar, wobei order die Reihenfolge der einzelnen Darstellungen in der Haupt-Menu Anzeige festlegt. Werden einzelne Bereiche nicht benötigt, können diese Reihen einfach in der Tabelle gelöscht werden.

Hauptmenü

t_names

In der Spalte type wird die aktuelle Belegung der 16 analogen UVR Sensoren Eingänge eingetragen. Unter name kann man angeben, welcher Eingang hier geschaltet ist. Nicht benötigte Eingänge werden wieder einfach reihenweise gelöscht.

Senornamen

t_names_of_charts

In dieser Tabelle wird festgelegt, welche Diagramme erzeugt werden sollen. Dabei wird mit der chart_id festgelegt, in welchem Chart welche Größen angezeigt werden sollen. Mit order wird bestimmt an welcher Stelle im Chart und der darunter liegenden Tabelle ein Wert angezeigt werden soll. Soll ein Wert in mehreren Charts angezeigt werden, so muss dieser Wert entsprechend oft in t_names_of_charts aufgeführt werden. Im nachstehenden Beispiel ist das z.B. die Größe analog12. Dieser Wert wird sowohl im Chart 2 des Hauptmenues, als auch im Chart 4 angezeigt

Verknüpfung zwischen Sensoren und Diagrammen

t_schema

Hier werden die Label-Einträge - wie vorstehend - erläutert eingetragen. Auch die Pumpen, Mischer und Ventil Einstellungen können hier festgelegt werden. Im nachstehenden Beispiel sind dies die digital-Einträge unter type. Im Schema erscheinen diese Einträge dann mit ihren aktuellen Zustand EIN oder AUS.

Als Formatierung kann die Anzahl der Kommastellen angegeben werden (zB.: #.## für 2 Kommastellen). Für die digitalen Ausgänge kann die Funktion DIGITAL() verwendet werden um EIN bzw. AUS im Schema anzuzeigen. Für Ventile und Mischer gibt es die Funktionen MISCHER_AUF(), MISCHER_ZU() und VENTIL(). Mischer zeigen den aktuellen Zustand AUF/ZU an und im Ruhezustand erfolgt keine Anzeige. Ventile zeigen den Zustand OFFEN/ZU an. Im nachstehenden Beispiel ist der Heizkreis-Mischer (Ausgang „digital 8“ ) für den Zustand „AUF“ definiert.

Anzeige der aktuellen Werte im Schema

Für die Darstellung der Erträge stehen die Funktionen MWH() und KWH() zur Verfügung.

Anzeige der aktuellen Werte im Schema

Darstellung der Pumpen- und Mischerzustände

Ab Version v0.90 lassen sich jetzt auch die Pumpen-, Mischer- und Ventilzustände im Diagramm darstellen, wenn diese entsprechend in den Tabellen t_schema und t_names_of_charts definiert worden sind. Die grafische Darstellung erfolgt in einem eigenen Diagramm oberhalb der "üblichen" Charts, wenn nicht komplett separat in t_menu als Chart definiert.

Screenshots

Hauptmenü

Schema

Temperaturdiagramme

Ertäge

Wetter

Kontakt

Bertram Winter [email protected]

uvr1611's People

Contributors

berwinter avatar bobosch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uvr1611's Issues

only 16 analog/digital values for 64 available from UVR16x2

hello,

is there a solution to upgrade the 16 analog/digital values in the dataloggerpro to 64 analog and digital values?

with the last update the UVR16x2 sends a datalogging string with 64 available values for each analog and digital.

big thanks!

Fehlende Tagesanzeigen im Ertragschart

Es ist bereits mehrfach aufgetreten, dass einzelne Tage im Ertragschart nicht angezeigt werden. Siehe beigefügtes Beispiel: hier wurden vom 03. bis 09. August keine Daten angezeigt. Dieser Fehler tritt in unregelmässigen Zeitabständen auf.
Hatte jemand dieses Problem schon einmal und wie kann das gelöst werden?

UVR_Zeitleiste_fehlerhaft

Hide single lines in a chart

Possibility to toggle between hide and show of a single line, or better also group of lines.

Or switch between the different charts without leafing the chart view (same time, same zoom,...)

Additional feature in uvr1611

I am very happy using the UVR1611 Data Logger Pro since many years. It would be great if one additional feature could be implemented and that's the gas consumption. For many gas meters one can attach a reed contact and measure the impulses in the bootloader. One impulse equals to 0,01 m3. In the attached example the sum of all impulses are 2.741 equal to 27,41 m3 gas consumption.
To calculate m3 gas to kWh one has to use the following formula: kWh = m3(gas) * Zustandszahl * Brennwert (kWh/m3).
The so called Zustandszahl is always the same for a given home location and therefore has to be entered only one time taken from an invoice of the gas provider. The so called Brennwert can change from month to month and can also be taken from the local gas provider. For Brennwert one should have an input field that will override the previous value when entered at a given date.
With this information given one should have one additional field gas consumption in kWh.

gas consumption

"another process is accessing the bl-net"

hello,

i upgrade today from my uvr1611 + bl-net to uvr16x2 with an C.M.I.

Now my DataLoggerPro shows the error "another process is accessing the bl-net".

I test the connection with same url and same port and i became data.
I test the connection with this browser url "http://xxx:2522/LOG/infoh.log" and download the newest data in a .txt file.

my config.ini is here:
`[mysql]
server = localhost
user = xxx
password = xxx
database = xxx

[uvr1611]
logger = "cmi"
blnet_login = false
address = xxx
port = 40000
reset = true
http_port = 2522

[app]
name = "xxx"
debug = false
email = xxx
chartcache = 600
latestcache = 60
reduction = 2`

Problem with address validity

// check if address is valid (!= 0xFFFFFF)
if($binary["startaddress3"] != 0xFF ||
$binary["startaddress2"] != 0xFF ||
$binary["startaddress1"] != 0xFF ||
$binary["endaddress3"] != 0xFF ||
$binary["endaddress2"] != 0xFF ||
$binary["endaddress1"] != 0xFF)

It says this checks whether the addresses are != 0xFFFFFFF while actually it checks if any of the bytes is 0xFF. Is this correct? Then, please correct the comment

Website does not load

Sub-menues cannot be loaded from main screen; only live schema shown correctly. If loading process is interrupted after some time, the table below the graph is displayed, not the graph.
I emptied cache and tried with different browsers, always same problem.

Working with D-LOGG USB?

Hi,
great project, thanks a lot for you work!

I'm using an UVR1611 with D-LOGG USB. I can read the data under Linux in rrd-Format via dl-aktuelle-datenx and I push them into the table t_data every 5 minutes.
Everything is fine so far, the charts are generated.

My problem is, that I cannot access the digital data; in the configuration of an chart are only the analog values available.
In the predefined shemas the digital data are displayed.

Question: As I'm not using the build-in procedure for reading the values an writing them into the database, is it possible, that there are any steps missing?
I'm not shure, if this is an configuration problem (unfortunatelly there is no example for the configuration of digital values in charts) or a problem of how I'm pushing the data into the database...

Thanks and greetings from Hesse...
helmut

Automatic Database clean function

Hi,
is there a function where i can set the maximum time in Database t_data.
today -365 then all data older then 365days will be deleted automatic in mysql database.
Or can i set a cronjob ervery month witch will delete data older then xxx days, years ....

Regards
Sven

DataLogging no reset in the BL-net

Hello,

I have tested the 2 values in config.ini, reset is true or reset is false, but the memory is still growing.
I need delete datas from Winsol 2.0

Maybe the problem stay only on my installation.

Color picker for values

It would be nice to define own colors for values. I use in Winsol red colors for the buffer tank, orange for solar, blue for oil, ...

Timezone

set date_default_timezone_set('Europe/Berlin'); and offer an option in config.ini

https bug - openweathermap.org

when i set the my domain with the dataloggerpro to https, the weather screen is blank.
I find no files with the http-link to openweathermap.

Can you set the link to openweathermap to https?

weather

Question: Export views

Would it be possible to export the views?
We would like to publish the info onto our website.

CAN-BC an BL-NET

Hallo,

ich verwende zur Zeit den BL-NET in Verbindung mit DataLogger Version 3.00 und logge 2xUVR1611 (frame 1+2) und in (frame3) einen CAN-BC an welchem wiederum 3 WMZ über MBUS hängen.
Die Daten landen in der Datenbank und alle Rahmen werden als logger -> uvr1611 erkannt.
Da der CAN-BC 9 Analogwerte und 3xLeistung sowie 3xEnergie liefert, landen hier nur die Analogwerte richtig in der Datenbank. In WINSOL ist alles in Ordnung...
Es scheint, dass für den CMI Klassen erstellt wurden https://github.com/berwinter/uvr1611/blob/master/lib/backend/cmi-parser.inc.php und es da funktionieren könnte.
Kann man solche Klassen auch für den BL-Net generieren oder muss ich mir einen CMI kaufen?

Danke VG Uwe

Different units in one chart

Currently the unit is fix by one chart (table t_menu).
It should be assigned to a value (table t_names), to allow different units in one chart. For example the solar chart could contain the temperature (°C), solar radiation (W/m²) and the speed of the pump (%)
Either it could be shown like in Winsol without units on the side, or with multiple y axis labels. Also there should be a different scaling for the solar radiation like in Winsol
uvr1611-scaling

Are the units transfered in the CAN frame? The could be automaticaly stored in the t_names table.

Year view in power charts

Year view for the power charts is not working correctly. Instead of month the x axis shows hours, which is not useful in the year view.

JS-Error: Das Objekt unterstützt die Eigenschft oder Methode "getTime" nicht

Hallo,

erstmal, vielen Dank für deine SW! Auslesen und einpflegen der Daten funktioniert super!

Leider habe ich beim JS ein Problem. Der Graph wird nicht angezeigt und obige Fehlermeldung kommt im IE11.

Vielleicht weißt du ja eine Lösung zu diesem Problem.
Danke,
lg
Herby (von der anderen Seite vom Alpl)

installation uvr1611 / database

Hi,
first many thanks for this great work!
Unfortunatelly I fail importing the tables usign the script:

Using the sample data, structure.sql was running fine.
When I use table-migration.sql afterwards, I get an error:
ERROR 1054 (42S22): Unknown column 'name_id' in 't_names_of_charts'

I tried to add the column: alter table t_names_of_charts add name_id char(50);

Then the script is running until:
Can't DROP 'chart_id'; check that column/key exists.

Even data-migration.sql does fail:
ERROR 1146 (42S02): Table 'uvr1611.t_datasets' doesn't exist

Sorry, but I am an abolutely noob in mysql....
Many thanks, Peter

Hard-coded CMI username/password

In lib/backend/cmi-connection.inc.php#L149, the CMI username and password are hard-coded (currently "winsol:data"). It would be great if username/password could be specified in config/config.ini instead.

version 2.01 vs 2.1

Hallo
ich habe 2.01 am laufen. lohnt sich ein update auf 2.1 ?
habe nirgends ein changelog gesehen.
vg
Meinolf

translation for pump / valve status

Hello!
Compliments for this project; i've installed it for a simple uvr iinstallation and it looks good.

I just have a simple question: where have the labels been defined for the pump and valve statuses. Currently they are shown in german (AUS/EIN/OFFEN/ZU) and I would like to display them in another language.

Thanks,
Eddy

Loads jquery from googleapis server

I use this piece of software for quite some time now and it's really nice.
Thank you for your work.

Now I realized that it is loading some stuff from google servers.
Due to a really slow internet connection in some cases this could take some time.
Is there a reason to not have jquery on the same server?
Is there an advantage to get it from google servers?

Unable to login/"Unknown error" on main screen

After managing to setup everything on my raspberry pi (using php7 instead of 5), the main page won't let me log in. I am using the default password "1234" but it keeps telling me that is a wrong password. Also the cronjob wgetting the analogChart.php frequently, keeps telling me there was an internal server error while performing the task. Is all this because of php7 or am I doing something terribly wrong? Just in case that you wonder, there were no older packages for php in apt, otherwise I would have taken the ones you consider!

first access to an chart - slowly loading with an error

hello,

when i click on a schema with a normal chart, i see the loading circle and after a time there comes an error.

When i reload the page (f5 in browser) the chart is there without an error.

i edit the max_execution_time to 120 seconds but this not solve the problem.

Is RSM610 and CAN-MTx2

Hello,

i tried to add a CAN-MTx2 on frame3 (Frame 1 & 2 are used for UVR1611) .
As soon as I activate the logging on the CMI the data logger does not responde anymore "Unknown Error) when i deactivate the CAN-MTx2 logging everything is working fine again.

So my basic question is the CAN-MTx2 and RSM610 supported?

BR
Michael

Better chart handling

A smother zoom function, possible to move in a zoomed chart, and also usable on a mobile phone

cron job read data from blnet does not work anymore

Hi,
since end of Feb 2017 i can not get data from blnet. Last entry in database ist Feb.18
Now the cold time ist comming and i have searched where the problem coud be.
System is centos 7.4 with php56 and nginx webserver.
Today master git version.

Live view of data is ok, but no log data can be download from blnet.

wget 'http://192.168.10.5:81/uvr1611/analogChart.php' -O /dev/null
--2017-11-08 19:21:35-- http://192.168.10.5:81/uvr1611/analogChart.php
Verbindungsaufbau zu 192.168.10.5:81... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [application/json]
In »»/dev/null«« speichern.

[ <=>                                                                                                                   ] 2           --.-K/s   in 0s      

2017-11-08 19:21:35 (181 KB/s) - »/dev/null« gespeichert [2]

Can i do something to find out where is the problem located?
Activate any debug info.

Hope you can help.
Regards
Sven

unsuccessful installation

Hello,
I have followed the steps (sudo apt-get...) as detailed in section "Installation" and I have successfully installed all required packages. However when I try to run install.php to create the database I get an 500 error.

Can you please give me a hint what am I missing?
Thanks!

This are the steps I did for troubleshooting:

# check lighttpd server is running:
/var/www/html/index.lighttpd.html opened is Chrome as:
http://192.168.168.19/index.lighttpd.html 
--> successfully displaying Welcome page | Placeholder page of lighttpd displayed
# check PHP is running:
echo "<?php phpinfo ();?>" > /var/www/html/index_testphp.php
opened is Chrome as:
http://192.168.168.19/index_testphp.php 
-->  successfully displaying PHP version info page...
# check mysql is running:
sudo /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.
# run uvr1611 installation script:
/var/www/html/install.php opened is Chrome as:
http://192.168.168.19/install.php
(http://192.168.168.19/index.php)
-->  500 Error

Some problems and questions

any news ?

Also we have at the Analog 5 a Strömugswächter but it is shown as °C hw we can manage to show it as EIN AUS because its at sensor not as digital output its digital input .

With digital poutputs it work EIN / AUS show in extras stats at same chart site but with the Strömungswächter not

Also how can use more units / formats in one chart ? because at Solar CHarts the Durchfluss Solar is shown as °C to but thats not reight how we can fix that ?

I read values from UVR16x2 with RP3 and Can Bus Shield . and upload values to mysql Datalogger from this github.

Negative power leads to peaks in power chart

I sometimes have negative powers for a short amount of time. This works well with winsol, but the data logger trnaslates them into very large numbers, rendering the power-chart for that day useless. After setting the values to zero in the database the graph returns to normal. It seems there is a conversion error in the code.

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.