@@ -22,13 +22,14 @@ struct EMstruct EMConfig[EM_CUSTOM + 1] = {
2222 {" InvEastrn" , ENDIANESS_HBF_HWF, 4 , MB_DATATYPE_FLOAT32, 0x0 , 0 , 0x6 , 0 , 0x34 , 0 , 0x48 , 0 ,0x4A , 0 }, // Since Eastron SDM series are bidirectional, sometimes they are connected upsidedown, so positive current becomes negative etc.; Eastron SDM630 (V / A / W / kWh) max read count 80
2323 {" ABB" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_INT32, 0x5B00 , 1 , 0x5B0C , 2 , 0x5B14 , 2 , 0x5000 , 2 ,0x5004 , 2 }, // ABB B23 212-100 (0.1V / 0.01A / 0.01W / 0.01kWh) RS485 wiring reversed / max read count 125
2424 {" SolarEdge" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_INT16, 40196 , 0 , 40191 , 0 , 40206 , 0 , 40234 , 3 , 40226 , 3 }, // SolarEdge SunSpec (0.01V (16bit) / 0.1A (16bit) / 1W (16bit) / 1 Wh (32bit))
25- {" WAGO" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_FLOAT32, 0x5002 , 0 , 0x500C , 0 , 0x5012 , -3 , 0x600C , 0 ,0x6018 , 0 }, // WAGO 879-30x0 (V / A / kW / kWh)//TODO maar WAGO heeft ook totaal
25+ {" WAGO" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_FLOAT32, 0x5002 , 0 , 0x500C , 0 , 0x5012 ,-3 , 0x600C , 0 ,0x6018 , 0 }, // WAGO 879-30x0 (V / A / kW / kWh)//TODO maar WAGO heeft ook totaal
2626 {" API" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_FLOAT32, 0x5002 , 0 , 0x500C , 0 , 0x5012 , 3 , 0x6000 , 0 ,0x6018 , 0 }, // WAGO 879-30x0 (V / A / kW / kWh)
2727 {" Eastron1P" , ENDIANESS_HBF_HWF, 4 , MB_DATATYPE_FLOAT32, 0x0 , 0 , 0x6 , 0 , 0x0C , 0 , 0x48 , 0 ,0x4A , 0 }, // Eastron SDM630 (V / A / W / kWh) max read count 80
2828 {" Finder 7M" , ENDIANESS_HBF_HWF, 4 , MB_DATATYPE_FLOAT32, 2500 , 0 , 2516 , 0 , 2536 , 0 , 2638 , 3 , 0 , 0 }, // Finder 7M.38.8.400.0212 (V / A / W / Wh) / Backlight 10173
2929 {" Sinotimer" , ENDIANESS_HBF_HWF, 4 , MB_DATATYPE_INT16, 0x0 , 1 , 0x3 , 2 , 0x8 , 0 , 0x0027 , 2 ,0x0031 , 2 }, // Sinotimer DTS6619 (0.1V (16bit) / 0.01A (16bit) / 1W (16bit) / 1 Wh (32bit))
3030 {" HmWzrd P1" , ENDIANESS_HBF_HWF, 0 , MB_DATATYPE_INT16, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, // Homewizard P1 - network connected
31- {" Unused 2" , ENDIANESS_LBF_LWF, 4 , MB_DATATYPE_INT32, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, // unused slot for future new meters
31+
32+ {" Schneider" , ENDIANESS_HBF_HWF, 3 , MB_DATATYPE_FLOAT32, 0x0BD3 , 0 , 0x0BB7 , 0 , 0x0BF3 ,-3 , 0xB02B , 0 ,0xB02D , 0 }, // Schneider iEM3x5x series (V / A / kW / kWh) iEM3x50 counts only Energy Import, no Export
3233 {" Unused 3" , ENDIANESS_LBF_LWF, 4 , MB_DATATYPE_INT32, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, // unused slot for future new meters
3334 {" Unused 4" , ENDIANESS_LBF_LWF, 4 , MB_DATATYPE_INT32, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }, // unused slot for future new meters
3435 {" Custom" , ENDIANESS_LBF_LWF, 4 , MB_DATATYPE_INT32, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } // Last entry!
@@ -267,6 +268,9 @@ uint8_t Meter::receiveCurrentMeasurement(ModBus MB) {
267268 case EM_FINDER_7M:
268269 offset = 7u ;
269270 break ;
271+ case EM_SCHNEIDER:
272+ offset = 27u ;
273+ break ;
270274 }
271275 if (offset) { // this is one of the meters that has to measure power to determine current direction
272276 PowerMeasured = 0 ; // so we calculate PowerMeasured so we dont have to poll for this again
0 commit comments