Hi forumleden,
Ik heb hulp nodig om de input uit mqtt te integreren en er nuttige informatie van te maken voor mijn smarthome.
Het betreft een rPi4 die mosquitto gebruikt en diverse USB-sticks. 1 daarvan nu op basis van een CH341 chipset leest een modbus kWh-meter uit. Een Eastron SDM220. Het lukte me niet met SDM120C of andere software om output te krijgen uit de meter. Gelukkig was mbmd welwillend. Output o.a. via http-api en mqtt. Hierin zitten de volgende topics uit mqtt die ik wil gebruiken.
De Current (I), voor het aantal amperé. Het aantal volt, (V). Hierdoor kan ik het aantal watt berekenen. Verder het totale verbruik in Sum. Ik heb een 2de hands meter, dus er moet nog wat verbruik afgeteld worden voordat ik dit kan doorzetten.
Output moet naar domoticz.
debug output van NR voor de mqtt info die ik wil gebruiken.
Huidige functie die ik heb geschreven.
Hier wat screenshots om het duidelijk te maken.
NR flow
/f/image/egPs4GVBPgZpStllcc24JRPF.png?f=fotoalbum_large)
NR input
:fill(white):strip_exif()/f/image/YuvC69y2VAmcBgmfavCJa0hL.png?f=user_large)
MQTT explorer overview.
:fill(white):strip_exif()/f/image/RHbvxfeNsamKQEH882tJAM73.png?f=user_large)
NR join
:fill(white):strip_exif()/f/image/VdsIbxaGqWOOp8GMLByDUzK7.png?f=user_large)
Ergens krijg ik het niet voor elkaar om de ruwe data in NR te krijgen zodat ik er mee kan werken. Ik heb al het e.e.a. geprobeerd. Met join, to json en andere manieren om data te formateren, maar ik krijg het niet voor elkaar.
Ik heb hulp nodig om de input uit mqtt te integreren en er nuttige informatie van te maken voor mijn smarthome.
Het betreft een rPi4 die mosquitto gebruikt en diverse USB-sticks. 1 daarvan nu op basis van een CH341 chipset leest een modbus kWh-meter uit. Een Eastron SDM220. Het lukte me niet met SDM120C of andere software om output te krijgen uit de meter. Gelukkig was mbmd welwillend. Output o.a. via http-api en mqtt. Hierin zitten de volgende topics uit mqtt die ik wil gebruiken.
De Current (I), voor het aantal amperé. Het aantal volt, (V). Hierdoor kan ik het aantal watt berekenen. Verder het totale verbruik in Sum. Ik heb een 2de hands meter, dus er moet nog wat verbruik afgeteld worden voordat ik dit kan doorzetten.
Output moet naar domoticz.
debug output van NR voor de mqtt info die ik wil gebruiken.
code:
1
2
3
4
5
6
7
8
9
| 9/22/2024, 3:25:11 PMnode: debug 270 mbmd/sdm2201-1/Voltage : msg.payload : number [b]237.915[/b] 9/22/2024, 3:25:11 PMnode: debug 270 mbmd/sdm2201-1/Current : msg.payload : number [b]2.118[/b] 9/22/2024, 3:25:11 PMnode: debug 270 mbmd/sdm2201-1/Sum : msg.payload : number [b]1562.167[/b] |
Huidige functie die ik heb geschreven.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| var msg1 = {};
var msg2 = {};
var msg3 = {};
var kWh = {};
var watts = {};
const idx = 259;
// geen definities meer hierna.
if (msg.topic === "mbmd/sdm2201-1/Voltage") {
msg1.payload = msg.payload; //.Voltage;
msg1.topic = 'Voltage';
}
if (msg.topic === "mbmd/sdm2201-1/Current") {
msg2.payload = msg.payload; //.Current;
msg2.topic = 'Current';
}
if (msg.topic === "mbmd/sdm2201-1/Sum") {
msg3.payload = msg.payload; //.Sum;
}
// berekenen.
watts = msg2.payload * msg1.payload;
kWh = (msg3.payload - 1216,4) * 1000;
// bericht voorbereiden
msg.topic = "domoticz/in";
msg.payload = { "command": "udevice", "idx": idx, "svalue": watts + ";" + kWh }
return msg;
node.warn("my var kWh = " + kWh);
node.warn("my var watt = " + watts); |
Hier wat screenshots om het duidelijk te maken.
NR flow
/f/image/egPs4GVBPgZpStllcc24JRPF.png?f=fotoalbum_large)
NR input
:fill(white):strip_exif()/f/image/YuvC69y2VAmcBgmfavCJa0hL.png?f=user_large)
MQTT explorer overview.
:fill(white):strip_exif()/f/image/RHbvxfeNsamKQEH882tJAM73.png?f=user_large)
NR join
:fill(white):strip_exif()/f/image/VdsIbxaGqWOOp8GMLByDUzK7.png?f=user_large)
Ergens krijg ik het niet voor elkaar om de ruwe data in NR te krijgen zodat ik er mee kan werken. Ik heb al het e.e.a. geprobeerd. Met join, to json en andere manieren om data te formateren, maar ik krijg het niet voor elkaar.
pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem