Browse Source

fix tibber query and timer

pull/1638/head
DanielR92 8 months ago
committed by GitHub
parent
commit
c5056cbaee
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 25
      src/plugins/zeroExport/powermeter.h

25
src/plugins/zeroExport/powermeter.h

@ -103,8 +103,8 @@ class powermeter {
863.25 MHz - geht (ohne Tibber Probleme) => 3 & 4 Balken
*/
case zeroExportPowermeterType_t::Tibber:
if(mCfg->groups[group].pm_refresh < 3) mCfg->groups[group].pm_refresh = 3;
result = getPowermeterWattsTibber(*mLog, group, &power);
mPreviousTsp += 2000; // Zusätzliche Pause
break;
#endif
#if defined(ZEROEXPORT_POWERMETER_SHRDZM)
@ -114,15 +114,16 @@ class powermeter {
#endif
}
if (result) {
//if (mMqtt->isConnected()) mMqtt->publish(String("zero/state/groups/" + String(group) + "/result").c_str(), String(ret).c_str(), false);
if (result)
{
bufferWrite(power, group);
// MQTT - Powermeter
// if (mCfg->debug) {
if (mMqtt->isConnected()) {
mMqtt->publish(String("zero/state/groups/" + String(group) + "/powermeter/P").c_str(), String(ah::round1(power)).c_str(), false);
}
// }
if (mMqtt->isConnected()) {
mMqtt->publish(String("zero/state/groups/" + String(group) + "/powermeter/P").c_str(), String(ah::round1(power)).c_str(), false);
}
}
}
}
@ -181,7 +182,7 @@ class powermeter {
}
/** onMqttMessage
*
* This function is needed for all mqtt connections between ahoy and other devices.
*/
void onMqttMessage(JsonObject obj) {
String topic = String(obj["topic"]);
@ -198,6 +199,7 @@ class powermeter {
if (strcmp(mCfg->groups[group].pm_src, String(topic).c_str())) continue;
float power = 0.0;
power = (uint16_t)obj["val"];
bufferWrite(power, group);
@ -479,20 +481,19 @@ class powermeter {
{{0x01, 0x00, 0x02, 0x08, 0x00, 0xff}, &smlOBISWh, &_powerMeterExport}};
bool getPowermeterWattsTibber(JsonObject logObj, uint8_t group, float *power) {
mPreviousTsp = mPreviousTsp + 2000; // Zusätzliche Pause
bool result = false;
logObj["mod"] = "getPowermeterWattsTibber";
String 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_src + String("/") + String(mCfg->groups[group].pm_jsonPath);
setHeader(&http);
http.begin(url);
http.addHeader("Authorization", "Basic " + auth);
if (http.GET() == HTTP_CODE_OK && http.getSize() > 0) {
if (http.GET() == HTTP_CODE_OK && http.getSize() > 0)
{
String myString = http.getString();
double readVal = 0;
unsigned char c;

Loading…
Cancel
Save