Skip to content

Commit 59e27b9

Browse files
committed
v1.1.3 SM_HAS_NO_FASE_INFO is nu een setting
1 parent 2d39ab3 commit 59e27b9

File tree

8 files changed

+163
-112
lines changed

8 files changed

+163
-112
lines changed

DSMRloggerAPI.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
***************************************************************************
33
** Program : DSMRloggerAPI.h - definitions for DSMRloggerAPI
4-
** Version : v1.1.2
4+
** Version : v1.1.3
55
**
66
** Copyright (c) 2020 Willem Aandewiel
77
**
@@ -227,6 +227,7 @@ IPAddress ipDNS, ipGateWay, ipSubnet;
227227
float settingEDT1, settingEDT2, settingERT1, settingERT2, settingGDT;
228228
float settingENBK, settingGNBK;
229229
uint8_t settingTelegramInterval;
230+
uint8_t settingSmHasFaseInfo = 1;
230231
char settingHostname[30];
231232
char settingIndexPage[50];
232233
char settingMQTTbroker[101], settingMQTTuser[40], settingMQTTpasswd[30], settingMQTTtopTopic[21];

DSMRloggerAPI.ino

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
***************************************************************************
33
** Program : DSMRloggerAPI (restAPI)
44
*/
5-
#define _FW_VERSION "v1.1.2 (29-03-2020)"
5+
#define _FW_VERSION "v1.1.3 (30-03-2020)"
66
/*
77
** Copyright (c) 2020 Willem Aandewiel
88
**
@@ -36,12 +36,11 @@
3636
/******************** compiler options ********************************************/
3737
#define USE_REQUEST_PIN // define if it's a esp8266 with GPIO 12 connected to SM DTR pin
3838
#define USE_UPDATE_SERVER // define if there is enough memory and updateServer to be used
39-
#define HAS_OLED_SSD1306 // define if a 0.96" OLED display is present
40-
// #define HAS_OLED_SH1106 // define if a 1.3" OLED display is present
39+
//#define HAS_OLED_SSD1306 // define if a 0.96" OLED display is present
40+
#define HAS_OLED_SH1106 // define if a 1.3" OLED display is present
4141
// #define USE_BELGIUM_PROTOCOL // define if Slimme Meter is a Belgium Smart Meter
4242
// #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
4343
// #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now)
44-
// #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delivered/returned
4544
// #define HAS_NO_SLIMMEMETER // define for testing only!
4645
#define USE_MQTT // define if you want to use MQTT (configure through webinterface)
4746
#define USE_MINDERGAS // define if you want to update mindergas (configure through webinterface)

data/DSMRindex.js

Lines changed: 53 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
***************************************************************************
33
** Program : DSMRindex.js, part of DSMRfirmwareAPI
4-
** Version : v1.1.2
4+
** Version : v1.1.3
55
**
66
** Copyright (c) 2020 Willem Aandewiel
77
**
@@ -37,7 +37,7 @@
3737

3838
var data = [];
3939

40-
var longFieldsMain = [ "identification","p1_version","timestamp","equipment_id"
40+
var longFields = [ "identification","p1_version","timestamp","equipment_id"
4141
,"energy_delivered_tariff1","energy_delivered_tariff2"
4242
,"energy_returned_tariff1","energy_returned_tariff2","electricity_tariff"
4343
,"power_delivered","power_returned"
@@ -57,10 +57,23 @@
5757
,"water_valve_position","water_delivered"
5858
,"slave_device_type","slave_equipment_id"
5959
,"slave_valve_position","slave_delivered"
60+
,"ed_tariff1","ed_tariff2"
61+
,"er_tariff1","er_tariff2"
62+
,"gd_tariff","electr_netw_costs"
63+
,"gas_netw_costs"
64+
,"smhasfaseinfo", "sm_has_fase_info"
65+
,"oled_flip_screen"
66+
,"tlgrm_interval","telegraminterval"
67+
,"index_page"
68+
,"oled_screen_time"
69+
,"mqttbroker","mqttbrokerport"
70+
,"mqttuser","mqttpasswd","mqtttoptopic"
71+
,"mqttinterval","mqttbroker_connected"
72+
,"mindergas_token"
6073
,"\0"
61-
];
62-
63-
var humanFieldsMain = [ "Slimme Meter ID","P1 Versie","timestamp","Equipment ID"
74+
];
75+
76+
var humanFields = [ "Slimme Meter ID","P1 Versie","timestamp","Equipment ID"
6477
,"Energie Gebruikt tarief 1","Energie Gebruikt tarief 2"
6578
,"Energie Opgewekt tarief 1","Energie Opgewekt tarief 2","Electriciteit tarief"
6679
,"Vermogen Gebruikt","Vermogen Opgewekt"
@@ -80,16 +93,35 @@
8093
,"water_valve_position","water_delivered"
8194
,"slave_device_type","slave_equipment_id"
8295
,"slave_valve_position","slave_delivered"
96+
,"Energy Verbruik Tarief-1/kWh","Energy Verbruik Tarief-2/kWh"
97+
,"Energy Opgewekt Tarief-1/kWh","Energy Opgewekt Tarief-2/kWh"
98+
,"Gas Verbruik Tarief/m3","Netwerkkosten Energie/maand"
99+
,"Netwerkkosten Gas/maand"
100+
,"SM Has Fase Info (0=No, 1=Yes)","SM Has Fase Info (0=No, 1=Yes)"
101+
,"Flip OLED scherm (0=No, 1=Yes)"
102+
,"Telegram Lees Interval (Sec.)"
103+
,"Telegram Lees Interval (Sec.)"
104+
,"Te Gebruiken index.html Pagina"
105+
,"Oled Screen Time (Min., 0=infinite)"
106+
,"MQTT Broker IP/URL","MQTT Broker Poort"
107+
,"MQTT Gebruiker","Password MQTT Gebruiker"
108+
,"MQTT Top Topic"
109+
,"Verzend MQTT Berichten (Sec.)"
110+
,"MQTT broker connected"
111+
,"Mindergas Token"
83112
,"\0"
84-
];
113+
];
114+
85115
let monthType = "ED";
86116
let settingBgColor = 'deepskyblue';
87117
let settingFontColor = 'white'
88118

89119
var longFieldsSettings = [ "ed_tariff1","ed_tariff2"
90120
,"er_tariff1","er_tariff2"
91121
,"gd_tariff","electr_netw_costs"
92-
,"gas_netw_costs","tlgrm_interval","index_page"
122+
,"gas_netw_costs","smhasfaseinfo"
123+
,"tlgrm_interval"
124+
,"index_page"
93125
,"oled_screen_time"
94126
,"mqtt_broker","mqtt_broker_port"
95127
,"mqtt_user","mqtt_passwd","mqtt_toptopic"
@@ -100,7 +132,8 @@
100132
var humanFieldsSettings = [ "Energy Verbruik Tarief-1/kWh","Energy Verbruik Tarief-2/kWh"
101133
,"Energy Opgewekt Tarief-1/kWh","Energy Opgewekt Tarief-2/kWh"
102134
,"Gas Verbruik Tarief/m3","Netwerkkosten Energie/maand"
103-
,"Netwerkkosten Gas/maand","Telegram Lees Interval (Sec.)"
135+
,"Netwerkkosten Gas/maand","SM Has Fase Info (1=Yes, 0=No)"
136+
,"Telegram Lees Interval (Sec.)"
104137
,"Te Gebruiken index.html Pagina"
105138
,"Oled Screen Time (Min., 0=infinite)"
106139
,"MQTT Broker IP/URL","MQTT Broker Poort"
@@ -338,7 +371,8 @@
338371
for( let i in data )
339372
{
340373
var tableRef = document.getElementById('devInfoTable').getElementsByTagName('tbody')[0];
341-
374+
data[i].shortName = longToHuman(data[i].name);
375+
342376
if( ( document.getElementById("devInfoTable_"+data[i].name)) == null )
343377
{
344378
//console.log("data["+i+"] => name["+data[i].name+"]");
@@ -354,7 +388,8 @@
354388
newCell.appendChild(newText);
355389
}
356390
tableCells = document.getElementById("devInfoTable_"+data[i].name).cells;
357-
tableCells[0].innerHTML = data[i].name;
391+
//tableCells[0].innerHTML = data[i].name;
392+
tableCells[0].innerHTML = data[i].shortName;
358393
tableCells[1].innerHTML = data[i].value;
359394
if (data[i].hasOwnProperty('unit'))
360395
{
@@ -467,7 +502,7 @@
467502
data = json.fields;
468503
for (var i in data)
469504
{
470-
data[i].shortName = smToHuman(data[i].name);
505+
data[i].shortName = longToHuman(data[i].name);
471506
var tableRef = document.getElementById('fieldsTable').getElementsByTagName('tbody')[0];
472507
if( ( document.getElementById("fieldsTable_"+data[i].name)) == null )
473508
{
@@ -704,7 +739,7 @@
704739

705740
for (var i in data)
706741
{
707-
data[i].shortName = smToHuman(data[i].name);
742+
data[i].shortName = longToHuman(data[i].name);
708743
var tableRef = document.getElementById('actualTable').getElementsByTagName('tbody')[0];
709744
if( ( document.getElementById("actualTable_"+data[i].name)) == null )
710745
{
@@ -1256,7 +1291,7 @@ http://DSMR-API.local/api/v1/dev/settings</pre>", false);
12561291
fldDiv.setAttribute("style", "margin-right: 10px;");
12571292
fldDiv.style.width = "250px";
12581293
fldDiv.style.float = 'left';
1259-
fldDiv.textContent = smToHuman(data[i].name);
1294+
fldDiv.textContent = longToHuman(data[i].name);
12601295
rowDiv.appendChild(fldDiv);
12611296
//--- input ---
12621297
var inputDiv = document.createElement("div");
@@ -1914,33 +1949,17 @@ http://DSMR-API.local/api/v1/dev/settings</pre>", false);
19141949

19151950

19161951
//============================================================================
1917-
function smToHuman(longName) {
1918-
//console.log("smToHuman("+longName+") for ["+longFieldsSettings.length+"] elements");
1919-
for(var index = 0; index < (longFieldsSettings.length -1); index++)
1920-
{
1921-
if (longFieldsSettings[index] == longName)
1922-
{
1923-
return humanFieldsSettings[index];
1924-
}
1925-
};
1926-
return longName;
1927-
1928-
} // smToHuman()
1929-
1930-
1931-
//============================================================================
1932-
function smToHuman(longName) {
1933-
//console.log("smToHuman("+longName+") for ["+longFieldsMain.length+"] elements");
1934-
for(var index = 0; index < (longFieldsMain.length -1); index++)
1952+
function longToHuman(longName) {
1953+
for(var index = 0; index < (longFields.length -1); index++)
19351954
{
1936-
if (longFieldsMain[index] == longName)
1955+
if (longFields[index] == longName)
19371956
{
1938-
return humanFieldsMain[index];
1957+
return humanFields[index];
19391958
}
19401959
};
19411960
return longName;
19421961

1943-
} // smToHuman()
1962+
} // longToHuman()
19441963

19451964

19461965
//============================================================================

edge/DSMRindex.js

Lines changed: 53 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
***************************************************************************
33
** Program : DSMRindex.js, part of DSMRfirmwareAPI
4-
** Version : v1.1.2
4+
** Version : v1.1.3
55
**
66
** Copyright (c) 2020 Willem Aandewiel
77
**
@@ -37,7 +37,7 @@
3737

3838
var data = [];
3939

40-
var longFieldsMain = [ "identification","p1_version","timestamp","equipment_id"
40+
var longFields = [ "identification","p1_version","timestamp","equipment_id"
4141
,"energy_delivered_tariff1","energy_delivered_tariff2"
4242
,"energy_returned_tariff1","energy_returned_tariff2","electricity_tariff"
4343
,"power_delivered","power_returned"
@@ -57,10 +57,23 @@
5757
,"water_valve_position","water_delivered"
5858
,"slave_device_type","slave_equipment_id"
5959
,"slave_valve_position","slave_delivered"
60+
,"ed_tariff1","ed_tariff2"
61+
,"er_tariff1","er_tariff2"
62+
,"gd_tariff","electr_netw_costs"
63+
,"gas_netw_costs"
64+
,"smhasfaseinfo", "sm_has_fase_info"
65+
,"oled_flip_screen"
66+
,"tlgrm_interval","telegraminterval"
67+
,"index_page"
68+
,"oled_screen_time"
69+
,"mqttbroker","mqttbrokerport"
70+
,"mqttuser","mqttpasswd","mqtttoptopic"
71+
,"mqttinterval","mqttbroker_connected"
72+
,"mindergas_token"
6073
,"\0"
61-
];
62-
63-
var humanFieldsMain = [ "Slimme Meter ID","P1 Versie","timestamp","Equipment ID"
74+
];
75+
76+
var humanFields = [ "Slimme Meter ID","P1 Versie","timestamp","Equipment ID"
6477
,"Energie Gebruikt tarief 1","Energie Gebruikt tarief 2"
6578
,"Energie Opgewekt tarief 1","Energie Opgewekt tarief 2","Electriciteit tarief"
6679
,"Vermogen Gebruikt","Vermogen Opgewekt"
@@ -80,16 +93,35 @@
8093
,"water_valve_position","water_delivered"
8194
,"slave_device_type","slave_equipment_id"
8295
,"slave_valve_position","slave_delivered"
96+
,"Energy Verbruik Tarief-1/kWh","Energy Verbruik Tarief-2/kWh"
97+
,"Energy Opgewekt Tarief-1/kWh","Energy Opgewekt Tarief-2/kWh"
98+
,"Gas Verbruik Tarief/m3","Netwerkkosten Energie/maand"
99+
,"Netwerkkosten Gas/maand"
100+
,"SM Has Fase Info (0=No, 1=Yes)","SM Has Fase Info (0=No, 1=Yes)"
101+
,"Flip OLED scherm (0=No, 1=Yes)"
102+
,"Telegram Lees Interval (Sec.)"
103+
,"Telegram Lees Interval (Sec.)"
104+
,"Te Gebruiken index.html Pagina"
105+
,"Oled Screen Time (Min., 0=infinite)"
106+
,"MQTT Broker IP/URL","MQTT Broker Poort"
107+
,"MQTT Gebruiker","Password MQTT Gebruiker"
108+
,"MQTT Top Topic"
109+
,"Verzend MQTT Berichten (Sec.)"
110+
,"MQTT broker connected"
111+
,"Mindergas Token"
83112
,"\0"
84-
];
113+
];
114+
85115
let monthType = "ED";
86116
let settingBgColor = 'deepskyblue';
87117
let settingFontColor = 'white'
88118

89119
var longFieldsSettings = [ "ed_tariff1","ed_tariff2"
90120
,"er_tariff1","er_tariff2"
91121
,"gd_tariff","electr_netw_costs"
92-
,"gas_netw_costs","tlgrm_interval","index_page"
122+
,"gas_netw_costs","smhasfaseinfo"
123+
,"tlgrm_interval"
124+
,"index_page"
93125
,"oled_screen_time"
94126
,"mqtt_broker","mqtt_broker_port"
95127
,"mqtt_user","mqtt_passwd","mqtt_toptopic"
@@ -100,7 +132,8 @@
100132
var humanFieldsSettings = [ "Energy Verbruik Tarief-1/kWh","Energy Verbruik Tarief-2/kWh"
101133
,"Energy Opgewekt Tarief-1/kWh","Energy Opgewekt Tarief-2/kWh"
102134
,"Gas Verbruik Tarief/m3","Netwerkkosten Energie/maand"
103-
,"Netwerkkosten Gas/maand","Telegram Lees Interval (Sec.)"
135+
,"Netwerkkosten Gas/maand","SM Has Fase Info (1=Yes, 0=No)"
136+
,"Telegram Lees Interval (Sec.)"
104137
,"Te Gebruiken index.html Pagina"
105138
,"Oled Screen Time (Min., 0=infinite)"
106139
,"MQTT Broker IP/URL","MQTT Broker Poort"
@@ -338,7 +371,8 @@
338371
for( let i in data )
339372
{
340373
var tableRef = document.getElementById('devInfoTable').getElementsByTagName('tbody')[0];
341-
374+
data[i].shortName = longToHuman(data[i].name);
375+
342376
if( ( document.getElementById("devInfoTable_"+data[i].name)) == null )
343377
{
344378
//console.log("data["+i+"] => name["+data[i].name+"]");
@@ -354,7 +388,8 @@
354388
newCell.appendChild(newText);
355389
}
356390
tableCells = document.getElementById("devInfoTable_"+data[i].name).cells;
357-
tableCells[0].innerHTML = data[i].name;
391+
//tableCells[0].innerHTML = data[i].name;
392+
tableCells[0].innerHTML = data[i].shortName;
358393
tableCells[1].innerHTML = data[i].value;
359394
if (data[i].hasOwnProperty('unit'))
360395
{
@@ -467,7 +502,7 @@
467502
data = json.fields;
468503
for (var i in data)
469504
{
470-
data[i].shortName = smToHuman(data[i].name);
505+
data[i].shortName = longToHuman(data[i].name);
471506
var tableRef = document.getElementById('fieldsTable').getElementsByTagName('tbody')[0];
472507
if( ( document.getElementById("fieldsTable_"+data[i].name)) == null )
473508
{
@@ -704,7 +739,7 @@
704739

705740
for (var i in data)
706741
{
707-
data[i].shortName = smToHuman(data[i].name);
742+
data[i].shortName = longToHuman(data[i].name);
708743
var tableRef = document.getElementById('actualTable').getElementsByTagName('tbody')[0];
709744
if( ( document.getElementById("actualTable_"+data[i].name)) == null )
710745
{
@@ -1256,7 +1291,7 @@ http://DSMR-API.local/api/v1/dev/settings</pre>", false);
12561291
fldDiv.setAttribute("style", "margin-right: 10px;");
12571292
fldDiv.style.width = "250px";
12581293
fldDiv.style.float = 'left';
1259-
fldDiv.textContent = smToHuman(data[i].name);
1294+
fldDiv.textContent = longToHuman(data[i].name);
12601295
rowDiv.appendChild(fldDiv);
12611296
//--- input ---
12621297
var inputDiv = document.createElement("div");
@@ -1914,33 +1949,17 @@ http://DSMR-API.local/api/v1/dev/settings</pre>", false);
19141949

19151950

19161951
//============================================================================
1917-
function smToHuman(longName) {
1918-
//console.log("smToHuman("+longName+") for ["+longFieldsSettings.length+"] elements");
1919-
for(var index = 0; index < (longFieldsSettings.length -1); index++)
1920-
{
1921-
if (longFieldsSettings[index] == longName)
1922-
{
1923-
return humanFieldsSettings[index];
1924-
}
1925-
};
1926-
return longName;
1927-
1928-
} // smToHuman()
1929-
1930-
1931-
//============================================================================
1932-
function smToHuman(longName) {
1933-
//console.log("smToHuman("+longName+") for ["+longFieldsMain.length+"] elements");
1934-
for(var index = 0; index < (longFieldsMain.length -1); index++)
1952+
function longToHuman(longName) {
1953+
for(var index = 0; index < (longFields.length -1); index++)
19351954
{
1936-
if (longFieldsMain[index] == longName)
1955+
if (longFields[index] == longName)
19371956
{
1938-
return humanFieldsMain[index];
1957+
return humanFields[index];
19391958
}
19401959
};
19411960
return longName;
19421961

1943-
} // smToHuman()
1962+
} // longToHuman()
19441963

19451964

19461965
//============================================================================

0 commit comments

Comments
 (0)