Comments (5)
In a3e0439 E've added an option to EnigmaIOTConfig.h to control status sending after data here
from enigmaiot.
if you are going to work with json objects I recommend you
enigmaiot_node_msgpack.ino
that example sends messages as you expect.
you can even send values ββin array (for DHT22 for example).
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
String sensor = String(temperature) + ";" + String (humidity) + ";0"; // dummy data for domoticz
json["idx"] = 5;
json["nvalue"] = 0;
json["svalue"] = sensor;
int len = measureMsgPack (json) + 1;
uint8_t* buffer = (uint8_t*)malloc (len);
len = serializeMsgPack (json, (char*)buffer, len);
Serial.printf ("Message Len %d\n", len);
Serial.printf ("Trying to send: %s\n", printHexBuffer (buffer, len));
// Send buffer data
if (!EnigmaIOTNode.sendData (buffer, len, MSG_PACK)) {
Serial.println ("---- Error sending data");
} else {
Serial.println ("---- Data DHT22 sent");
}
free (buffer);
The channel, type, etc is how CayenneLLP treats the messages, before the msgpack I used the channel as idx in domoticz.
About status messages I'm not sure but I think they can be disabled in
espnow_hall.h
from enigmaiot.
@dgcasana Yes I mentioned that in my post and asked about Cayenne encoding there as well.
Also DHT22 doesn't measure humidity correctly, can be off 3-20%, you should use SHT31, SHT35, SHT85 or BME280 (if you want pressure)
DHT and AHT sensors aren't usable for anything other than temperature. Do not buy them.
& thanks for the status message, I saw it in there but was hoping there was a better setting than commenting out code.
/e actually nvm I don't see where it can actually be disabled just in that file
from enigmaiot.
CayenneLPP to JSON conversion is done by CayenneLPP library so I've attached to its format. You can check an example here https://github.com/ElectronicCats/CayenneLPP/blob/master/examples/Decode/Decode.ino
You can use that and process it after receiving MQTT message.
EnigmaIOTNode example shows how to manage CayenneLPP data.
If you need specific JSON format, then it is better to use MsgPack.
I do not remember if status data can be disabled. Anyway you can subscribe to g/1/data instead g/1/# to get only data messages. I'll check if there is any setting in EnitmaIOTConfig.h to control that feature. I will add it if does not exist.
from enigmaiot.
Actually looks like the channel stuff is some specific design of cayenneLPP, some reason the extra messages are added (idc enough to check why) but it's just extra useless data so I guess I'll have to use msgpack.
from enigmaiot.
Related Issues (20)
- Wrong use of searchForGateway (&rtcmem_data) ? HOT 3
- Support for BMP280 sensor HOT 3
- EnigmaIOT beginner's guide or help sources? HOT 4
- trying to build MQTT-noSSL HOT 1
- Errors when DEBUG enabled HOT 2
- ESP32 WiFi won't connect HOT 1
- GatewayAPI.cpp getNodeInfo() compile error HOT 3
- Bootloop in new nodes HOT 1
- Canβt work with EnigmaIOT HOT 4
- MQTT command line to switch LED off/on HOT 3
- esp8266 do not have enough RAM to run the default examples due to NUM_NODE mostly HOT 2
- Issue building for an esp32 with version 0.9.7 HOT 4
- Node without name HOT 1
- Portal recovery problem
- Instructions from howto.md does not work HOT 1
- Having trouble compiling gateway HOT 1
- FailSafe.h HOT 1
- Notice when a node is connected or disconnected from EnigmaIOT network
- FR: Is there a way to seperate MQTT client from ESP-Now controller? HOT 4
- El Gateway MQTT EnigmaIOT no funciona correctamente. HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from enigmaiot.