// EMSettings.h

#ifndef _EMSETTINGS_h
#define _EMSETTINGS_h

#include "Arduino.h"
#include <UrsSettings.h>

class EMSettingsClass : public UrsSettingsBaseClass {
 public:
   // Gerätetyp
   static constexpr const char* DeviceType = "ESP8266-Energy-Meter";
   // Name dieses individuellen Geräts
   StringSetting(Name, "EM1"); 
   IPSetting(LocalIP, "192.168.178.36");

   // ID-Daten für WiFi Station
   StringSetting(SSID,     "bienonline");
   StringSetting(Password, "$Antilope");

   // Administrator
   StringSetting(AdminUser, "admin");
   StringSetting(AdminPassword, "geheim");

   // Zeitserver
   StringSetting(NTP1, "fritz.box");
   StringSetting(NTP2, "0.europe.pool.ntp.org");
   StringSetting(NTP3, "ntp1.t-online.de");

   // ID-Daten für den Access Point
   StringSetting(APName, "EM1");
   StringSetting(APPassword, "1234567");
   IPSetting(APIP, "192.168.4.1");

   // Verbindungsdaten für das UDP-Logging
   IPSetting(LogUdpIP, IPAddress()); // IP-Adresse, an die das Log gesandt wird
   IntSetting(LogUdpPort,  2001);    // zug. Port

   // UDP-Verbindungsaden für die Kommunikation
   IPSetting(UdpIP, IPAddress());    // IP-Adresse der Gegenstelle
   IntSetting(UdpRemotePort, 2002);  // Port, auf dem die Gegenstelle empfängt
   IntSetting(UdpLocalPort,  2002);  // Port, auf dem lokal empfangen wird

   // Signal-LED
   IntSetting(Brightness, 64);      // Helligkeit der LED
   IntSetting(Flash, 128);          // Helligkeit des Blitzes
   IntSetting(FlashDuration, 100);  // Dauer des Blitzes
   IntSetting(FlashInterval, 5);    // Abstand zischen zwei Blitzen in Sekunden


    // WebSite
   IntSetting(RefreshInterval, 2); // Anzahl Sekunden, nach der automatisch die neuesten Zustandsdaten abgerufen werden sollen.

   // Sensorsteuerung
   IntSetting(SampleInterval, 2); // Zeit zwischen zwei Auslesungen des PZEM in Sekunden.
};

extern EMSettingsClass EMSettings;

#endif

