@@ -19330,6 +19330,21 @@ def decode_uplink(self, encoded_data, deveui=None):
1933019330 if res and res .get ('parsed' ):
1933119331 if len (res ['parsed' ]) > 0 :
1933219332 res ['parsed' ]['_driver' ] = drv .name
19333+
19334+ # Inject Manufacturer (Fabricant)
19335+ if manuf :
19336+ res ['parsed' ]['Fabricant' ] = manuf .capitalize ()
19337+ elif 'nexelec' in drv .name .lower ():
19338+ res ['parsed' ]['Fabricant' ] = 'Nexelec'
19339+ elif 'watteco' in drv .name .lower ():
19340+ res ['parsed' ]['Fabricant' ] = 'Watteco'
19341+ elif 'adeunis' in drv .name .lower ():
19342+ res ['parsed' ]['Fabricant' ] = 'Adeunis'
19343+ elif 'dragino' in drv .name .lower ():
19344+ res ['parsed' ]['Fabricant' ] = 'Dragino'
19345+ elif 'milesight' in drv .name .lower ():
19346+ res ['parsed' ]['Fabricant' ] = 'Milesight'
19347+
1933319348 return res ['parsed' ]
1933419349 except Exception : pass
1933519350
@@ -19340,7 +19355,9 @@ def decode_uplink(self, encoded_data, deveui=None):
1934019355 if 'nexelec' in d .name .lower () or 'atmo' in d .name .lower ():
1934119356 try :
1934219357 res = d .parse ({"payload" : raw_payload }, None )
19343- if res and res .get ('parsed' ): return res ['parsed' ]
19358+ if res and res .get ('parsed' ):
19359+ res ['parsed' ]['Fabricant' ] = 'Nexelec'
19360+ return res ['parsed' ]
1934419361 except : pass
1934519362
1934619363 return {"error" : "No driver found" , "raw" : raw_payload , "info" : f"Manuf: { manuf } " }
0 commit comments