WIP: working teleinfo
This commit is contained in:
parent
8fed8bedf4
commit
8f471fc0bf
@ -20,6 +20,7 @@
|
|||||||
#define BME680_IAQ_ACC_FEED_FORMAT "/feeds/%s/%s/bme680/iaqAcc"
|
#define BME680_IAQ_ACC_FEED_FORMAT "/feeds/%s/%s/bme680/iaqAcc"
|
||||||
#define TELEINFO_IINST_FEED_FORMAT "/feeds/%s/%s/teleinfo/iinst"
|
#define TELEINFO_IINST_FEED_FORMAT "/feeds/%s/%s/teleinfo/iinst"
|
||||||
#define TELEINFO_PAPP_FEED_FORMAT "/feeds/%s/%s/teleinfo/papp"
|
#define TELEINFO_PAPP_FEED_FORMAT "/feeds/%s/%s/teleinfo/papp"
|
||||||
|
#define TELEINFO_BASE_FEED_FORMAT "/feeds/%s/%s/teleinfo/base"
|
||||||
#ifndef CONFIG_DISABLE_MQTT
|
#ifndef CONFIG_DISABLE_MQTT
|
||||||
#include "Adafruit_MQTT.h"
|
#include "Adafruit_MQTT.h"
|
||||||
|
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#ifdef CONFIG_ENABLE_TELEINFO
|
#ifdef CONFIG_ENABLE_TELEINFO
|
||||||
#include <LibTeleinfo.h>
|
#include <LibTeleinfo.h>
|
||||||
int TeleinfoSetup();
|
int TeleinfoSetup();
|
||||||
int TeleinfoProcess();
|
//int TeleinfoProcess();
|
||||||
|
int TeleinfoProcess(std::vector<struct mqttInfo> &batchInfo);
|
||||||
#else
|
#else
|
||||||
typedef struct _ValueList {
|
typedef struct _ValueList {
|
||||||
} ValueList;
|
} ValueList;
|
||||||
@ -13,7 +14,8 @@ int TeleinfoSetup() {
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
int TeleinfoProcess(){
|
//int TeleinfoProcess(){
|
||||||
|
int TeleinfoProcess(std::vector<struct mqttInfo> &){
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -8,27 +8,28 @@ void onNewFrame(ValueList *me)
|
|||||||
SKETCH_DEBUG_PRINTLN("New Frame available");
|
SKETCH_DEBUG_PRINTLN("New Frame available");
|
||||||
}
|
}
|
||||||
|
|
||||||
int TeleinfoSetup() {
|
int TeleinfoSetup()
|
||||||
|
{
|
||||||
Serial.begin(1200, SERIAL_7E1);
|
Serial.begin(1200, SERIAL_7E1);
|
||||||
|
|
||||||
tinfo.init();
|
tinfo.init();
|
||||||
tinfo.attachNewFrame(onNewFrame);
|
tinfo.attachNewFrame(onNewFrame);
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TeleinfoProcess() {
|
int TeleinfoProcess(std::vector<struct mqttInfo> &batchInfo)
|
||||||
|
{
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
while ((c = Serial.read()) >= 0) {
|
while ((c = Serial.read()) >= 0) {
|
||||||
SKETCH_DEBUG_PRINTF("Got char %c\n", (char)c);
|
|
||||||
tinfo.process(c);
|
tinfo.process(c);
|
||||||
}
|
}
|
||||||
ValueList * me = tinfo.getList();
|
ValueList *me = tinfo.getList();
|
||||||
std::vector<struct mqttInfo> batchInfo;
|
//std::vector<struct mqttInfo> batchInfo;
|
||||||
|
if (me)
|
||||||
|
me = me->next;
|
||||||
while (me) {
|
while (me) {
|
||||||
SKETCH_DEBUG_PRINTF("info %s\n", me->name);
|
|
||||||
if (strcmp(me->name, "IINST") == 0) {
|
if (strcmp(me->name, "IINST") == 0) {
|
||||||
float val = atof(me->value);
|
float val = atof(me->value);
|
||||||
batchInfo.push_back({val, TELEINFO_IINST_FEED_FORMAT, 0, 0});
|
batchInfo.push_back({val, TELEINFO_IINST_FEED_FORMAT, 0, 0});
|
||||||
@ -37,10 +38,14 @@ int TeleinfoProcess() {
|
|||||||
float val = atof(me->value);
|
float val = atof(me->value);
|
||||||
batchInfo.push_back({val, TELEINFO_PAPP_FEED_FORMAT, 0, 0});
|
batchInfo.push_back({val, TELEINFO_PAPP_FEED_FORMAT, 0, 0});
|
||||||
}
|
}
|
||||||
|
if (strcmp(me->name, "BASE") == 0) {
|
||||||
|
float val = atof(me->value);
|
||||||
|
batchInfo.push_back({val, TELEINFO_BASE_FEED_FORMAT, 0, 0});
|
||||||
|
}
|
||||||
me = me->next;
|
me = me->next;
|
||||||
}
|
}
|
||||||
if (mode == BOOTMODE_NORMAL)
|
//if (mode == BOOTMODE_NORMAL)
|
||||||
MqttBatchPublish(batchInfo, conf.mqttUser, conf.host);
|
// MqttBatchPublish(batchInfo, conf.mqttUser, conf.host);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -230,10 +230,10 @@ void setup() {
|
|||||||
SKETCH_DEBUG_PRINTLN();
|
SKETCH_DEBUG_PRINTLN();
|
||||||
|
|
||||||
// Get GPIO 3 Status
|
// Get GPIO 3 Status
|
||||||
#if CONFIG_SERIAL_SHOULD_SWAP
|
//#if CONFIG_SERIAL_SHOULD_SWAP
|
||||||
SKETCH_DEBUG_PRINTLN("SWAP UART");
|
// SKETCH_DEBUG_PRINTLN("SWAP UART");
|
||||||
Serial.swap(); //Switch Serial on GPIO 13 & 15
|
// Serial.swap(); //Switch Serial on GPIO 13 & 15
|
||||||
#endif
|
//#endif
|
||||||
pinMode(CONFIG_SETUP_GPIO, INPUT_PULLUP);
|
pinMode(CONFIG_SETUP_GPIO, INPUT_PULLUP);
|
||||||
int txStatus = digitalRead(CONFIG_SETUP_GPIO);
|
int txStatus = digitalRead(CONFIG_SETUP_GPIO);
|
||||||
//#if !defined(CONFIG_ENABLE_EXTRA_GPIO) && CONFIG_SERIAL_SHOULD_SWAP
|
//#if !defined(CONFIG_ENABLE_EXTRA_GPIO) && CONFIG_SERIAL_SHOULD_SWAP
|
||||||
@ -363,11 +363,11 @@ void loop() {
|
|||||||
batchInfo.push_back({bme680BSECIaq, BME680_IAQ_FEED_FORMAT, 0, 0});
|
batchInfo.push_back({bme680BSECIaq, BME680_IAQ_FEED_FORMAT, 0, 0});
|
||||||
batchInfo.push_back({bme680BSECIaqAcc, BME680_IAQ_ACC_FEED_FORMAT, 0, 0});
|
batchInfo.push_back({bme680BSECIaqAcc, BME680_IAQ_ACC_FEED_FORMAT, 0, 0});
|
||||||
}
|
}
|
||||||
|
TeleinfoProcess(batchInfo);
|
||||||
if (mode == BOOTMODE_NORMAL)
|
if (mode == BOOTMODE_NORMAL)
|
||||||
MqttBatchPublish(batchInfo, conf.mqttUser, conf.host);
|
MqttBatchPublish(batchInfo, conf.mqttUser, conf.host);
|
||||||
nbCycle = 0;
|
nbCycle = 0;
|
||||||
}
|
}
|
||||||
TeleinfoProcess();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user