From 0f5e0eac60d37ffcb0909b6ea58086d7792c5b87 Mon Sep 17 00:00:00 2001 From: DanielR92 Date: Fri, 17 Nov 2023 14:33:40 +0100 Subject: [PATCH] Tibber_implement_stage1 --- src/config/settings.h | 2 ++ src/plugins/zeroExport/zeroExport.h | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/config/settings.h b/src/config/settings.h index 27f68761..10288e0c 100644 --- a/src/config/settings.h +++ b/src/config/settings.h @@ -149,6 +149,7 @@ typedef struct { unsigned long lastTime; // tic toc double max_power; bool two_percent; // ask if not go lower then 2% + char tibber_pw[ZEXPORT_ADDR_LEN]; // needed for tibber QWGH-ED12 } cfgzeroExport_t; #endif @@ -456,6 +457,7 @@ class settings { // Zero-Export #if defined(ESP32) snprintf(mCfg.plugin.zexport.monitor_url, ZEXPORT_ADDR_LEN, "%s", DEF_ZEXPORT); + snprintf(mCfg.plugin.zexport.tibber_pw, ZEXPORT_ADDR_LEN, "%s", DEF_ZEXPORT); snprintf(mCfg.plugin.zexport.json_path, ZEXPORT_ADDR_LEN, "%s", DEF_ZEXPORT); mCfg.plugin.zexport.enabled = false; mCfg.plugin.zexport.count_avg = 10; diff --git a/src/plugins/zeroExport/zeroExport.h b/src/plugins/zeroExport/zeroExport.h index f6a0f5bf..baa30b4c 100644 --- a/src/plugins/zeroExport/zeroExport.h +++ b/src/plugins/zeroExport/zeroExport.h @@ -43,7 +43,7 @@ class ZeroExport { return ((unsigned)(mCfg->total_power - mCfg->power_avg) >= mCfg->power_avg) ? ivPower + mCfg->total_power : ivPower - mCfg->total_power; } - + //C2T2-B91B private: HTTPClient httpClient; @@ -63,6 +63,10 @@ class ZeroExport { return false; } + if(String(mCfg->monitor_url).endsWith("data.json?node_id=1")){ + httpClient.setAuthorization("admin", mCfg->tibber_pw); + } + int httpCode = httpClient.GET(); if (httpCode == HTTP_CODE_OK) { @@ -85,6 +89,8 @@ class ZeroExport { mCfg->total_power = responseBody.substring(responseBody.indexOf(":"), index).toDouble(); } else if(json.containsKey(F("emeters"))) { mCfg->total_power = (double)json[F("total_power")]; + } else if(String(mCfg->monitor_url).endsWith("data.json?node_id=1") ) { + tibber_parse(); } else { DPRINTLN(DBG_INFO, (F("ZeroExport() json error: cant find value in this query: ") + responseBody)); return false; @@ -99,6 +105,11 @@ class ZeroExport { return true; } + void tibber_parse() + { + + } + // private member variables cfgzeroExport_t *mCfg; settings_t *mConfig;