http://wiki.td-er.nl/api.php?action=feedcontributions&user=Admin&feedformat=atomTD-er's Wiki - User contributions [en]2024-03-28T22:47:48ZUser contributionsMediaWiki 1.33.0http://wiki.td-er.nl/index.php?title=YouLess&diff=2582YouLess2020-12-29T21:33:35Z<p>Admin: Add RAW P1 Telegram</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
<br />
=== RAW P1 Telegram ===<br />
The RAW P1 telegram is present, using this URL (replace IP-address):<br />
http://192.168.1.14/V?p=1<br />
<br />
If the telegram message appears to be too long (may differ per meter), the 2nd part of it can be accessed via:<br />
http://192.168.1.14/V?p=2<br />
<br />
Actual power can be found at: 2x.7.0, 4x.7.0 and 6x.7.0<br />
<br />
This was only mentioned by [[https://gathering.tweakers.net/forum/list_message/65124286#65124286 YouLess on Gathering of Tweakers]] as a debug function for support.<br />
<br />
<br />
<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
New values (since 1.4 version firmware)<br />
* ''ts0'': S0: Unix timestamp of the last S0 measurement.<br />
* ''cs0'': S0: kWh counter of S0 input<br />
* ''ps0'': S0: Computed power<br />
* ''gts'': Last timestamp created by the 'smart meter'. "1711032100" = 2017/11/03 21:00 (yyMMddhhmm) Can be used to see if P1 communication fails.<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035 Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100<br />
<br />
See [[#Enelogic_.28default.29_firmware]] for more details.</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2581YouLess2017-11-06T19:35:18Z<p>Admin: /* Enelogic (default) firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
New values (since 1.4 version firmware)<br />
* ''ts0'': S0: Unix timestamp of the last S0 measurement.<br />
* ''cs0'': S0: kWh counter of S0 input<br />
* ''ps0'': S0: Computed power<br />
* ''gts'': Last timestamp created by the 'smart meter'. "1711032100" = 2017/11/03 21:00 (yyMMddhhmm) Can be used to see if P1 communication fails.<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035 Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100<br />
<br />
See [[#Enelogic_.28default.29_firmware]] for more details.</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2580YouLess2017-11-05T08:00:16Z<p>Admin: /* Windows PowerShell */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
New values (since 1.4 version firmware?)<br />
* ''ts0'': Unix timestamp of some last measurement? (gas usage is only done a few times per hour)<br />
* ''cs0'': ???<br />
* ''ps0'': ???<br />
* ''gts'': Looks like a timestamp of the Youless in decimals. "1711032100" = 2017/11/03 21:00<br />
<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035 Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100<br />
<br />
See [[#Enelogic_.28default.29_firmware]] for more details.</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2579YouLess2017-11-05T07:59:50Z<p>Admin: /* Windows PowerShell */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
New values (since 1.4 version firmware?)<br />
* ''ts0'': Unix timestamp of some last measurement? (gas usage is only done a few times per hour)<br />
* ''cs0'': ???<br />
* ''ps0'': ???<br />
* ''gts'': Looks like a timestamp of the Youless in decimals. "1711032100" = 2017/11/03 21:00<br />
<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035 Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100<br />
<br />
See [[#Enelogic_.28default.29_firmware Enelogic (default) firmware]] for more details.</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2578YouLess2017-11-05T07:58:32Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
New values (since 1.4 version firmware?)<br />
* ''ts0'': Unix timestamp of some last measurement? (gas usage is only done a few times per hour)<br />
* ''cs0'': ???<br />
* ''ps0'': ???<br />
* ''gts'': Looks like a timestamp of the Youless in decimals. "1711032100" = 2017/11/03 21:00<br />
<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035 Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2577YouLess2017-11-05T07:51:15Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Windows PowerShell ==<br />
Suggested by user [[https://gathering.tweakers.net/forum/list_message/53125035#53125035|Frost_Azimov]]<br />
<br />
$data = invoke-RestMethod -Uri $url -Method Get<br />
<br />
With $url the Youless url + ' /e' .<br />
This will parse the JSON data into a PowerShell object.<br />
<br />
e.g. ''$data | fl '' (using the Enelogic firmware) will output:<br />
<br />
tm : 1509739737<br />
net : 31777,244<br />
pwr : 1080<br />
ts0 : 1509738000<br />
cs0 : 0,000<br />
ps0 : 0<br />
p1 : 18728,542<br />
p2 : 13048,716<br />
n1 : 0,008<br />
n2 : 0,006<br />
gas : 5444,593<br />
gts : 1711032100<br />
<br />
* ''tm'': Unix timestamp of upload<br />
* ''net'': The net counter value displayed in the Youless webinterface. It seems equal to: p1 + p2 - n1 - n2 Perhaps also includes some user set offset.<br />
* ''pwr'': Current power consumption in Watt<br />
* ''ts0'': Unix timestamp of some last measurement? (gas usage is only done a few times per hour)<br />
* ''cs0'': ???<br />
* ''ps0'': ???<br />
* ''p1'': P1 counter of 'smart meter' (consumption low tarif)<br />
* ''p2'': P2 counter of 'smart meter' (consumption high tarif)<br />
* ''n1'': N1 counter of 'smart meter' (production low tarif)<br />
* ''n2'': N2 counter of 'smart meter' (production high tarif)<br />
* ''gas'': Gas counter of 'smart meter'<br />
* ''gts'': Looks like a timestamp of the Youless in decimals. "1711032100" = 2017/11/03 21:00</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2576YouLess2017-10-03T19:48:29Z<p>Admin: Add setting S0 counter value</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
* http://youless/M?c=123456 will set the S0 counter to 123,456 kWh. The value given is in Wh, not kWh. <br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| /M?c=123456<br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2575YouLess2017-08-19T09:11:47Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?h=.../Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2574YouLess2017-08-19T08:40:47Z<p>Admin: /* Historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2573YouLess2017-08-19T08:40:13Z<p>Admin: /* Status info */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Uploaded Values ===<br />
The url "/e" will output the same values as being used to upload and are thus firmware dependant.<br />
These were probably used for debugging, but can also be used for other applications like connecting to Domoticz or OpenHab.<br />
<br />
==== Enelogic (default) firmware ====<br />
Output is always in JSON format:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
Th non JSON format output is in the format described on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2572YouLess2017-08-19T08:34:02Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Uploaded Values *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2571YouLess2017-08-19T08:33:18Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| Firmware dependant<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2570YouLess2017-08-19T08:30:17Z<p>Admin: /* JSON */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,<br />
"val":["*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",<br />
"*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,<br />
"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",<br />
" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2569YouLess2017-08-19T08:23:22Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
N.B. only updated values will be shown. For example with the P1 disconnected and S0 connected:<br />
d=20170819&t=10:19&v1=13148&v2=2400&c1=1<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2568YouLess2017-08-17T22:16:20Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated in Watt hours)<br />
* v2: ????? (Power Generated in Watt)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed in Watt hours)<br />
* v4: Actual power (Power Consumed in Watt)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2567YouLess2017-08-17T21:55:25Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated)<br />
* v2: ????? (Power Generated)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed)<br />
* v4: Actual power (Power Consumed)<br />
* c1: 1= lifetime values (Cumulative Flag)<br />
<br />
===== Cumulative Flag =====<br />
Cumulative Energy<br />
Set the cumulative flag c1 to 1 when you wish to pass lifetime energy values for v1 instead of today's energy value. The first add status for any given date will be used as the starting energy value and v1 will be reset to 0.<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2566YouLess2017-08-17T21:53:12Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#api-addstatus PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated)<br />
* v2: ????? (Power Generated)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed)<br />
* v4: Actual power (Power Consumed)<br />
* c1: ????? (Cumulative Flag)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2565YouLess2017-08-17T21:49:16Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [https://www.pvoutput.org/help.html#general-aggregation PVoutput site]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated)<br />
* v2: ????? (Power Generated)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed)<br />
* v4: Actual power (Power Consumed)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2564YouLess2017-08-17T21:48:59Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [[https://www.pvoutput.org/help.html#general-aggregation PVoutput site]]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated)<br />
* v2: ????? (Power Generated)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed)<br />
* v4: Actual power (Power Consumed)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2563YouLess2017-08-17T21:48:36Z<p>Admin: /* PV output firmware */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
It looks like the values used on the [[https://www.pvoutput.org/help.html#general-aggregation|PVoutput site]]:<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input (Energy Generated)<br />
* v2: ????? (Power Generated)<br />
* v3: Value displayed as "Meterstand" in Wh. (Energy Consumed)<br />
* v4: Actual power (Power Consumed)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2562YouLess2017-08-17T21:32:04Z<p>Admin: /* JSON */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
Also other small values may have one or more leading zeroes.<br />
<br />
Values can be zero (" 0") or even be marked as not active ("*").<br />
For example not active:<br />
{"un":"Watt","tm":"2017-08-17T13:24:00","dt":60,"val":["*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*",null]}<br />
No production/consumption:<br />
{"un":"Watt","tm":"2017-08-17T22:27:00","dt":60,"val":[" 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0"," 0",null]}<br />
<br />
Note the "null" terminated array to allow variable number of elements.<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input<br />
* v2: ?????<br />
* v3: Value displayed as "Meterstand" in Wh.<br />
* v4: Actual power (can be negative)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2561YouLess2017-08-17T21:24:02Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input<br />
* v2: ?????<br />
* v3: Value displayed as "Meterstand" in Wh.<br />
* v4: Actual power (can be negative)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| 10 hours<br />
| /Z?h=1..2<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2560YouLess2017-08-17T21:23:21Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input<br />
* v2: ?????<br />
* v3: Value displayed as "Meterstand" in Wh.<br />
* v4: Actual power (can be negative)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
! colspan="2" | S0 LS-120 **<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
| /Z?h=1..2<br />
| 10 hours<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
| 10 days<br />
| /Z?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
| 70 days<br />
| /Z?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
| 1 year<br />
| /Z?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
(**) The LS-120 firmware version 1.4 also logs the S0 input with the same schema as the Power logs.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2559YouLess2017-08-17T21:17:28Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== Status info ===<br />
==== Enelogic (default) firmware ====<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
==== PV output firmware ====<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input<br />
* v2: ?????<br />
* v3: Value displayed as "Meterstand" in Wh.<br />
* v4: Actual power (can be negative)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2558YouLess2017-08-17T21:12:19Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* The items marked with a "**" are introduced in later LS120 firmware versions.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| S0 Log **<br />
| /z<br />
| /Y<br />
| /Z?w=... /Z?d=... /Z?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== Status info ===<br />
== Enelogic (default) firmware ==<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== PV output firmware ==<br />
The logic has changed to some human readable format (non JSON):<br />
d=20170817&t=22:56&v1=0&v2=0&c1=1&v3=1935267&v4=570<br />
<br />
* d: Date YYYMMDD<br />
* t: Time HH:MM<br />
* v1: S0 input as bruto production input<br />
* v2: ?????<br />
* v3: Value displayed as "Meterstand" in Wh.<br />
* v4: Actual power (can be negative)<br />
* c1: ?????<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2557YouLess2017-03-13T22:26:37Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
* Power is in Watt, except for the day-resolution, which uses kWh.<br />
* Gas is in Liter, except for the day-resolution, which is in m^3.<br />
<br />
{| class="wikitable"<br />
! rowspan="2" | Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
|-<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
| Range<br />
| URL<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| colspan="2" | None<br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2556YouLess2017-03-13T22:14:41Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
{| class="wikitable"<br />
! Resolution<br />
! colspan="2" | Power LS-110<br />
! colspan="2" | Power LS-120<br />
! colspan="2" | Gas LS-120<br />
|-<br />
| Minute<br />
| 1 hour<br />
| /V?h=1..2<br />
| 10 hours<br />
| /V?h=1..20<br />
| None<br />
| <br />
|-<br />
| 10 mins<br />
| 1 day<br />
| /V?w=1..3<br />
| 10 days<br />
| /V?w=1..30<br />
| 10 days<br />
| /W?w=1..30<br />
|-<br />
| Hour<br />
| 7 days<br />
| /V?d=1..7<br />
| 70 days<br />
| /V?d=1..70<br />
| 70 days<br />
| /W?d=1..70<br />
|-<br />
| Day<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /V?m=1..12<br />
| 1 year<br />
| /W?m=1..12<br />
|}<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2555YouLess2017-03-13T21:54:58Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
| <br />
| <br />
| (always JSON)<br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2554YouLess2017-03-13T21:52:05Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
* URL can be combined from multiple cells in the table below. For example: http://<IP Youless>/V?h=1?f=j<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2553YouLess2017-03-13T21:49:02Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..30, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2552YouLess2017-03-13T21:48:31Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
! LS110 data range<br />
! LS120 data range<br />
! JSON view<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=... /V?w= ... /V?d=... /V?m=...<br />
| h=1..2, w=1..3, d=1..7, m=1..12<br />
| h=1..20, w=1..3, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=... /W?d=... /W?m=...<br />
| <br />
| h=1..20, w=1..3, d=1..70, m=1..12<br />
| ?f=j<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e (always JSON)<br />
| <br />
| <br />
| <br />
|-<br />
| Basic status info<br />
| <br />
| <br />
| /a<br />
| <br />
| <br />
| ?f=j<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2551YouLess2017-03-13T21:10:41Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 (.. h=20 for LS120) /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 10 days (30x 8 hours) back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2550YouLess2017-03-13T21:09:28Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 (.. h=20 for LS120) /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
The gas consumption can be viewed in detail up to 30x 8 hours back in time. (w = 1 ... w = 30)<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2549YouLess2017-03-13T10:28:11Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 (.. h=20 for LS120) /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2548YouLess2017-03-13T09:59:09Z<p>Admin: /* Resolution of historical data */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
** LS-120: h=3 ... h=20 with extra points of minute-data.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2547YouLess2017-03-12T22:53:25Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== Plain text ====<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2546YouLess2017-03-12T22:51:12Z<p>Admin: </p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Reboot Youless ===<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=<br />
It uses the special "/S" page, which contains several undocumented parameters.<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Historical data ==<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "W".<br />
The same applies as for page "V", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2545YouLess2017-03-12T22:45:57Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2544YouLess2017-03-12T22:45:08Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| P1 status info *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Basic status info<br />
| <br />
|<br />
| JSON: /a?f=j (TXT: /a)<br />
|}<br />
<br />
=== Device Info ===<br />
The url "/d" will always output JSON data:<br />
{"model":"LS120","mac":"72:b8:ad:14:00:04"}<br />
<br />
=== Basic status info ===<br />
The url "/a" has two output formats:<br />
* Plain text ("/a")<br />
* JSON format ("/a?f=j")<br />
<br />
==== JSON ====<br />
The URL "/a?f=j" will output something like this:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
<br />
=== P1 status info ===<br />
The url "/e" will always output JSON data:<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2543YouLess2017-03-12T22:33:38Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| P1 data *<br />
| <br />
| <br />
| /e<br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|}<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2542YouLess2017-03-12T21:53:43Z<p>Admin: /* Page Layout */</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Data (JSON/HTML/TXT)<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| P1 data *<br />
| <br />
| <br />
| /e<br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|}<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2541YouLess2017-03-12T21:50:49Z<p>Admin: Added table to map the URLs of the Youless to their functions</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
== Page Layout ==<br />
The page layout is split in two parts (left and right) and for some queries, there is a JSON option to retrieve the data.<br />
<br />
In the table below:<br />
* the URLs should be prefixed with "http://<IP-address>"<br />
* The items marked with a "*" do not apply to the LS110.<br />
<br />
{| class="wikitable"<br />
! Menu<br />
! Left<br />
! Right panel<br />
! Json<br />
|-<br />
| Home<br />
| /<br />
| /H<br />
| /a?f=j (TXT: /a)<br />
|-<br />
| Meter Settings<br />
| /m<br />
| /M<br />
| <br />
|-<br />
| Network Settings<br />
| /n<br />
| /N<br />
| <br />
|-<br />
| System Settings<br />
| /s<br />
| /S<br />
| <br />
|-<br />
| Upload Settings<br />
| /u<br />
| /U<br />
| <br />
|-<br />
| Electricity Log<br />
| /v<br />
| /R<br />
| /V?h=1 .. h=2 /V?w=1 .. w=3 /V?d=1 .. d=7 /V?m=1 .. m=12<br />
|-<br />
| Gas Log *<br />
| /w<br />
| /T<br />
| /W?w=1 .. w=3 /W?d=1 .. d=7 /W?m=1 .. m=12<br />
|-<br />
| CSS Stylesheet<br />
| /c<br />
| <br />
| <br />
|-<br />
| Device Info *<br />
| <br />
| <br />
| /d<br />
|-<br />
| Logo/Favicon<br />
| /l<br />
| <br />
| <br />
|-<br />
| P1 data *<br />
| <br />
| <br />
| /e<br />
|-<br />
| AJAX update script<br />
| /x<br />
| <br />
| <br />
|-<br />
| Login Widget<br />
| <br />
| /L<br />
| <br />
|}<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=YouLess&diff=2540YouLess2017-03-12T17:04:50Z<p>Admin: Added information about the LS-120</p>
<hr />
<div>The [[http://www.youless.nl YouLess LS110]] is a kWh meter to ethernet bridge, which detects the turns of the rotor disc or LED-pulses of an electricity meter.<br />
These turns or flashes are proportional to a certain amount of electric energy used.<br />
This information is being logged and can be sent to a website like [[http://www.bidgely.com/ Bidgely]].<br />
It can also be queried from a networked device on the local network (via http) to get real-time power consumption.<br />
<br />
<br />
== Data format ==<br />
For local queries (via http) there is a number of data formats available:<br />
<br />
=== Plain text ===<br />
Page "a" (e.g. http://192.168.1.14/a ) will return some data in plain text:<br />
4456,980 kWh<br />
457 Watt<br />
0%<br />
OK (13)<br />
<br />
=== JSON format ===<br />
Page "a?f=j" will return this info plus some extra in JSON format:<br />
{"cnt":"4457,005","pwr":453,"lvl":0,"dev":"","det":"","con":"OK","sts":"(52)","raw":0}<br />
* cnt: counter in kWh<br />
* pwr: Pwer consumption in Watt<br />
* lvl: moving average level (intensity of reflected light on analog meters)<br />
* dev: deviation of reflection<br />
* con: connection status<br />
* sts: Time until next status update with online monitoring<br />
* raw: raw 10-bit light reflection level (without averaging)<br />
<br />
Please note that the kWh-data may have one or two leading spaces when the count is below 100 kWh.<br />
For example:<br />
{"cnt":" 22,285","pwr":764,"lvl":0,"dev":"","det":"","con":"OK","sts":"(06)","raw":0}<br />
<br />
The LS-120, which is connected to the P1 port, can be queried via page "e" (e.g. "http://192.168.1.14/e") :<br />
[{"tm":1489333828,"net": 2375.216,"pwr": 1402,"p1": 2523.531,"p2": 2087.307,"n1": 686.432,"n2": 1549.190,"gas": 2611.792}]<br />
* "tm": unix-time-format (1489333828 => Sun, 12 Mar 2017 15:50:28 GMT)<br />
* "net": Netto counter, as displayed in the web-interface of the LS-120.<br />
* "pwr": Actual power use in Watt (can be negative)<br />
* "p1": P1 consumption counter (low tariff)<br />
* "p2": P2 consumption counter (high tariff)<br />
* "n1": N1 production counter (low tariff)<br />
* "n2": N2 production counter (high tariff)<br />
* "Gas": counter gas-meter (in m^3)<br />
<br />
<br />
=== Historical data ===<br />
The source of page "R" contains some links to pages with historical data.<br />
For example, "V?m=1" will show the kWh values for januari in plain text and "V?m=1&f=j" will display this in JSON format.<br />
<br />
{"un":"kWh",<br />
"tm":"2012-01-01T00:00:00",<br />
"dt":86400,<br />
"val":[" 0,000"," 7,200"," 8,000"," 8,200"," 6,600"," 7,900"," 8,600"," 10,600",<br />
" 6,200"," 7,000"," 8,200"," 5,100"," 8,900"," 5,900"," 7,300"," 7,400",<br />
" 6,900"," 12,200"," 6,700"," 8,500"," 7,100"," 7,700"," 1,300"," 8,500",<br />
" 5,500"," 7,700"," 7,500"," 10,200"," 8,100"," 6,300"," 4,100",null]}<br />
<br />
This sample (output without newlines) contains the following information:<br />
* unit: kWh<br />
* start time: 2012-01-01T00:00:00<br />
* delta time (time between samples): 86400 seconds (1 day)<br />
* an array with values for each (recorded) day (array is null-terminated)<br />
<br />
=== Resolution of historical data ===<br />
Probably due to memory limitations, the historical data is stored with a larger interval when it's further back in time.<br />
<br />
Power usage in kWh per:<br />
* day of month<br />
** url = http://192.168.1.14/V?m=2 <br />
** m = the number of month (jan = 1, feb = 2, ..., dec = 12)<br />
* hour of day<br />
** url = http://192.168.1.14/V?d=1 <br />
** d = the number of days ago (today = 0, yesterday = 1, etc.)<br />
* 10 minutes<br />
** url = http://192.168.1.14/V?w=1 <br />
** w = 1 for the interval now till 8 hours ago.<br />
** w = 2 for the interval 8 till 16 hours ago.<br />
** w = 3 for the interval 16 till 24 hours ago.<br />
* 1 minute<br />
** url = http://192.168.1.14/V?h=1<br />
** h = 1 for the interval now till 30 minutes ago.<br />
** h = 2 for the interval 30 till 60 minutes ago.<br />
<br />
N.B. each url can be complemented with "&f=j" to get the JSON-version of the data.<br />
Note that some values may contain leading spaces.<br />
<br />
The LS-120 also has a page for the gas consumption, which is located at page "w".<br />
The same applies as for page "v", described above, with exception that there is no page for the last hour.<br />
Most gas measurement systems only update the gas counters once per 10 - 30 minutes, so log per minute is of no use.<br />
<br />
== Cacti script ==<br />
For logging purposes like Cacti, a script only needs to output a number on one line.<br />
This will just do that:<br />
<br />
#/bin/bash<br />
wget http://192.168.1.14/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //<br />
<br />
This will output something like this:<br />
<br />
15.971<br />
<br />
== Reboot Youless ==<br />
You can remotely reboot the Youless, using this URL (replace IP-address):<br />
http://192.168.1.14/S?rb=</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2539Homewizard2016-12-07T20:00:11Z<p>Admin: /* Used sources */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
URLs:<br />
* wi/graph/<sensor-number>/<br />
* wi/graph/<sensor-number>/day<br />
* wi/graph/<sensor-number>/week<br />
<br />
No urls available for month or year.<br />
<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
URLs:<br />
* ra/graph/{ID-rainmeter}/day<br />
* ra/graph/{ID-rainmeter}/week<br />
* ra/graph/{ID-rainmeter}/month<br />
* ra/graph/{ID-rainmeter}/year<br />
With:<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
=== B&O TV Avant ===<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.<br />
* URLs of rain-meters found by [https://gathering.tweakers.net/forum/list_message/49352563#49352563 David82]<br />
* URLs for the wind-meter found by [https://gathering.tweakers.net/forum/list_message/49379987#49379987 Xtremer]</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2538Homewizard2016-12-07T19:59:08Z<p>Admin: /* Wind data */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
URLs:<br />
* wi/graph/<sensor-number>/<br />
* wi/graph/<sensor-number>/day<br />
* wi/graph/<sensor-number>/week<br />
<br />
No urls available for month or year.<br />
<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
URLs:<br />
* ra/graph/{ID-rainmeter}/day<br />
* ra/graph/{ID-rainmeter}/week<br />
* ra/graph/{ID-rainmeter}/month<br />
* ra/graph/{ID-rainmeter}/year<br />
With:<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
=== B&O TV Avant ===<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.<br />
* URLs of rain-meters found by [https://gathering.tweakers.net/forum/list_message/49352563#49352563 David82]</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2537Homewizard2016-12-03T12:11:46Z<p>Admin: /* Used sources */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
URLs:<br />
* ra/graph/{ID-rainmeter}/day<br />
* ra/graph/{ID-rainmeter}/week<br />
* ra/graph/{ID-rainmeter}/month<br />
* ra/graph/{ID-rainmeter}/year<br />
With:<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
=== B&O TV Avant ===<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.<br />
* URLs of rain-meters found by [https://gathering.tweakers.net/forum/list_message/49352563#49352563 David82]</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2536Homewizard2016-12-03T12:10:54Z<p>Admin: /* Weather sensors */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
URLs:<br />
* ra/graph/{ID-rainmeter}/day<br />
* ra/graph/{ID-rainmeter}/week<br />
* ra/graph/{ID-rainmeter}/month<br />
* ra/graph/{ID-rainmeter}/year<br />
With:<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
=== B&O TV Avant ===<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2535Homewizard2016-11-26T15:25:53Z<p>Admin: /* B&O TV Avant */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
=== B&O TV Avant ===<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2534Homewizard2016-11-26T15:25:10Z<p>Admin: /* Used sources */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
== B&O TV Avant ==<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
* Information about the B&O TV Avant, the /triggers and /handshake was sent to me by Gert via email.</div>Adminhttp://wiki.td-er.nl/index.php?title=Homewizard&diff=2533Homewizard2016-11-26T15:23:38Z<p>Admin: /* Status information */</p>
<hr />
<div>The home-wizard URLs:<br />
<br />
Note that the password is sent plain-text in the url.<br />
Base of url is: http://<ip-homewizard>/<wachtwoord><br />
<br />
== Switches and dimmers ==<br />
Read switchnumbers:<br />
* /swlist<br />
<br />
Read sensor status:<br />
* /get-sensors [[Homewizard_get_sensors_json_output]]<br />
<br />
Switch (e.g. lamp) on or off:<br />
* /sw/<switch-number>/<on|off><br />
<br />
Operate dimmer:<br />
* /sw/dim/<dimmer-number>/<value 0 ... 255><br />
<br />
== Scenes ==<br />
Get list of scenes:<br />
* /gplist<br />
Switch scenes:<br />
* /gp/<scene-number>/<on|off><br />
<br />
== Triggers ==<br />
The list of triggers: (thanks to Gert, who sent me this via email)<br />
* /triggers [[HomeWizard triggers Json output]]<br />
<br />
The time-notations are:<br />
* Interval:<br />
* 15 minutes past sunset till 15 minutes before sunrise: "startTime": "s+15" , "endTime": "r-15"<br />
* Valid during whole day: "startTime": "00:00", "endTime": "23:59",<br />
* At specific time:<br />
* "type": "time", "time": "22:30",<br />
<br />
== Other commands ==<br />
* /get-status : state of all sensors<br />
* /get-sensors : all devices and sensors<br />
* /notifications: all your notifications<br />
* /nf-receivers: notification receivers<br />
* /timers: overview of timers<br />
* /suntimes/today: sunrise & sunset of today<br />
* /wea/get: your location according to HomeWizard<br />
<br />
== Status information ==<br />
This one is a little different, since no passwd is needed in the URL:<br />
* http://<homewizard-IP>/handshake<br />
Returned Json is:<br />
{<br />
"status": "ok",<br />
"version": "3.372",<br />
"request": {<br />
"route": "/handshake"<br />
},<br />
"response": {<br />
"homewizard": "yes",<br />
"version": "3.372",<br />
"firmwareupdateavailable": "no",<br />
"appupdaterequired": "no",<br />
"serial": "xxxxxxxxxx"<br />
}<br />
}<br />
<br />
== Energy monitoring ==<br />
* /enlist<br />
<br />
=== Energy Link ===<br />
Graph voor EnergyLink<br />
* http://<homewizard-ip>/<password>/el/graph/<sensor>/<[day/week/month/year]><br />
<br />
Message like: [{t: "2016-11-01 00:00", u: 9.97, a: 8.31, s1: 0, s2: 1.69, g: 3.2}, ... ]<br />
With:<br />
* t = timestamp<br />
* u = used<br />
* a = netto consumption<br />
* s1 = s1 input<br />
* s2 = s2 input<br />
* g = gas consumption<br />
<br />
Meter readings: (Total power-consumption/production and Gas consumption)<br />
* http://<homewizard-ip>/<password>/el/get/0/readings<br />
<br />
Last data from EnergyLink:<br />
* http://<homewizard-ip>/<password>/el/get/0/telegram (thanks to: Willem Meints)<br />
<br />
Collect buttons for Scene and their status:<br />
* http://<homewizard-ip>/<password>/gp/get/<scene id><br />
<br />
N.B. The HomeWizard iPhone-app includes "/switches", which might be a filter of some kind on the sensors within a scene.<br />
<br />
[[http://gathering.tweakers.net/forum/list_message/41898799#41898799 source]] [[http://gathering.tweakers.net/forum/list_message/42074153#42074153 readings-source]]<br />
<br />
== Loxx doorlock ==<br />
Basic URL example: http://10.0.1.1:80/****/sw/18/mode/<br />
[[http://gathering.tweakers.net/forum/list_message/43574284#43574284 source]]<br />
* /sw/18/open : Open Door<br />
* /sw/18/mode/one_night : Lock for the night (one night)<br />
* /sw/18/mode/night : Lock (night mode)<br />
* /sw/18/mode/knock : Knock mode<br />
<br />
<br />
== Awareness ==<br />
Detection-sensors will be registered with an ID starting at 0 and a log will be created.<br />
This log will contain a timestamp for each event.<br />
<br />
A doorbell will only have "yes" events and magnetic door-sensors or daylight-detectors will have a "yes" and "no" event (e.g. door opened, door closed). Both will be logged, including the event-type.<br />
<br />
The logs and snapshots can be retrieved using:<br />
* /kks/get/<id>/log<br />
* /kks/get/<id>/snap/<snapshotid><br />
<br />
== Somfy ==<br />
* /sf/0/down<br />
* /sf/0/up<br />
* /sf/0/stop<br />
<br />
== Radiator Valves ==<br />
* /sw/1/settarget/16 with "1" being the id and "16" the temperature.<br />
<br />
== Heatlink ==<br />
The heatlink can be controlled with:<br />
<br />
* http://ip/<password>/hl/0/settarget/<temperature>/<minutes><br />
<br />
<minutes> is optional, and indicates the duration of the "setpoint override".<br />
<br />
The '0' is the numeric ID of the heatlink. Apparently more than one heatlink is supported.<br />
<br />
== Smoke-detectors ==<br />
To trigger the alarm of the smoke detectors, use:<br />
* http://ip/password/kks/testsmoke/id<br />
With ''id'' the ID of the smoke-detector.<br />
<br />
== Temperature sensors ==<br />
New temperature sensors will be assigned an ID starting at 0.<br />
The temperature and humidity will be logged with a timestamp.<br />
<br />
Get a list of temperature-sensors:<br />
* /telist<br />
To get the log:<br />
* /te/graph/<id>/day-week-month-year<br />
<br />
=== Resolution ===<br />
'''Day'''<br />
For the current day, the resolution is one sample per 15 minutes.<br />
<br />
'''Week'''<br />
20% of the data will be kept by removing 4 entries out of 5.<br />
<br />
'''Month'''<br />
For each day, the minimum and maximum value will be stored.<br />
<br />
'''Year'''<br />
Minimum and maximum of each month will be stored.<br />
<br />
=== Temperature data ===<br />
* te - temperature<br />
* hu - humidity<br />
* te+ - maximum temperature<br />
* te+t - timestamp maximum temperature<br />
* te- - minimum temperature<br />
* te-t - timestamp minimum temperature<br />
* hu+ - maximum humidity<br />
* hu+t - timestamp maximum humidity<br />
* hu- - minimum humidity<br />
* hu-t - timestamp minimum humidity<br />
* outside - (new in 2.56 firmware, either yes or no)<br />
<br />
== Weather sensors ==<br />
* /wilist wind-data<br />
* /ralist Data from the rain sensor.<br />
<br />
=== Wind data ===<br />
* ws - Windspeed<br />
* dir - wind direction (name) and degrees<br />
* gu - windgust speed<br />
* wc - wind temperature<br />
* ws+ - maximum windspeed<br />
* ws+t - timestamp of maximum windspeed<br />
* ws- - minimum windspeed<br />
* ws-t - timestamp of minumum windspeed<br />
<br />
Units can be selected in the homewizard app. (Edit sensor)<br />
* km/h<br />
* m/s<br />
* Bft<br />
* Kts<br />
<br />
=== Precipitation data ===<br />
* mm - precipitation in mm (of today?)<br />
* 3h - precipitation in mm of the last 3 hours<br />
<br />
<br />
== IP switches ==<br />
=== Sonos ===<br />
[http://gathering.tweakers.net/forum/list_message/43962959#43962959 Original post by J-D and Dirkmans]<br />
<br />
Controling the Sonos via HTTP post commands.<br />
[https://community.zipato.com/topic/controlling-sonos-system See here] for more about this.<br />
<br />
==== "Stop" and "Play" example ====<br />
Method:<br />
HTTP Post<br />
<br />
URL: <br />
http://SONOSIP:1400/MediaRenderer/AVTransport/Control<br />
<br />
===== Stop =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Stop></s:Body></s:Envelope><br />
<br />
===== Play =====<br />
Headers: <br />
Content-type: text/xml;charset="utf-8"<br />
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"<br />
<br />
Body:<br />
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"; s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u=Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID>,<Speed>1</Speed></u:Play></s:Body></s:Envelope><br />
<br />
== B&O TV Avant ==<br />
To toggle the power of the Bang en Olufsen TV Avant via the HomeWizard:<br />
<br />
* Power On:<br />
Type Wake on Lan<br />
MAC adres XX-XX-XX-XX-XX-XX<br />
<br />
* Power off:<br />
Type HTTP-POST<br />
URL: http://ipadresTV:8080/BeoZone/Zone/Device/TogglePower<br />
Body: (empty)<br />
Extra headers: Accept: application/json<br />
<br />
<br />
== Switch Preset ==<br />
* http://ipadres/password/preset/0 (Home)<br />
* http://ipadres/password/preset/1 (Away)<br />
* http://ipadres/password/preset/2 (Sleep)<br />
* http://ipadres/password/preset/3 (Holiday)<br />
<br />
All data entered past the number is ignored. (e.g. http://ipadres/password/preset/0/on )<br />
Thanks to Marcel Wolf for emailing me this.<br />
<br />
== Used sources ==<br />
* https://github.com/manuelvanrijn/homewizard-api/blob/master/homewizard-api.rb<br />
* [http://www.homewizards.nl/forum/viewtopic.php?f=7&t=15&start=20 Homewizards.nl - Data uitlezen]<br />
* The information about the Heatlink is found by Alex Bik, by analyzing TCP-dumps.<br />
* Weather-sensor information was emailed to me by [http://www.valleirug.nl/ Michel Jongepier]<br />
*</div>Admin