meterN is a lightweight set of PHP/JS files that make a " Home energy metering & monitoring " solution.

Overview

meterN - Home energy monitor - (PHP/JS Energy Metering & Monitoring)

meterN demo

What can meterN do for you ?

meterN is a lightweight set of PHP/JS files that make a « Home energy metering & monitoring » solution. It accept any meters like : electrical, water, gas, fuel consumption, solar, wind energy production and so on ..
Sensors such as temperature or humidity are also accepted.

Prerequisites

meterN rely on communication(s) application(s), which are -not- part of this project, see some examples here.
As it is running on top of a webserver, you must grant the access to your communication(s) application(s) as well as your communication port(s) to the 'http' user.
Json, Calendar and Curl extensions have to be enable in php. Your server must allow HTTP authentication.

Warnings

Modify your electrical installation must be done by a qualified person.
Do not leave open the access of your website as it may reveal your house activities to any malicious person !

Installation

  • Install and test the communication applications for your meters/sensors and make sure they are reliable !
  • Put the archive on your web server's folder then extract. (tar -xzvf metern*.tar.gz)
  • Go then in your browser for configuration http://yourIP/metern/admin/

Support, Update & Contact

Check the wiki and the 'Help and debugger' section in the administration section. It usually respond to most common(s) issue(s).

License & External copyrights

meterN is released under the GNU GPLv3 license (General Public License). This license allows you to freely integrate this library in your applications, modify the code and redistribute it in bundled packages as long as your application is also distributed with the GPL license.
The GPLv3 license description can be found at http://www.gnu.org/licenses/gpl.html

Highcharts, the javascript charting library is free for non-commercial use only. (http://highcharts.com)

Small-n-flat icons CC0 1.0 Universal (http://paomedia.github.io/small-n-flat/)

You might also like...
Ultimate solution to your KopoKopo needs

ultimate-kopokopo Smith Ultimate Kopokopo PHP SDK This is a module to assist php developers in consuming Kopokopo's API Installation You can install t

X1 - A very simple web based note solution that's designed to serve as my second brain.
X1 - A very simple web based note solution that's designed to serve as my second brain.

X1 A very simple web based note solution that's designed to serve as my second brain. Starting Server To start the tool simply clone the repo and then

Magento 2 Blog Extension - FREE, fully featured, powerful Blog solution for your online store!

Blog MX | Magento 2 Blog Module by Mirasvit FREE, fully featured, powerful Blog solution for your online store! Magento 2 Blog MX allows you to open a

FalconOne Lite is an Open Source solution deployed and updated on a daily basis to help prevent terror and crime globally
FalconOne Lite is an Open Source solution deployed and updated on a daily basis to help prevent terror and crime globally

FalconOne Lite is an Open Source solution deployed and updated on a daily basis to help prevent terror and crime globally. By using advanced tools, functions and stealth strategies, FalconOne community is focused on making a friendly and fast solution for effective results.

Proxy based Redis cluster solution supporting pipeline and scaling dynamically
Proxy based Redis cluster solution supporting pipeline and scaling dynamically

Codis is a proxy based high performance Redis cluster solution written in Go. It is production-ready and widely used at wandoujia.com and many compani

An article about alternative solution for convert object into a JSON Object for your api.

Do we really need a serializer for our JSON API? The last years I did build a lot of JSON APIs but personally was never happy about the magic of using

Mailing Microservice - My solution for Moroccan PHPers's February 2022 Challenge
Mailing Microservice - My solution for Moroccan PHPers's February 2022 Challenge

Mailing Microservice Solution for Moroccan PHPers's February 2022 Challenge by Rabyâ Raghib ([email protected]). It mainly consists of: a php app th

 A complete solution for group projects in organizations that lets you track your work in any scenario. Working in a team is a cumbersome task, ease it using our project management system.
A complete solution for group projects in organizations that lets you track your work in any scenario. Working in a team is a cumbersome task, ease it using our project management system.

SE-Project-Group24 What is Evolo? Evolo is Dashboard based Project Management System. A complete solution for group projects in organizations that let

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

Comments
  • Last 15 days wrong data

    Last 15 days wrong data

    I'm trying latest commit f58fbb0. On last 15 days I have 2 meters with same data.

    Executing curl "http://localhost/metern/programs/programlastdays.php" I have wrong results, instead using curl http://localhost/metern/programs/programlastdays2.php results are correct.

    Wrong results: {"data":[{"name":"PDC","color":"#A6792B","yAxis":0,"data":[[1644969600000,9.746],[1645056000000,13.916],[1645142400000,10.792],[1645228800000,7.184],[1645315200000,10.036],[1645401600000,10.526],[1645488000000,11.45],[1645574400000,10.702],[1645660800000,8],[1645747200000,8.978],[1645833600000,15.318],[1645920000000,12.496],[1646006400000,10.102],[1646092800000,19.784],[1646179200000,11.684]]},{"name":"FV","color":"#1F78FF","yAxis":0,"data":[[1644969600000,23.747],[1645056000000,24.332],[1645142400000,27.319],[1645228800000,21.827],[1645315200000,8.988],[1645401600000,16.424],[1645488000000,30.48],[1645574400000,29.593],[1645660800000,29.066],[1645747200000,28.616],[1645833600000,4.552],[1645920000000,7.006],[1646006400000,11.082],[1646092800000,9.988],[1646179200000,30.779]]},{"name":"Contatore","color":"#FFFFFF","yAxis":0,"data":[[1644969600000,23.747],[1645056000000,24.332],[1645142400000,27.319],[1645228800000,21.827],[1645315200000,8.988],[1645401600000,16.424],[1645488000000,30.48],[1645574400000,29.593],[1645660800000,29.066],[1645747200000,28.616],[1645833600000,4.552],[1645920000000,7.006],[1646006400000,11.082],[1646092800000,9.988],[1646179200000,30.779]]}]}

    correct results: {"data":[{"name":"PDC","color":"#A6792B","yAxis":0,"data":[[1644969600000,9.746],[1645056000000,13.916],[1645142400000,10.792],[1645228800000,7.184],[1645315200000,10.036],[1645401600000,10.526],[1645488000000,11.45],[1645574400000,10.702],[1645660800000,8],[1645747200000,8.978],[1645833600000,15.318],[1645920000000,12.496],[1646006400000,10.102],[1646092800000,19.784],[1646179200000,11.684]]},{"name":"FV","color":"#1F78FF","yAxis":0,"data":[[1644969600000,23.747],[1645056000000,24.332],[1645142400000,27.319],[1645228800000,21.827],[1645315200000,8.988],[1645401600000,16.424],[1645488000000,30.48],[1645574400000,29.593],[1645660800000,29.066],[1645747200000,28.616],[1645833600000,4.552],[1645920000000,7.006],[1646006400000,11.082],[1646092800000,9.988],[1646179200000,30.779]]},{"name":"Contatore","color":"#FFFFFF","yAxis":0,"data":[[1644969600000,29.078],[1645056000000,34],[1645142400000,27.609],[1645228800000,21.477],[1645315200000,28.101],[1645401600000,29.313],[1645488000000,30],[1645574400000,30.793],[1645660800000,21.312],[1645747200000,28.75],[1645833600000,32.906],[1645920000000,26.227],[1646006400000,31.148],[1646092800000,34.973],[1646179200000,28.207]]}]}

    question 
    opened by gianfrdp 9
  • having

    having "null" value on a meter

    I would like to know if possible to put a "null" value in a meter to not display it in the graph, this is the case: a temperature detected by micro inverters that do not respond to polling at night, simply putting 0 is not good as it is a valid value.

    enhancement question 
    opened by ptoni2000 6
  • update issue with github moving

    update issue with github moving

    hi JM, i'm on meterN version 1.2.3 if i try to update i receive this error: Time out: can't retreive https://metern.org/latest_version.php it should be generate by moving from metern.org to github. i see that there is a revision 1.2.3.2 that should solve this issue, but right now how i can update my metern?

    second note: i see that new web link is: $url = 'https://raw.githubusercontent.com/jeanmarc77/meterN/main/other/latest_version.json'; but if i copy paste this link on web page i see: 404: Not Found

    it should not be: https://raw.githubusercontent.com/jeanmarc77/meterN/1.2.3.2/other/latest_version.json in this case i receive in web browser:

    {
        "LASTVERSION": "meterN 1.2.3",
        "LINK": "https://github.com/jeanmarc77/meterN/releases/download/1.2.3/metern1.2.3.tar.gz",
        "md5": "d691a8f691f74435a71d099299de71d4"
    }
    

    so, is it correct the url reported in new release inside: /metern/admin/update.php ? and how to update starting from my release?


    last question for 123solar i'm on release [123Solar 1.8.4.3] if i click on update i see: You are running 123Solar 1.8.4.3, 123Solar 1.8.4.4 is available

    but if i look inside my local raspberry /var/www/123solar/admin/update-php i see $url = 'https://123solar.org/latest_version.php';

    is it correct? can i proceed on update 123solar and the file will be taken from github?

    opened by megamarco833 4
  • Remote Command Execution Vulnerability

    Remote Command Execution Vulnerability

    check https://www.exploit-db.com/exploits/50596 for details Mabe a trick would be to have a list of allowed com apps. But, that would need to manually set another config file. Any others hints ?

    help wanted 
    opened by jeanmarc77 2
Releases(1.2.4)
Owner
Jean-Marc Louviaux
Jean-Marc Louviaux
Naive Bayes works by looking at a training set and making a guess based on that set.

Naive Bayes Naive Bayes works by looking at a training set and making a guess based on that set. It uses simple statistics and a bit of math to calcul

Assisted Mindfulness 29 Nov 27, 2022
PHP package to make your objects strict and throw exception when you try to access or set some undefined property in your objects.

?? Yell PHP package to make your objects strict and throw exception when you try to access or set some undefined property in your objects. Requirement

Zeeshan Ahmad 20 Dec 8, 2018
PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.

PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.

Squiz Labs 9.9k Jan 5, 2023
Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files

toKirby Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files. You can easily install and test it in a few steps.

R. Banus 4 Jan 15, 2022
An online system to keep digitized form of employee personal files (staff personal files)

An online system to keep digitized form of employee personal files (staff personal files).

p r o c e s s o r 2 Jun 18, 2022
Provide CSV, JSON, XML and YAML files as an Import Source for the Icinga Director and optionally ship hand-crafted additional Icinga2 config files

Icinga Web 2 Fileshipper module The main purpose of this module is to extend Icinga Director using some of it's exported hooks. Based on them it offer

Icinga 25 Sep 18, 2022
S11 Selection est une solution web PHP faite pour automatiser la création d'une grille d'évaluation d'un étudiant puis de les rassembler pour en faire un classement.

[S11] SELECTION BTS 0.1.0 FR Description S11 Selection est une solution web PHP faite pour automatiser la création d'une grille d'évaluation d'un étud

NOIZET Maxence 1 Oct 25, 2022
My solution use PHP with a class for easy setup

My solution use PHP with a class for easy setup. It accepts requests with the get method just passing the username and password as well as the ip and http port of the Proxmox server. Just needing a web server.

Full Monitoring 2 Jan 15, 2022
Simple IT Documentation Solution for MSPs

SimpleMSPDoc RC 1.0 I wasn't happy with what other IT documention software had. I felt they over complicated things and required so much clicky clicky

null 4 Jun 5, 2022