Browse Source

Merge pull request #8 from DanielR92/patch-2

Update powermeter.h
pull/1581/head
tictrick 6 months ago
committed by GitHub
parent
commit
0a58f57f97
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 54
      src/plugins/zeroExport/powermeter.h

54
src/plugins/zeroExport/powermeter.h

@ -8,19 +8,14 @@
#include <AsyncJson.h> #include <AsyncJson.h>
#include <HTTPClient.h> #include <HTTPClient.h>
#include "config/settings.h"
#if defined(ZEROEXPORT_POWERMETER_TIBBER) #if defined(ZEROEXPORT_POWERMETER_TIBBER)
#include <base64.h> #include <base64.h>
#include <string.h> #include <string.h>
#include <list> #include <list>
#endif
#include "config/settings.h"
#if defined(ZEROEXPORT_POWERMETER_TIBBER)
#include "plugins/zeroExport/lib/sml.h" #include "plugins/zeroExport/lib/sml.h"
#endif
#if defined(ZEROEXPORT_POWERMETER_TIBBER)
typedef struct { typedef struct {
const unsigned char OBIS[6]; const unsigned char OBIS[6];
void (*Fn)(double &); void (*Fn)(double &);
@ -83,6 +78,7 @@ class powermeter {
#if defined(ZEROEXPORT_POWERMETER_TIBBER) #if defined(ZEROEXPORT_POWERMETER_TIBBER)
case zeroExportPowermeterType_t::Tibber: case zeroExportPowermeterType_t::Tibber:
power = getPowermeterWattsTibber(*mLog, group); power = getPowermeterWattsTibber(*mLog, group);
mPreviousTsp += 2000; // Zusätzliche Pause
break; break;
#endif #endif
#if defined(ZEROEXPORT_POWERMETER_SHRDZM) #if defined(ZEROEXPORT_POWERMETER_SHRDZM)
@ -121,6 +117,18 @@ class powermeter {
} }
private: private:
// set HTTPClient header
void setHeader(HTTPClient* h) {
h->setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
h->setUserAgent("Ahoy-Agent");
// TODO: Ahoy-0.8.850024-zero
h->setConnectTimeout(500);
h->setTimeout(1000);
h->addHeader("Content-Type", "application/json");
h->addHeader("Accept", "application/json");
}
#if defined(ZEROEXPORT_POWERMETER_SHELLY) #if defined(ZEROEXPORT_POWERMETER_SHELLY)
/** getPowermeterWattsShelly /** getPowermeterWattsShelly
* ... * ...
@ -455,18 +463,21 @@ class powermeter {
logObj["mod"] = "getPowermeterWattsTibber"; logObj["mod"] = "getPowermeterWattsTibber";
HTTPClient http; String auth;
http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS); if(strlen(mCfg->groups[group].pm_user) > 0 && strlen(mCfg->groups[group].pm_pass) > 0) {
http.setUserAgent("Ahoy-Agent"); auth = base64::encode(String(mCfg->groups[group].pm_user) + String(":") + String(mCfg->groups[group].pm_pass));
// TODO: Ahoy-0.8.850024-zero snprintf(mCfg->groups[group].pm_user, ZEROEXPORT_GROUP_MAX_LEN_PM_USER, "%s", DEF_ZEXPORT);
http.setConnectTimeout(500); snprintf(mCfg->groups[group].pm_pass, ZEROEXPORT_GROUP_MAX_LEN_PM_PASS, "%s", auth.c_str());
http.setTimeout(1000); //@TODO:mApp->saveSettings(false);
http.addHeader("Content-Type", "application/json"); }
http.addHeader("Accept", "application/json"); else
{
auth = mCfg->groups[group].pm_pass;
}
String url = String("http://") + mCfg->groups[group].pm_url + String("/") + String(mCfg->groups[group].pm_jsonPath); String url = String("http://") + mCfg->groups[group].pm_url + String("/") + String(mCfg->groups[group].pm_jsonPath);
String auth = base64::encode(String(mCfg->groups[group].pm_user) + String(":") + String(mCfg->groups[group].pm_pass));
setHeader(&http);
http.begin(url); http.begin(url);
http.addHeader("Authorization", "Basic " + auth); http.addHeader("Authorization", "Basic " + auth);
@ -526,14 +537,7 @@ class powermeter {
logObj["mod"] = "getPowermeterWattsShrdzm"; logObj["mod"] = "getPowermeterWattsShrdzm";
HTTPClient http; setHeader(&http);
http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
http.setUserAgent("Ahoy-Agent");
// TODO: Ahoy-0.8.850024-zero
http.setConnectTimeout(500);
http.setTimeout(1000);
http.addHeader("Content-Type", "application/json");
http.addHeader("Accept", "application/json");
String url = String url =
String("http://") + String(mCfg->groups[group].pm_url) + String("http://") + String(mCfg->groups[group].pm_url) +
@ -573,6 +577,8 @@ class powermeter {
if (mPowermeterBufferPos[group] >= 5) mPowermeterBufferPos[group] = 0; if (mPowermeterBufferPos[group] >= 5) mPowermeterBufferPos[group] = 0;
} }
HTTPClient http;
zeroExport_t *mCfg; zeroExport_t *mCfg;
JsonObject *mLog; JsonObject *mLog;

Loading…
Cancel
Save