Skip to content

Commit

Permalink
Merge branch 'mrWheel:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
wouterbouvy authored Aug 14, 2021
2 parents 8d0ac12 + 55b6692 commit 792a7e0
Show file tree
Hide file tree
Showing 43 changed files with 1,960 additions and 1,146 deletions.
Binary file added 3Dbox/DSMR_v4_Bottom.stl
Binary file not shown.
Binary file added 3Dbox/DSMR_v4_Top.stl
Binary file not shown.
Binary file added 3Dbox/DSMR_v4_Top_NoDisplay.stl
Binary file not shown.
9 changes: 9 additions & 0 deletions 3Dbox/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# DSMRloggerAPI 3D boxje

Met de .stl bestanden kun je zelf een mooi kastje
voor de DSMR-logger v4 of v4.5 te printen.


[Hier](https://willem.aandewiel.nl/index.php/2020/02/28/restapis-zijn-hip-nieuwe-firmware-voor-de-dsmr-logger/#comment-3587) vind je informatie van de maker.


171 changes: 97 additions & 74 deletions DSMRloggerAPI.h
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
/*
***************************************************************************
** Program : DSMRloggerAPI.h - definitions for DSMRloggerAPI
** Version : v2.0.1
** Version : v3.0
**
** Copyright (c) 2020 Willem Aandewiel
** Copyright (c) 2021 Willem Aandewiel
**
** TERMS OF USE: MIT License. See bottom of file.
***************************************************************************
*/

#include <TimeLib.h> // https://github.com/PaulStoffregen/Time

#include <TelnetStream.h> // https://github.com/jandrassy/TelnetStream/commit/1294a9ee5cc9b1f7e51005091e351d60c8cddecf
#include "safeTimers.h"

#include "FS.h"
#if defined( USE_LITTLEFS )
#warning using LittleFS
#include "LittleFS.h"
#define FSYS LittleFS

#else
#warning using SPIFFS
//#include "SPIFFS.h"
#define FSYS SPIFFS

#endif

#ifdef USE_SYSLOGGER
#include "ESP_SysLogger.h" // https://github.com/mrWheel/ESP_SysLogger
ESPSL sysLog; // Create instance of the ESPSL object
Expand All @@ -25,21 +39,11 @@
#define writeToSysLog(...) // nothing
#endif

#if defined( USE_PRE40_PROTOCOL ) //PRE40
// https://github.com/mrWheel/arduino-dsmr30.git //PRE40
#include <dsmr30.h> //PRE40
#elif defined( USE_BELGIUM_PROTOCOL ) //Belgium
// https://github.com/mrWheel/arduino-dsmr-be.git //Belgium
#include <dsmr-be.h> //Belgium
#else //else
// https://github.com/matthijskooijman/arduino-dsmr
#include <dsmr.h> // Version 0.1 - Commit f79c906 on 18 Sep 2018
#endif
// https://github.com/mrWheel/dsmr2Lib.git
#include <dsmr2.h> // commit 0ed3916813850af43200863853bfb4b26e9655eb on 7 juni 2021

#define _DEFAULT_HOSTNAME "DSMR-API"
#ifdef USE_REQUEST_PIN
#define DTR_ENABLE 12
#endif // is_esp12
#define DTR_ENABLE 12

#define SETTINGS_FILE "/DSMRsettings.ini"

Expand All @@ -49,6 +53,7 @@
#define MAXCOLORNAME 15
#define JSON_BUFF_MAX 255
#define MQTT_BUFF_MAX 200
#define MAX_TLGRM_LENGTH 1500

//-------------------------.........1....1....2....2....3....3....4....4....5....5....6....6....7....7
//-------------------------1...5....0....5....0....5....0....5....0....5....0....5....0....5....0....5
Expand Down Expand Up @@ -79,63 +84,74 @@ enum { PERIOD_UNKNOWN, HOURS, DAYS, MONTHS, YEARS };
* Each template argument below results in a field of the same name.
*/
using MyData = ParsedData<
/* String */ identification
/* String */ ,p1_version
/* String */ ,timestamp
/* String */ ,equipment_id
/* FixedValue */ ,energy_delivered_tariff1
/* FixedValue */ ,energy_delivered_tariff2
/* FixedValue */ ,energy_returned_tariff1
/* FixedValue */ ,energy_returned_tariff2
/* String */ ,electricity_tariff
/* FixedValue */ ,power_delivered
/* FixedValue */ ,power_returned
/* FixedValue */ ,electricity_threshold
/* uint8_t */ ,electricity_switch_position
/* uint32_t */ ,electricity_failures
/* uint32_t */ ,electricity_long_failures
/* String */ ,electricity_failure_log
/* uint32_t */ ,electricity_sags_l1
/* uint32_t */ ,electricity_sags_l2
/* uint32_t */ ,electricity_sags_l3
/* uint32_t */ ,electricity_swells_l1
/* uint32_t */ ,electricity_swells_l2
/* uint32_t */ ,electricity_swells_l3
/* String */ ,message_short
/* String */ ,message_long
/* FixedValue */ ,voltage_l1
/* FixedValue */ ,voltage_l2
/* FixedValue */ ,voltage_l3
/* FixedValue */ ,current_l1
/* FixedValue */ ,current_l2
/* FixedValue */ ,current_l3
/* FixedValue */ ,power_delivered_l1
/* FixedValue */ ,power_delivered_l2
/* FixedValue */ ,power_delivered_l3
/* FixedValue */ ,power_returned_l1
/* FixedValue */ ,power_returned_l2
/* FixedValue */ ,power_returned_l3
/* uint16_t */ ,gas_device_type
/* String */ ,gas_equipment_id
/* uint8_t */ ,gas_valve_position
/* TimestampedFixedValue */ ,gas_delivered
#ifdef USE_PRE40_PROTOCOL //PRE40
/* TimestampedFixedValue */ ,gas_delivered2 //PRE40
#endif //PRE40
/* uint16_t */ ,thermal_device_type
/* String */ ,thermal_equipment_id
/* uint8_t */ ,thermal_valve_position
/* TimestampedFixedValue */ ,thermal_delivered
/* uint16_t */ ,water_device_type
/* String */ ,water_equipment_id
/* uint8_t */ ,water_valve_position
/* TimestampedFixedValue */ ,water_delivered
/* uint16_t */ ,slave_device_type
/* String */ ,slave_equipment_id
/* uint8_t */ ,slave_valve_position
/* TimestampedFixedValue */ ,slave_delivered
/* String */ identification
/* String */ ,p1_version
/* String */ ,p1_version_be
/* String */ ,timestamp
/* String */ ,equipment_id
/* FixedValue */ ,energy_delivered_tariff1
/* FixedValue */ ,energy_delivered_tariff2
/* FixedValue */ ,energy_returned_tariff1
/* FixedValue */ ,energy_returned_tariff2
/* String */ ,electricity_tariff
/* FixedValue */ ,power_delivered
/* FixedValue */ ,power_returned
/* FixedValue */ ,electricity_threshold
/* uint8_t */ ,electricity_switch_position
/* uint32_t */ ,electricity_failures
/* uint32_t */ ,electricity_long_failures
/* String */ ,electricity_failure_log
/* uint32_t */ ,electricity_sags_l1
/* uint32_t */ ,electricity_sags_l2
/* uint32_t */ ,electricity_sags_l3
/* uint32_t */ ,electricity_swells_l1
/* uint32_t */ ,electricity_swells_l2
/* uint32_t */ ,electricity_swells_l3
/* String */ ,message_short
/* String */ ,message_long
/* FixedValue */ ,voltage_l1
/* FixedValue */ ,voltage_l2
/* FixedValue */ ,voltage_l3
/* FixedValue */ ,current_l1
/* FixedValue */ ,current_l2
/* FixedValue */ ,current_l3
/* FixedValue */ ,power_delivered_l1
/* FixedValue */ ,power_delivered_l2
/* FixedValue */ ,power_delivered_l3
/* FixedValue */ ,power_returned_l1
/* FixedValue */ ,power_returned_l2
/* FixedValue */ ,power_returned_l3
/* uint16_t */ ,mbus1_device_type
/* String */ ,mbus1_equipment_id_tc
/* String */ ,mbus1_equipment_id_ntc
/* uint8_t */ ,mbus1_valve_position
/* TimestampedFixedValue */ ,mbus1_delivered
/* TimestampedFixedValue */ ,mbus1_delivered_ntc
/* TimestampedFixedValue */ ,mbus1_delivered_dbl
/* uint16_t */ ,mbus2_device_type
/* String */ ,mbus2_equipment_id_tc
/* String */ ,mbus2_equipment_id_ntc
/* uint8_t */ ,mbus2_valve_position
/* TimestampedFixedValue */ ,mbus2_delivered
/* TimestampedFixedValue */ ,mbus2_delivered_ntc
/* TimestampedFixedValue */ ,mbus2_delivered_dbl
/* uint16_t */ ,mbus3_device_type
/* String */ ,mbus3_equipment_id_tc
/* String */ ,mbus3_equipment_id_ntc
/* uint8_t */ ,mbus3_valve_position
/* TimestampedFixedValue */ ,mbus3_delivered
/* TimestampedFixedValue */ ,mbus3_delivered_ntc
/* TimestampedFixedValue */ ,mbus3_delivered_dbl
/* uint16_t */ ,mbus4_device_type
/* String */ ,mbus4_equipment_id_tc
/* String */ ,mbus4_equipment_id_ntc
/* uint8_t */ ,mbus4_valve_position
/* TimestampedFixedValue */ ,mbus4_delivered
/* TimestampedFixedValue */ ,mbus4_delivered_ntc
/* TimestampedFixedValue */ ,mbus4_delivered_dbl
>;


enum { TAB_UNKNOWN, TAB_ACTUEEL, TAB_LAST24HOURS, TAB_LAST7DAYS, TAB_LAST24MONTHS, TAB_GRAPHICS, TAB_SYSINFO, TAB_EDITOR };

typedef struct {
Expand Down Expand Up @@ -181,15 +197,17 @@ void delayms(unsigned long);
WiFiClient wifiClient;
MyData DSMRdata;
uint32_t readTimer;
time_t actT, newT;
time_t actT, newT, ntpTime;
bool DSTactive;
char actTimestamp[20] = "";
char newTimestamp[20] = "";
uint32_t slotErrors = 0;
uint32_t nrReboots = 0;
uint32_t loopCount = 0;
uint32_t loopCount = 0;
uint32_t telegramCount = 0, telegramErrors = 0;
bool showRaw = false;
int8_t showRawCount = 0;
float gasDelivered;


#ifdef USE_MQTT
Expand All @@ -208,7 +226,7 @@ void delayms(unsigned long);

char cMsg[150], fChar[10];
String lastReset = "";
bool spiffsNotPopulated = false;
bool FSYSnotPopulated = false;
bool hasAlternativeIndex = false;
bool mqttIsConnected = false;
bool doLog = false, Verbose1 = false, Verbose2 = false;
Expand All @@ -220,9 +238,14 @@ float settingEDT1, settingEDT2, settingERT1, settingERT2, settingGDT;
float settingENBK, settingGNBK;
uint8_t settingTelegramInterval;
uint8_t settingSmHasFaseInfo = 1;
uint8_t settingMbus1Type = 3;
uint8_t settingMbus2Type = 0;
uint8_t settingMbus3Type = 0;
uint8_t settingMbus4Type = 0;
uint8_t settingPreDSMR40 = 0;
char settingHostname[30];
char settingIndexPage[50];
char settingMQTTbroker[101], settingMQTTuser[40], settingMQTTpasswd[30], settingMQTTtopTopic[21];
char settingMQTTbroker[101], settingMQTTuser[40], settingMQTTpasswd[40], settingMQTTtopTopic[21];
int32_t settingMQTTinterval, settingMQTTbrokerPort;
String pTimestamp;

Expand Down
Loading

0 comments on commit 792a7e0

Please sign in to comment.